9d2cf4593162cedbaa96f1e18c02c096bfd27133
[gcc.git] / gcc / ChangeLog
1 2011-01-31 Joseph Myers <joseph@codesourcery.com>
2
3 * config/alpha/osf5.opt: New.
4 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
5
6 2011-01-31 Joseph Myers <joseph@codesourcery.com>
7
8 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
9
10 2011-01-31 Sebastian Pop <sebastian.pop@amd.com>
11
12 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
13 -floop-interchange.
14 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
15 is an alias of -floop-interchange and that it requires the
16 Graphite infrastructure.
17 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
18 flag_loop_interchange based on the value of flag_tree_loop_linear.
19
20 2011-01-31 Jakub Jelinek <jakub@redhat.com>
21 Richard Guenther <rguenther@suse.de>
22
23 PR tree-optimization/47538
24 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
25 type instead of r1type, except for comparisons. For right
26 shifts and comparisons punt if there are mismatches in
27 sizetype vs. non-sizetype types.
28
29 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30
31 * doc/sourcebuild.texi (Effective-Target Keywords): Document
32 avx_runtime.
33
34 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35
36 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
37 version number.
38 * configure: Regenerate.
39
40 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
41
42 * configure.ac (gcc_cv_ld_static_option): Define.
43 (gcc_cv_ld_dynamic_option): Define.
44 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
45 instead.
46 (HAVE_LD_STATIC_DYNAMIC): Update message.
47 (LD_STATIC_OPTION): Define.
48 (LD_DYNAMIC_OPTION): Define.
49 * configure: Regenerate.
50 * config.in: Regenerate.
51 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
52 HAVE_LD_STATIC_DYNAMIC]: Use them.
53
54 2011-01-31 Nick Clifton <nickc@redhat.com>
55
56 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
57 registers inside interrupt handlers if the handler is not a leaf
58 function.
59
60 2011-01-31 Nick Clifton <nickc@redhat.com>
61
62 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
63 reg_renumber returning an INVALID_REGNUM.
64
65 2011-01-31 Alexandre Oliva <aoliva@redhat.com>
66
67 PR libgcj/44341
68 * doc/install.texi: Document host options discarded when cross
69 configuring target libraries.
70
71 2011-01-31 Alexandre Oliva <aoliva@redhat.com>
72
73 Reverted:
74 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
75 PR debug/45136
76 PR debug/45130
77 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
78 debug insns.
79 (no_real_insns_p, schedule_block, set_priorities): Drop special
80 treatment of boundary debug insns.
81 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
82 insns.
83 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
84 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
85 (BOUNDARY_DEBUG_INSN_P): Likewise.
86 (SCHEDULE_DEBUG_INSN_P): Likewise.
87 * sched-rgn.c (init_ready_list): Drop special treatment of
88 boundary debug insns.
89 * final.c (rest_of_clean-state): Clear notes' BB.
90
91 2011-01-31 Alan Modra <amodra@gmail.com>
92
93 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
94 toc relative expressions as we do in print_operand_address.
95
96 2011-01-30 Kazu Hirata <kazu@codesourcery.com>
97
98 * doc/extend.texi: Follow spelling conventions.
99 * doc/invoke.texi: Fix a typo.
100
101 2011-01-30 Joseph Myers <joseph@codesourcery.com>
102
103 * config/hpux11.opt: New.
104 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
105 ia64*-*-hpux*): Use hpux11.opt.
106
107 2011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
108
109 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
110 to tmake_file.
111
112 2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
113
114 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
115 support sites.
116
117 2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
118
119 * doc/install.texi (Binaries): Remove outdated reference for
120 Motorola 68HC11/68HC12 downloads.
121
122 2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
123
124 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
125 Drepper's paper.
126
127 2011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
128
129 PR bootstrap/47147
130 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
131 used by NetBSD.
132
133 2011-01-28 Ahmad Sharif <asharif@google.com>
134
135 * value-prof.c (check_counter): Corrected error message.
136
137 2011-01-29 Jie Zhang <jie@codesourcery.com>
138
139 * config/arm/arm.c (arm_legitimize_reload_address): New.
140 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
141 arm_legitimize_reload_address.
142 * config/arm/arm-protos.h (arm_legitimize_reload_address):
143 Declare.
144
145 2011-01-28 Ian Lance Taylor <iant@google.com>
146
147 * godump.c (go_define): Ignore macros whose definitions include
148 two adjacent operands.
149
150 2011-01-28 Jakub Jelinek <jakub@redhat.com>
151
152 PR target/42894
153 * varasm.c (force_const_mem): Store copy of x in desc->constant
154 instead of x itself.
155 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
156 itself into REG_EQUAL note.
157
158 2011-01-28 Joseph Myers <joseph@codesourcery.com>
159
160 * config/freebsd.opt (posix, rdynamic): New Driver options.
161
162 2011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
163
164 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
165 -Bstatic/-Bdynamic.
166 * configure: Regenerate.
167
168 2011-01-27 Joseph Myers <joseph@codesourcery.com>
169
170 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
171 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
172
173 2011-01-27 Anatoly Sokolov <aesok@post.ru>
174
175 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
176 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
177 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
178 (s390_preferred_reload_class): Make static. Change return and
179 'rclass' argument type to reg_class_t.
180
181 2011-01-27 Jan Hubicka <jh@suse.cz>
182
183 PR middle-end/46949
184 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
185 (process_function_and_variable_attributes): Check defined weakrefs.
186
187 2011-01-27 Martin Jambor <mjambor@suse.cz>
188
189 PR tree-optimization/47228
190 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
191 build_ref_for_offset.
192
193 2011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
194
195 * config/spu/spu-elf.h (ASM_SPEC): Remove.
196
197 2011-01-26 Mikael Pettersson <mikpe@it.uu.se>
198
199 PR rtl-optimization/46856
200 * postreload.c (reload_combine_recognize_const_pattern): Do not
201 separate cc0 setter and user on cc0 targets.
202
203 2011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
204
205 PR c/43082
206 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
207 passed a VOID_TYPE expression, immediately emit an error and
208 return error_mark_node.
209
210 2011-01-26 Jeff Law <law@redhat.com>
211
212 PR rtl-optimization/47464
213 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
214 rather than may_trap_p as needed.
215
216 2011-01-26 DJ Delorie <dj@redhat.com>
217
218 PR rtl-optimization/46878
219 * combine.c (insn_a_feeds_b): Check for the implicit cc0
220 setter/user dependency as well.
221
222 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
223
224 PR rtl-optimization/44469
225 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
226 after removing trivially dead basic blocks.
227
228 2011-01-26 Joseph Myers <joseph@codesourcery.com>
229
230 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
231 * config/frv/frv.h (LINK_SPEC): Likewise.
232 * config/i386/netware.h (LINK_SPEC): Likewise.
233 * config/m68k/linux.h (ASM_SPEC): Likewise.
234 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
235 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
236 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
237 * config/sparc/linux.h (ASM_SPEC): Likewise.
238 * config/sparc/linux64.h (ASM_SPEC): Likewise.
239 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
240
241 2011-01-26 Joseph Myers <joseph@codesourcery.com>
242
243 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
244 * config/frv/frv.h (ASM_SPEC): Likewise.
245 * config/m68k/linux.h (ASM_SPEC): Likewise.
246 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
247 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
248 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
249 * config/sparc/linux.h (ASM_SPEC): Likewise.
250 * config/sparc/linux64.h (ASM_SPEC): Likewise.
251 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
252
253 2011-01-26 Joseph Myers <joseph@codesourcery.com>
254
255 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
256 * config/frv/frv.h (LINK_SPEC): Likewise.
257 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
258
259 2011-01-26 Joseph Myers <joseph@codesourcery.com>
260
261 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
262 * config/frv/frv.h (ASM_SPEC): Likewise.
263 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
264 * config/m68k/linux.h (ASM_SPEC): Likewise.
265 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
266 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
267 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
268 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
269 * config/sparc/linux.h (ASM_SPEC): Likewise.
270 * config/sparc/linux64.h (ASM_SPEC): Likewise.
271 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
272 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
273
274 2011-01-26 Steve Ellcey <sje@cup.hp.com>
275
276 PR target/46997
277 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
278 (*mux2): Ditto.
279 (vec_extract_evenodd_help): Ditto.
280 (vec_extract_evenv4hi): Ditto.
281 (vec_extract_oddv4hi): Ditto.
282 (vec_interleave_lowv2si): Ditto.
283 (vec_interleave_highv2si): Ditto.
284 (vec_extract_evenv2si): Ditto.
285 (vec_extract_oddv2si: Ditto.
286 (vec_pack_trunc_v2si): Ditto.
287
288 2011-01-22 Jan Hubicka <jh@suse.cz>
289
290 PR target/47237
291 * cgraph.h (cgraph_local_info): New field can_change_signature.
292 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
293 signature can change.
294 (ipcp_estimate_growth): Call sequence simplify only if calle signature
295 can change.
296 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
297 (cgraph_function_versioning): We can not change signature of functions
298 that don't allow that.
299 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
300 (lto_input_node): Likewise.
301 * ipa-inline.c (compute_inline_parameters): Compute local.can_change_signature.
302 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
303 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on functions
304 that can not change signature.
305 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
306 init_cumulative_args): Do not use local calling conventions for functions
307 that can not change signature.
308
309 2011-01-22 Jan Hubicka <jh@suse.cz>
310
311 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
312
313 2011-01-26 Richard Guenther <rguenther@suse.de>
314
315 PR tree-optimization/47190
316 * cgraphunit.c (process_common_attributes): New function.
317 (process_function_and_variable_attributes): Use it.
318
319 2011-01-26 Richard Guenther <rguenther@suse.de>
320
321 PR lto/47423
322 * cgraphbuild.c (record_eh_tables): Record reference to personality
323 function.
324
325 2011-01-26 Alexandre Oliva <aoliva@redhat.com>
326
327 PR debug/45454
328 * sel-sched.c (moveup_expr): Don't let debug insns prevent
329 non-debug insns from moving up.
330
331 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
332
333 PR target/40125
334 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
335 t-dlldir{,-x} fragment for build and add it to tmake_file.
336 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
337 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
338 * config/i386/t-dlldir: New file.
339 (SHLIB_DLLDIR): Define.
340 * config/i386/t-dlldir-x: New file.
341 (SHLIB_DLLDIR): Define.
342 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
343 (SHLIB_INSTALL): Use it.
344
345 2011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
346
347 PR target/47246
348 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
349 lower bound of the allowed Thumb-2 coprocessor load/store
350 index range to -256. Add explaining comment.
351
352 2011-01-25 Ian Lance Taylor <iant@google.com>
353
354 * godump.c (go_define): Improve lexing of macro expansion to only
355 accept expressions which match Go spec.
356
357 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
358
359 PR c++/43601
360 * tree.c (handle_dll_attribute): Handle it.
361 * doc/extend.texi (@item dllexport): Mention it.
362 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
363
364 2011-01-25 Ian Lance Taylor <iant@google.com>
365
366 PR tree-optimization/26854
367 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
368 (decl_jump_unsafe): Move higher in file, with no other change.
369 (bind): Set has_jump_unsafe_decl if appropriate.
370 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
371 (check_earlier_gotos): Likewise.
372 (c_check_switch_jump_warnings): Likewise.
373
374 2011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
375
376 * doc/invoke.texi (Warning Options): Add missing hyphen.
377 (-fprofile-dir): Minor grammatical fixes.
378 (-fbranch-probabilities): Likewise.
379
380 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
381
382 PR debug/45136
383 PR debug/45130
384 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
385 debug insns.
386 (no_real_insns_p, schedule_block, set_priorities): Drop special
387 treatment of boundary debug insns.
388 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
389 insns.
390 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
391 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
392 (BOUNDARY_DEBUG_INSN_P): Likewise.
393 (SCHEDULE_DEBUG_INSN_P): Likewise.
394 * sched-rgn.c (init_ready_list): Drop special treatment of
395 boundary debug insns.
396 * final.c (rest_of_clean-state): Clear notes' BB.
397
398 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
399
400 * Makefile.in (LAMBDA_H): Removed.
401 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
402 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
403 lambda-trans.o, and tree-loop-linear.o.
404 (lto-symtab.o): Remove dependence on LAMBDA_H.
405 (tree-loop-linear.o): Remove rule.
406 (lambda-mat.o): Same.
407 (lambda-trans.o): Same.
408 (lambda-code.o): Same.
409 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
410 (tree-vect-slp.o): Same.
411 * hwint.h (gcd): Moved here.
412 (least_common_multiple): Same.
413 * lambda-code.c: Removed.
414 * lambda-mat.c: Removed.
415 * lambda-trans.c: Removed.
416 * lambda.h: Removed.
417 * tree-loop-linear.c: Removed.
418 * lto-symtab.c: Do not include lambda.h.
419 * omega.c (gcd): Removed.
420 * passes.c (init_optimization_passes): Remove pass_linear_transform.
421 * tree-data-ref.c (print_lambda_vector): Moved here.
422 (lambda_vector_copy): Same.
423 (lambda_matrix_copy): Same.
424 (lambda_matrix_id): Same.
425 (lambda_vector_first_nz): Same.
426 (lambda_matrix_row_add): Same.
427 (lambda_matrix_row_exchange): Same.
428 (lambda_vector_mult_const): Same.
429 (lambda_vector_negate): Same.
430 (lambda_matrix_row_negate): Same.
431 (lambda_vector_equal): Same.
432 (lambda_matrix_right_hermite): Same.
433 * tree-data-ref.h: Do not include lambda.h.
434 (lambda_vector): Moved here.
435 (lambda_matrix): Same.
436 (dependence_level): Same.
437 (lambda_transform_legal_p): Removed declaration.
438 (lambda_collect_parameters): Same.
439 (lambda_compute_access_matrices): Same.
440 (lambda_vector_gcd): Same.
441 (lambda_vector_new): Same.
442 (lambda_vector_clear): Same.
443 (lambda_vector_lexico_pos): Same.
444 (lambda_vector_zerop): Same.
445 (lambda_matrix_new): Same.
446 * tree-flow.h (least_common_multiple): Removed declaration.
447 * tree-parloops.c (lambda_trans_matrix): Moved here.
448 (LTM_MATRIX): Same.
449 (LTM_ROWSIZE): Same.
450 (LTM_COLSIZE): Same.
451 (LTM_DENOMINATOR): Same.
452 (lambda_trans_matrix_new): Same.
453 (lambda_matrix_vector_mult): Same.
454 (lambda_transform_legal_p): Same.
455 * tree-pass.h (pass_linear_transform): Removed declaration.
456 * tree-ssa-loop.c (tree_linear_transform): Removed.
457 (gate_tree_linear_transform): Removed.
458 (pass_linear_transform): Removed.
459 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
460 flag_loop_interchange.
461
462 2011-01-25 Jakub Jelinek <jakub@redhat.com>
463
464 PR tree-optimization/47265
465 PR tree-optimization/47443
466 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
467 if name still has some uses.
468
469 2011-01-25 Martin Jambor <mjambor@suse.cz>
470
471 PR tree-optimization/47382
472 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
473 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
474
475 2011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
476
477 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
478 sjlj_except_unwind_info.
479
480 2011-01-25 Richard Guenther <rguenther@suse.de>
481
482 PR tree-optimization/47426
483 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
484 visible functions results escape.
485
486 2011-01-25 Jakub Jelinek <jakub@redhat.com>
487
488 PR target/45701
489 * config/arm/arm.c (any_sibcall_uses_r3): New function.
490 (arm_get_frame_offsets): Use it.
491
492 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
493 Jakub Jelinek <jakub@redhat.com>
494
495 PR tree-optimization/47271
496 * tree-if-conv.c (bb_postdominates_preds): New.
497 (if_convertible_bb_p): Call bb_postdominates_preds.
498 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
499 (predicate_scalar_phi): Call bb_postdominates_preds.
500
501 2011-01-25 Nick Clifton <nickc@redhat.com>
502
503 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
504 * config/rx/rx.c (rx_function_value): Likewise.
505 (rx_promote_function_mode): Likewise.
506 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
507 in order to make it legitimate.
508 * config/rx/rx.md (adddi3_internal): If the second operand is a
509 MEM make sure that the first operand is the same as the result
510 register.
511 (addsi3_unspec): Delete.
512 (subdi3): Do not accept immediate operands.
513 (subdi3_internal): Likewise.
514
515 2011-01-25 Jeff Law <law@redhat.com>
516
517 PR rtl-optimization/37273
518 * ira-costs.c (scan_one_insn): Detect constants living in memory and
519 handle them like argument loads from stack slots. Do not double
520 count memory for memory constants and argument loads from stack slots.
521
522 2011-01-25 Jakub Jelinek <jakub@redhat.com>
523
524 PR tree-optimization/47427
525 PR tree-optimization/47428
526 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
527 coalesce if the new root var would be TREE_READONLY.
528
529 2011-01-25 Richard Guenther <rguenther@suse.de>
530
531 PR middle-end/47414
532 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
533 correct type for TBAA.
534
535 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
536
537 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
538 (close_phi_written_to_memory): Call for_each_index with
539 dr_indices_valid_in_loop.
540
541 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
542
543 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
544 when it is initialized.
545
546 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
547
548 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
549 call to graphite_find_data_references_in_stmt.
550 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
551 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
552 call to graphite_find_data_references_in_stmt.
553 (analyze_drs_in_stmts): Same.
554 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
555 in which the scalar analysis of indices is performed.
556 (create_data_ref): Same. Update call to dr_analyze_indices.
557 (find_data_references_in_stmt): Update call to create_data_ref.
558 (graphite_find_data_references_in_stmt): Same.
559 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
560 declaration.
561 (create_data_ref): Same.
562 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
563 call to create_data_ref.
564
565 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
566
567 * graphite-sese-to-poly.c (build_poly_scop): Move
568 rewrite_commutative_reductions_out_of_ssa before
569 find_scop_parameters.
570
571 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
572
573 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
574 VAR_DECL, PARM_DECL, and RESULT_DECL.
575
576 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
577
578 * graphite-dependences.c (reduction_dr_1): Allow several reductions
579 in a reduction PBB.
580 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
581 that have already been marked as PBB_IS_REDUCTION.
582
583 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
584
585 * graphite-scop-detection.c (same_close_phi_node): New.
586 (remove_duplicate_close_phi): New.
587 (make_close_phi_nodes_unique): New.
588 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
589
590 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
591
592 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
593 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
594 of both data references to be the same.
595
596 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
597
598 * graphite-dependences.c (build_lexicographical_constraint): Remove the
599 gdim parameter.
600 (build_lexicographical_constraint): Adjust call to ppl_powerset_is_empty.
601 (dependence_polyhedron): Same.
602 (graphite_legal_transform_dr): Same.
603 (graphite_carried_dependence_level_k): Same.
604 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params parameter.
605 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
606
607 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
608
609 * graphite-sese-to-poly.c
610 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
611 (close_phi_written_to_memory): New.
612 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
613 and unshare_expr.
614
615 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
616
617 * doc/install.texi: Update the expected version number of PPL to 0.11.
618 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
619 #if PPL_VERSION_MINOR < 11.
620
621 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
622
623 * graphite-dependences.c: Include graphite-cloog-util.h.
624 (new_poly_ddr): Inlined into dependence_polyhedron.
625 (free_poly_ddr): Moved close by new_poly_ddr.
626 (dependence_polyhedron_1): Renamed dependence_polyhedron.
627 Early return NULL when ppl_powerset_is_empty returns true.
628 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
629 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
630 (graphite_legal_transform_dr): Call new_poly_ddr.
631 (graphite_carried_dependence_level_k): Same.
632 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
633 (dot_transformed_deps_stmt_1): Removed.
634 (dot_deps_stmt_1): Call dot_deps_stmt_2.
635 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
636 (dot_deps_1): Call dot_deps_2.
637 * Makefile.in (graphite-dependences.o): Add missing dependence on
638 graphite-cloog-util.h.
639
640 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
641
642 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
643 (build_lexicographical_constraint): Same.
644 (dependence_polyhedron_1): Same.
645 (graphite_legal_transform_dr): Same.
646 (graphite_carried_dependence_level_k): Same.
647 * graphite-ppl.c (ppl_powerset_is_empty): New.
648 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
649 * tree-data-ref.c (dump_data_reference): Print the basic block index.
650
651 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
652
653 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
654 the "a followed by b" relation and document it.
655
656 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
657
658 * graphite-dependences.c (build_lexicographical_constraint): Stop the
659 iteration when the bag of constraints is empty.
660
661 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
662
663 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
664
665 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
666
667 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
668 nest and two loop depths as parameters.
669 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
670 lst_perfect_nestify.
671
672 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
673
674 * graphite-dependences.c (print_pddr): Call
675 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
676
677 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
678
679 * graphite-ppl.c (debug_gmp_value): New.
680 * graphite-ppl.h (debug_gmp_value): Declared.
681
682 2011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
683
684 * doc/install.texi: Document availability of cloog-0.16.
685
686 2011-01-25 Vladimir Kargov <kargov@gmail.com>
687
688 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
689 invalid postdominance info.
690
691 2011-01-24 Jan Hubicka <jh@suse.cz>
692
693 PR c/21659
694 * doc/extend.texi (weak pragma): Drop claim that it must
695 appear before definition.
696 * varasm.c (merge_weak, declare_weak): Only sanity check
697 that DECL is not output at a time it is declared weak.
698
699 2011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
700
701 * machmode.def: Fixed comments.
702
703 2011-01-24 Kai Tietz <kai.tietz@onevision.com>
704
705 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
706
707 2011-01-24 Paul Koning <ni1d@arrl.net>
708
709 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
710 WORDS_BIG_ENDIAN.
711
712 2011-01-24 H.J. Lu <hongjiu.lu@intel.com>
713
714 PR target/46519
715 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
716 (block_info): Add scanned and prev.
717 (move_or_delete_vzeroupper_2): Return if the basic block
718 has been scanned and the upper 128bit state is unchanged
719 from the last scan.
720 (move_or_delete_vzeroupper_1): Return true if the exit
721 state is changed.
722 (move_or_delete_vzeroupper): Visit basic blocks using the
723 work-list based algorithm based on vt_find_locations in
724 var-tracking.c.
725
726 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
727
728 2011-01-24 Nick Clifton <nickc@redhat.com>
729
730 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
731 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
732 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
733 then define __v850e1__.
734 * doc/invoke.texi: Document -mv850es.
735
736 2011-01-24 Richard Henderson <rth@redhat.com>
737
738 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
739 compound unordered comparisons.
740 * config/rx/rx.c (rx_split_fp_compare): Remove.
741 * config/rx/rx-protos.h: Update.
742 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
743 (cbranchsf4): Don't call rx_split_fp_compare.
744 (*cbranchsf4): Use rx_split_cbranch.
745 (*cmpsf): Don't accept "i" constraint.
746 (*conditional_branch): Only valid after reload.
747 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
748
749 2011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
750
751 PR target/47385
752 * config/rs6000/altivec.md (vector constant splitters): Add
753 support for creating vector single precision constants if -mvsx is
754 used and we would create the constant using Altivec primitives.
755
756 2011-01-23 Bernd Schmidt <bernds@codesourcery.com>
757 Richard Sandiford <rdsandiford@googlemail.com>
758
759 PR rtl-optimization/47166
760 * reload1.c (emit_reload_insns): Disable the spill_reg_store
761 mechanism for PRE_MODIFY and POST_MODIFY.
762 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
763 reloadreg.
764
765 2011-01-23 Andreas Schwab <schwab@linux-m68k.org>
766
767 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
768
769 2011-01-22 Jan Hubicka <jh@suse.cz>
770
771 PR lto/47333
772 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
773
774 2011-01-22 Jan Hubicka <jh@suse.cz>
775
776 PR tree-optimization/43884
777 PR lto/44334
778 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
779 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
780
781 2011-01-22 Anatoly Sokolov <aesok@post.ru>
782
783 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
784 * config/s390/s390.c (s390_register_move_cost,
785 s390_memory_move_cost): New.
786 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
787
788 2011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
789
790 PR middle-end/47401
791 * except.c (sjlj_assign_call_site_values): Move setting the
792 crtl->uses_eh_lsda flag to ...
793 (sjlj_mark_call_sites): ... here.
794 (sjlj_emit_function_enter): Support NULL dispatch label.
795 (sjlj_build_landing_pads): In a function with no landing pads
796 that still has must-not-throw regions, generate code to register
797 a personality function with empty LSDA.
798
799 2011-01-21 Richard Henderson <rth@redhat.com>
800
801 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
802
803 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
804
805 * compare-elim.c: New file.
806 * Makefile.in (OBJS-common): Add it.
807 (compare-elim.o): New.
808 * common.opt (fcompare-elim): New.
809 * opts.c (default_options_table): Add OPT_fcompare_elim.
810 * tree-pass.h (pass_compare_elim_after_reload): New.
811 * passes.c (init_optimization_passes): Add it.
812 * recog.h: Protect against re-inclusion.
813 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
814 * doc/invoke.texi (-fcompare-elim): Document it.
815 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
816 * doc/tm.texi: Rebuild.
817
818 2011-01-22 Nick Clifton <nickc@redhat.com>
819
820 * config/rx/rx.md (cstoresf4): Pass comparison operator to
821 rx_split_fp_compare.
822
823 2011-01-22 Nick Clifton <nickc@redhat.com>
824
825 * config/rx/rx.md (UNSPEC_CONST): New.
826 (deallocate_and_return): Wrap the amount popped off the stack in
827 an UNSPEC_CONST in order to stop it being rejected by
828 -mmax-constant-size.
829 (pop_and_return): Add a "(return)" rtx.
830 (call): Drop the immediate operand.
831 (call_internal): Likewise.
832 (call_value): Likewise.
833 (call_value_internal): Likewise.
834 (sibcall_internal): Likewise.
835 (sibcall_value_internal): Likewise.
836 (sibcall): Likewise. Generate an explicit call using
837 sibcall_internal.
838 (sibcall_value): Likewise.
839 (mov<>): FAIL if a constant operand is not legitimate.
840 (addsi3_unpsec): New pattern.
841
842 * config/rx/rx.c (rx_print_operand_address): Handle UNPSEC
843 CONSTs.
844 (ok_for_max_constant): New function.
845 (gen_safe_add): New function.
846 (rx_expand_prologue): Use gen_safe_add.
847 (rx_expand_epilogue): Likewise.
848 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
849 UNSPEC CONSTs.
850
851 2011-01-21 Jeff Law <law@redhat.com>
852
853 PR tree-optimization/47053
854 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
855 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
856 statements are deleted.
857 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
858 is nonempty, then purge dead edges and cleanup the CFG.
859
860 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
861
862 PR debug/47402
863 Temporarily revert:
864 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
865 PR debug/47106
866 * tree-dfa.c (create_var_ann): Mark variable as used.
867
868 2011-01-21 Jakub Jelinek <jakub@redhat.com>
869
870 PR middle-end/45566
871 * except.c (convert_to_eh_region_ranges): Emit queued no-region
872 notes from other section in hot/cold partitioning even if
873 last_action is -3. Increment call_site_base.
874
875 PR rtl-optimization/47366
876 * fwprop.c (forward_propagate_into): Return bool. If
877 any changes are made, -fnon-call-exceptions is used and
878 REG_EH_REGION note is present, call purge_dead_edges
879 and return true if it purged anything.
880 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
881 any EH edges were purged.
882
883 2011-01-21 Jeff Law <law@redhat.com>
884
885 PR rtl-optimization/41619
886 * caller-save.c (setup_save_areas): Break out code to determine
887 which hard regs are live across calls by examining the reload chains
888 so that it is always used.
889 Eliminate code which checked REG_N_CALLS_CROSSED.
890
891 2011-01-21 Jakub Jelinek <jakub@redhat.com>
892
893 PR tree-optimization/47355
894 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
895 NOP has non-debug uses beyond PHIs in new_bb.
896
897 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
898
899 PR debug/47106
900 * cfgexpand.c (account_used_vars_for_block): Only account vars
901 that are annotated as used.
902 (estimated_stack_frame_size): Don't set TREE_USED.
903 * tree-dfa.c (create_var_ann): Mark variable as used.
904
905 2011-01-21 Richard Guenther <rguenther@suse.de>
906
907 PR middle-end/47395
908 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
909
910 2011-01-21 Richard Guenther <rguenther@suse.de>
911
912 PR tree-optimization/47365
913 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
914 (vn_reference_lookup_pieces): Adjust.
915 (vn_reference_lookup): Likewise.
916 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
917 (vn_reference_lookup_3): Only look through kills if in
918 VN_WALKREWRITE mode.
919 (vn_reference_lookup_pieces): Adjust.
920 (vn_reference_lookup): Likewise.
921 (visit_reference_op_load): Likewise.
922 (visit_reference_op_store): Likewise.
923 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
924 (compute_avail): Likewise.
925 (eliminate): Likewise.
926
927 2011-01-21 Jakub Jelinek <jakub@redhat.com>
928
929 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
930 DECL_IGNORED_P non-reg vars if they are used.
931
932 PR tree-optimization/47391
933 * varpool.c (const_value_known_p): Return false if
934 decl is volatile.
935
936 2011-01-21 Kai Tietz <kai.tietz@onevision.com>
937
938 PR bootstrap/47215
939 * config/i386/i386.c (ix86_local_alignment): Handle
940 case for va_list_type_node is nil.
941 (ix86_canonical_va_list_type): Likewise.
942
943 2011-01-21 Alan Modra <amodra@gmail.com>
944
945 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
946 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
947
948 2011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
949
950 * config/arm/arm.md (define_attr type): Rename f_load
951 and f_store to f_fpa_load and f_fpa_store. Update.
952 (write_conflict): Deal with rename fallout.
953 (*push_fp_multi): Likewise.
954 * config/arm/fpa.md (f_load): Use f_fpa_load.
955 (f_store): Use f_fpa_store.
956 (*movsf_fpa): Likewise.
957 (*movdf_fpa): Likewise.
958 (*movxf_fpa): Likewise.
959 (*thumb2_movsf_fpa): Likewise.
960 (*thumb2_movdf_fpa): Likewise.
961 (*thumb2_movxf_fpa): Likewise.
962 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
963 f_loadd and f_stored.
964 (*thumb2_movdi_vfp): Likewise.
965 (*thumb2_movsf_vfp): Fix attribute to f_loads.
966 (*thumb2_movsi_vfp): Likewise.
967 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
968 Use f_loads instead of f_load.
969 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
970
971 2011-01-20 Anatoly Sokolov <aesok@post.ru>
972
973 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
974 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
975 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
976 (xtensa_mode_dependent_address_p): New function.
977 (constantpool_address_p): Make static. Change return type to bool.
978 Change argument type to const_rtx. Use CONST_INT_P predicate.
979
980 2011-01-20 Alexandre Oliva <aoliva@redhat.com>
981
982 PR debug/46583
983 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
984
985 2011-01-20 Jakub Jelinek <jakub@redhat.com>
986
987 PR debug/47283
988 * cfgexpand.c (expand_debug_expr): Instead of generating
989 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
990 etc. handling.
991
992 2011-01-20 Richard Guenther <rguenther@suse.de>
993
994 PR middle-end/47370
995 * tree-inline.c (remap_gimple_op_r): Recurse manually for
996 the pointer operand of MEM_REFs.
997
998 2011-01-20 Jakub Jelinek <jakub@redhat.com>
999
1000 PR tree-optimization/46130
1001 * ipa-split.c (consider_split): If return_bb contains non-virtual
1002 PHIs other than for retval or if split_function would not adjust it,
1003 refuse to split.
1004
1005 2011-01-20 Richard Guenther <rguenther@suse.de>
1006
1007 PR tree-optimization/47167
1008 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
1009 Revert previous change, only avoid enumeral type changes.
1010
1011 2011-01-19 Mike Stump <mikestump@comcast.net>
1012
1013 * doc/tm.texi.in (BRANCH_COST): Englishify.
1014 * doc/tm.texi (BRANCH_COST): Likewise.
1015
1016 2011-01-19 Dodji Seketeli <dodji@redhat.com>
1017
1018 PR c++/47291
1019 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
1020 (gen_scheduled_generic_parms_dies): New functions.
1021 (gen_struct_or_union_type_die): Schedule template parameters DIEs
1022 generation for the end of CU compilation.
1023 (dwarf2out_finish): Generate template parameters DIEs here.
1024
1025 2011-01-19 Alexandre Oliva <aoliva@redhat.com>
1026
1027 PR debug/46240
1028 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
1029 debug bind stmt on merge edges.
1030
1031 2011-01-19 Alexandre Oliva <aoliva@redhat.com>
1032
1033 PR debug/47079
1034 PR debug/46724
1035 * function.c (instantiate_expr): Instantiate incoming rtl of
1036 implicit arguments, and recurse on VALUE_EXPRs.
1037 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
1038 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
1039
1040 2011-01-19 Alexandre Oliva <aoliva@redhat.com>
1041
1042 * c-parser.c (c_parser_for_statement): Initialize
1043 collection_expression.
1044
1045 2011-01-19 Joseph Myers <joseph@codesourcery.com>
1046
1047 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
1048
1049 2011-01-19 Joseph Myers <joseph@codesourcery.com>
1050
1051 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
1052 (LINK_SHLIB_SPEC): Don't use %(link_path).
1053 (SUBTARGET_EXTRA_SPECS): Remove link_path.
1054
1055 2011-01-19 Joseph Myers <joseph@codesourcery.com>
1056
1057 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
1058 (NO_SHARED_LIB_SUPPORT): Remove.
1059 (LINK_SHLIB_SPEC): Remove one conditional definition.
1060
1061 2011-01-19 Joseph Myers <joseph@codesourcery.com>
1062
1063 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
1064 %{call_shared}.
1065 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
1066 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
1067 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
1068 %{call_shared} and conditionals on these options not being passed.
1069 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
1070 %{call_shared}.
1071
1072 2011-01-19 Jakub Jelinek <jakub@redhat.com>
1073
1074 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
1075 simplify.
1076
1077 * ipa-split.c: Spelling fixes.
1078
1079 2011-01-19 Richard Henderson <rth@redhat.com>
1080
1081 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
1082 (*mulsi3): Likewise.
1083
1084 * longlong.h [__mn10300__] (count_leading_zeros): New.
1085 [__mn10300__] (umul_ppmm, smul_ppmm): New.
1086 [__mn10300__] (add_ssaaaa, subddmmss): New.
1087 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
1088 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
1089
1090 2011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1091
1092 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
1093
1094 2011-01-19 Richard Henderson <rth@redhat.com>
1095
1096 * config/mn10300/mn10300.md (addsi3_flags): New.
1097 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
1098 (subsi3_flags, subc_internal, subdi3): New.
1099 (subdi3_internal, *subdi3_degenerate): New.
1100 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
1101
1102 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
1103 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
1104 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
1105 * config/mn10300/mn10300-protos.h: Update.
1106 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
1107 (return_ret): Likewise. Rename from return_internal_regs.
1108 (return_internal): Remove.
1109
1110 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
1111 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
1112 (mn10300_legitimate_constant_p): Likewise.
1113 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
1114 (mn10300_frame_size): New.
1115 (mn10300_expand_prologue): Use it.
1116 (mn10300_expand_epilogue): Likewise.
1117 (mn10300_initial_offset): Likewise.
1118 * config/mn10300/mn10300-protos.h: Update.
1119 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
1120 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
1121 (prologue, epilogue, return_internal): Tidy output code.
1122 (mn10300_store_multiple_operation, return): Likewise.
1123 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
1124 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
1125 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
1126 (load_pic, am33_load_pic): New.
1127 (mn10300_load_pic0, mn10300_load_pic1): New.
1128
1129 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
1130 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
1131 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
1132 (cc_flags_for_mode, cc_flags_for_code): New.
1133 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
1134 overflow flag is not valid. Validate that the flags we need
1135 for the comparison are valid.
1136 (mn10300_output_cmp): Remove.
1137 (mn10300_output_add): New.
1138 (mn10300_select_cc_mode): Use cc_flags_for_code.
1139 (mn10300_split_cbranch): New.
1140 (mn10300_match_ccmode): New.
1141 (mn10300_split_and_operand_count): New.
1142 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
1143 to the function.
1144 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
1145 (addsi3): ... here. Use mn10300_output_add.
1146 (*addsi3_flags): New.
1147 (*am33_subsi3, *mn10300_subsi3): Merge...
1148 (subsi3): ... here. Use attribute isa.
1149 (*subsi3_flags): New.
1150 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
1151 when possible.
1152 (*am33_andsi3, *mn10300_andsi3): Merge...
1153 (andsi3): ... here.
1154 (*andsi3_flags): New.
1155 (andsi3 splitters): New.
1156 (*am33_iorsi3, *mn10300_iorsi3): Merge...
1157 (iorsi3): ... here.
1158 (*iorsi3_flags): New.
1159 (*am33_xorsi3, *mn10300_xorsi3): Merge...
1160 (xorsi3): ... here.
1161 (*xorsi3_flags): New.
1162 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
1163 (one_cmplsi2): ... here.
1164 (*one_cmplsi2_flags): New.
1165 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
1166 instead of "dax" in constraints. Use mn10300_split_cbranch.
1167 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
1168 use matching constraints to eliminate a self-comparison.
1169 (*integer_conditional_branch): Rename from integer_conditional_branch.
1170 Use int_mode_flags to match CC_REG.
1171 (*cbranchsi4_btst, *btstsi): New.
1172 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
1173 mn10300_split_cbranch.
1174 (*am33_cmpsf): Rename from am33_cmpsf.
1175 (*float_conditional_branch): Rename from float_conditional_branch.
1176 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
1177 (zero_extendqisi2): ... here.
1178 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
1179 (zero_extendhisi2): ... here.
1180 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
1181 (extendqisi2): ... here.
1182 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
1183 (extendhisi2): ... here.
1184 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
1185 (ashlsi3): ... here.
1186 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
1187 (lshrsi3): ... here.
1188 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
1189 (ashrsi3): ... here.
1190 (consecutive add peephole): Remove.
1191 * config/mn10300/predicates.md (label_ref_operand): New.
1192 (int_mode_flags): New.
1193 (CCZN_comparison_operator): New.
1194
1195 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
1196 (throughput_42_latency_43): New reservation.
1197 (mulsidi3, umulsidi3): New expanders.
1198 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
1199 the MDR register to allocation; separately allocate the low and
1200 high parts of the DImode result.
1201 (umulsidi3_internal): Similarly.
1202 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
1203 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
1204 (udivsi3, umodsi3): Remove.
1205 (udivmodsi4, divmodsi4): New expanders.
1206 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
1207 (*divmodsi4): Simiarly.
1208 (ext_internal): New.
1209
1210 * config/mn10300/constraints.md ("z"): New constraint.
1211 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
1212 (FIXED_REGISTERS): Don't fix MDR.
1213 (CALL_USED_REGSITERS): Reformat nicely.
1214 (REG_ALLOC_ORDER): Add MDR.
1215 (enum regclass): Add MDR_REGS.
1216 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
1217 (IRA_COVER_CLASSES): Add MDR_REGS.
1218 (REGNO_REG_CLASS): Handle MDR_REG.
1219 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
1220 (mn10300_register_move_cost): Likewise.
1221 * config/mn10300/mn10300.md (MDR_REG): New.
1222 (*movsi_internal): Handle moves to/from MDR_REGS.
1223
1224 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
1225 POST_MODIFY.
1226 (mn10300_secondary_reload): Tidy combination reload classes.
1227 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
1228 addresses for AM33. Allow symbolic offsets for reg+imm.
1229 (mn10300_regno_in_class_p): New.
1230 (mn10300_legitimize_reload_address): New.
1231 * config/mn10300/mn10300.h (enum reg_class): Remove
1232 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
1233 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
1234 SP_OR_GENERAL_REGS.
1235 (REG_CLASS_NAMES): Update to match.
1236 (REG_CLASS_CONTENTS): Likewise.
1237 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
1238 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
1239 (REGNO_IN_RANGE_P): Remove.
1240 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
1241 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
1242 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
1243 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
1244 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
1245 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
1246 (REGNO_GENERAL_P): New.
1247 (HAVE_POST_MODIFY_DISP): New.
1248 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
1249 (LEGITIMIZE_RELOAD_ADDRESS): New.
1250 * config/mn10300/mn10300-protos.h: Update.
1251
1252 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
1253 DATA_REGS for AM33 stack-pointer destination.
1254 (mn10300_preferred_output_reload_class): Likewise.
1255 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
1256 into a form appropriate for ...
1257 (TARGET_SECONDARY_RELOAD): New.
1258 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
1259 * config/mn10300/mn10300-protos.h: Update.
1260 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
1261 reload_insi; use the "A" constraint for the scratch; handle AM33
1262 moves of sp to non-address registers.
1263
1264 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
1265 (*movqi_internal): ... here.
1266 (*am33_movhi, *mn10300_movhi): Merge into...
1267 (*movhi_internal): ... here.
1268 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
1269 as the source/destination of moves from/to SP.
1270 (movsf): Only allow for AM33-2.
1271 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
1272 any integer constant constraint. Only allow for AM33-2. Tidy
1273 all of the alternative outputs.
1274 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
1275 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
1276 for MN103.
1277 (udivsi3, umodsi3): New patterns for MN103 only.
1278
1279 2011-01-19 Joern Rennecke <amylaar@spamcop.net>
1280
1281 * doc/tm.texi.in: Spell out that a lack of register class unions
1282 can lead to ICEs.
1283 * doc/tm.texi: Regenerate.
1284
1285 2011-01-19 Jakub Jelinek <jakub@redhat.com>
1286
1287 PR rtl-optimization/47337
1288 * dce.c (check_argument_store): New function.
1289 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
1290
1291 PR tree-optimization/47290
1292 * tree-eh.c (infinite_empty_loop_p): New function.
1293 (cleanup_empty_eh): Use it.
1294
1295 2011-01-18 Steve Ellcey <sje@cup.hp.com>
1296
1297 PR target/46997
1298 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
1299 (a64_expand_widen_sum): Ditto.
1300 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
1301 (vec_extract_evenodd_help): Ditto.
1302 (vec_extract_evenv4hi): Ditto.
1303 (vec_extract_oddv4hi): Ditto.
1304 (vec_extract_evenv2si): Ditto.
1305 (vec_extract_oddv2si): Ditto.
1306 (vec_extract_evenv2sf): Ditto.
1307 (vec_extract_oddv2sf): Ditto.
1308 (vec_pack_trunc_v4hi: Ditto.
1309 (vec_pack_trunc_v2si): Ditto.
1310 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
1311 (vec_interleave_highv8qi): Ditto.
1312 (mix1_r): Ditto.
1313 (vec_extract_oddv8qi): Ditto.
1314 (vec_interleave_lowv4hi): Ditto.
1315 (vec_interleave_highv4hi): Ditto.
1316 (vec_interleave_lowv2si): Ditto.
1317 (vec_interleave_highv2si): Ditto.
1318
1319 2011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1320
1321 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
1322 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
1323 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
1324 (pa_c_mode_for_suffix): New.
1325 (TARGET_EXPAND_BUILTIN): Define.
1326 (TARGET_C_MODE_FOR_SUFFIX): Define.
1327 (pa_builtins): Define.
1328 (pa_init_builtins): Register __float128 type and init new support
1329 builtins.
1330 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
1331 * config/pa/quadlib.c (_U_Qfcopysign): New.
1332
1333 2011-01-18 Eric Botcazou <ebotcazou@adacore.com>
1334
1335 PR middle-end/46894
1336 * explow.c (allocate_dynamic_stack_space): Do not assume more than
1337 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
1338 are defined.
1339
1340 2011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1341
1342 PR tree-optimization/47179
1343 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
1344 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
1345
1346 2011-01-18 Richard Guenther <rguenther@suse.de>
1347
1348 PR rtl-optimization/47216
1349 * emit-rtl.c: Include tree-flow.h.
1350 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
1351 of replicating it with different semantics.
1352 * Makefile.in (emit-rtl.o): Adjust.
1353
1354 2011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1355
1356 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually
1357 include.
1358 (cortex_a9_dp): Handle neon types correctly.
1359
1360 2011-01-18 Jakub Jelinek <jakub@redhat.com>
1361
1362 PR rtl-optimization/47299
1363 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
1364 subtarget. Use normal multiplication if both operands are
1365 constants.
1366 * expmed.c (expand_widening_mult): Don't try to optimize constant
1367 multiplication if op0 has VOIDmode. Convert op1 constant to mode
1368 before using it.
1369
1370 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1371
1372 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
1373 spacing after 'e.g.', typos, comma, hyphenation.
1374
1375 2011-01-17 Richard Henderson <rth@redhat.com>
1376
1377 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
1378 (rx_restricted_mem_operand): New.
1379 (rx_shift_operand): Use register_operand.
1380 (rx_source_operand, rx_compare_operand): Likewise.
1381 * config/rx/rx.md (addsi3_flags): New expander.
1382 (adddi3): Rewrite as expander.
1383 (adc_internal, *adc_flags, adddi3_internal): New patterns.
1384 (subsi3_flags): New expander.
1385 (subdi3): Rewrite as expander.
1386 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
1387
1388 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
1389 (rx_init_builtins): Remove sat builtin.
1390 (rx_expand_builtin): Likewise.
1391 * config/rx/rx.md (ssaddsi3): New.
1392 (*sat): Rename from sat. Represent the CC_REG input.
1393
1394 * config/rx/predicates.md (rshift_operator): New.
1395 * config/rx/rx.c (rx_expand_insv): Remove.
1396 * config/rx/rx-protos.h: Update.
1397 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
1398 operand to the canonical position.
1399 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
1400 (*bitclr, *bitclr_in_memory): Similarly.
1401 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
1402 (insv): Retain the zero_extract in the expansion.
1403
1404 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
1405 (bswaphi2, bitinvert, revw): Likewise.
1406
1407 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
1408 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
1409 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
1410 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
1411 (bitset, bitset_in_memory): Likewise.
1412 (bitinvert, bitinvert_in_memory): Likewise.
1413 (bitclr, bitclr_in_memory): Likewise.
1414 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
1415 (rx_strend, rx_cmpstrn): Likewise.
1416 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
1417 (bitop peep2 patterns): Remove.
1418
1419 * config/rx/rx.c (rx_match_ccmode): New.
1420 * config/rx/rx-protos.h: Update.
1421 * config/rx/rx.md (abssi2): Clobber, don't set flags.
1422 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
1423 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
1424 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
1425 (fix_truncsfsi2, floatsisf2): Likewise.
1426 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
1427 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
1428 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
1429 (*subsi3_flags, *xorsi3_flags): New.
1430
1431 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
1432
1433 * config/rx/rx.c (rx_print_operand): Remove workaround for
1434 unsplit comparison operations.
1435
1436 * config/rx/rx.md (movsicc): Split after reload.
1437 (*movsicc): Merge *movsieq and *movsine via match_operator.
1438 (*stcc): New pattern.
1439
1440 * config/rx/rx.c (rx_float_compare_mode): Remove.
1441 * config/rx/rx.h (rx_float_compare_mode): Remove.
1442 * config/rx/rx.md (cstoresi4): Split after reload.
1443 (*sccc): New pattern.
1444
1445 * config/rx/predicates.md (label_ref_operand): New.
1446 (rx_z_comparison_operator): New.
1447 (rx_zs_comparison_operator): New.
1448 (rx_fp_comparison_operator): New.
1449 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
1450 Validate that the flags are set properly for the comparison.
1451 (rx_gen_cond_branch_template): Remove.
1452 (rx_cc_modes_compatible): Remove.
1453 (mode_from_flags): New.
1454 (flags_from_code): Rename from flags_needed_for_conditional.
1455 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
1456 (rx_select_cc_mode): Likewise.
1457 (rx_split_fp_compare): New.
1458 (rx_split_cbranch): New.
1459 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
1460 (*cbranchsi4): Use match_operator and rx_split_cbranch.
1461 (*cbranchsf4): Similarly.
1462 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
1463 match_operator and rx_split_cbranch.
1464 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
1465 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
1466 (*cmpsi): Rename from cmpsi.
1467 (*tstsi): Rename from tstsi.
1468 (*cmpsf): Rename from cmpsf; use CC_Fmode.
1469 (*conditional_branch): Rename from conditional_branch.
1470 (*reveresed_conditional_branch): Remove.
1471 (b<code>): Remove expander.
1472 * config/rx/rx-protos.h: Update.
1473
1474 * config/rx/rx.c (rx_compare_redundant): Remove.
1475 * config/rx/rx.md (cmpsi): Don't use it.
1476 * config/rx/rx-protos.h: Update.
1477
1478 * config/rx/rx-modes.def (CC_F): New mode.
1479 * config/rx/rx.c (rx_select_cc_mode): New.
1480 * config/rx/rx.h (SELECT_CC_MODE): Use it.
1481 * config/rx/rx-protos.h: Update.
1482
1483 2011-01-17 Richard Henderson <rth@redhat.com>
1484
1485 * except.c (dump_eh_tree): Fix stray ; after for statement.
1486
1487 2011-01-17 Richard Guenther <rguenther@suse.de>
1488
1489 PR tree-optimization/47313
1490 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
1491 handling before copying the body. Properly deal with
1492 by-reference result in SSA form.
1493
1494 2011-01-17 Ian Lance Taylor <iant@google.com>
1495
1496 PR target/47219
1497 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
1498 (struct_value_alias_set): Don't define.
1499 (sparc_option_override): Don't set sparc_sr_alias_set and
1500 struct_value_alias_set.
1501 (save_or_restore_regs): Use gen_frame_mem rather than calling
1502 set_mem_alias_set.
1503 (sparc_struct_value_rtx): Likewise.
1504
1505 2011-01-17 H.J. Lu <hongjiu.lu@intel.com>
1506
1507 PR target/47318
1508 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
1509 __m128i.
1510 (_mm_maskstore_pd): Likewise.
1511 (_mm_maskload_ps): Likewise.
1512 (_mm_maskstore_ps): Likewise.
1513 (_mm256_maskload_pd): Change mask to __m256i.
1514 (_mm256_maskstore_pd): Likewise.
1515 (_mm256_maskload_ps): Likewise.
1516 (_mm256_maskstore_ps): Likewise.
1517
1518 * config/i386/i386-builtin-types.def: Updated.
1519 (ix86_expand_special_args_builtin): Likewise.
1520
1521 * config/i386/i386.c (bdesc_special_args): Update
1522 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
1523 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
1524 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
1525 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
1526
1527 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
1528 Use <avxpermvecmode> on mask register.
1529 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
1530
1531 2011-01-17 Olivier Hainque <hainque@adacore.com>
1532 Michael Haubenwallner <michael.haubenwallner@salomon.at>
1533 Eric Botcazou <ebotcazou@adacore.com>
1534
1535 PR target/46655
1536 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
1537 if <= USHRT_MAX in 32-bit mode.
1538
1539 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1540
1541 * doc/install.texi (Configuration, Specific): Wrap long
1542 lines in examples. Allow line wrapping in long options
1543 and URLs where beneficial for PDF output.
1544
1545 2011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
1546
1547 * config/mips/mips.c (mips_classify_symbol): Don't return
1548 SYMBOL_PC_RELATIVE for nonlocal labels.
1549
1550 2011-01-15 Eric Botcazou <ebotcazou@adacore.com>
1551
1552 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
1553
1554 2011-01-15 Jan Hubicka <jh@suse.cz>
1555
1556 PR tree-optimization/47276
1557 * ipa.c (function_and_variable_visibility): Do not try to mark alias
1558 declarations as needed.
1559
1560 2011-01-15 Martin Jambor <mjambor@suse.cz>
1561
1562 * common.opt (fdevirtualize): New flag.
1563 * doc/invoke.texi (Option Summary): Document it.
1564 * opts.c (default_options_table): Add devirtualize flag.
1565 * ipa-prop.c (detect_type_change): Return immediately if
1566 devirtualize flag is not set.
1567 (detect_type_change_ssa): Likewise.
1568 (compute_known_type_jump_func): Likewise.
1569 (ipa_analyze_virtual_call_uses): Likewise.
1570
1571 2011-01-14 Martin Jambor <mjambor@suse.cz>
1572
1573 PR tree-optimization/45934
1574 PR tree-optimization/46302
1575 * ipa-prop.c (type_change_info): New type.
1576 (stmt_may_be_vtbl_ptr_store): New function.
1577 (check_stmt_for_type_change): Likewise.
1578 (detect_type_change): Likewise.
1579 (detect_type_change_ssa): Likewise.
1580 (compute_complex_assign_jump_func): Check for dynamic type change.
1581 (compute_complex_ancestor_jump_func): Likewise.
1582 (compute_known_type_jump_func): Likewise.
1583 (compute_scalar_jump_functions): Likewise.
1584 (ipa_analyze_virtual_call_uses): Likewise.
1585 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
1586
1587 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1588
1589 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
1590 * config/i386/i386.opt (msse5): New Alias.
1591
1592 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1593
1594 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
1595 * config/sparc/linux64.h (CC1_SPEC): Likewise.
1596 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
1597 * config/sparc/sparc.h (CC1_SPEC): Likewise.
1598
1599 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1600
1601 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
1602 -mcpu options.
1603 * config/sparc/linux64.h (CC1_SPEC): Likewise.
1604 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
1605 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
1606 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
1607 Likewise.
1608 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
1609
1610 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1611
1612 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or
1613 -fvec-eabi.
1614
1615 2011-01-14 Mike Stump <mikestump@comcast.net>
1616
1617 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
1618 * config/fr30/fr30.md: Likweise
1619 (movsi_push): Likewise.
1620 (movsi_pop): Likewise.
1621 (enter_func): Likewise.
1622 * config/moxie/moxie.md (movsi_push): Likewise.
1623 (movsi_pop): Likewise.
1624
1625 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1626
1627 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
1628 %{no_archive} %{exact_version}.
1629 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
1630 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
1631 %{no_archive} %{exact_version}.
1632 * config/mips/openbsd.h (LINK_SPEC): Likewise.
1633 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
1634 * config/mips/vxworks.h: Likewise.
1635
1636 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1637
1638 * config/microblaze/microblaze.h (ASM_SPEC): Remove
1639 %{microblaze1}.
1640
1641 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1642
1643 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
1644 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
1645
1646 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1647
1648 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
1649 -nodefaultlib.
1650
1651 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1652
1653 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
1654 for mcpu not cpu.
1655 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
1656 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
1657 not cpu.
1658 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
1659 Don't handle -shlib.
1660
1661 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1662
1663 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
1664 (CC1_SPEC): Don't handle -profile.
1665
1666 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1667
1668 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
1669 * config/mips/mips.h (CC1_SPEC): Likewise.
1670
1671 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1672
1673 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
1674 * config/mips/mips.h (CC1_SPEC): Likewise.
1675
1676 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1677
1678 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
1679 * config/m32r/linux.h (LINK_SPEC): Likewise.
1680 * config/mips/linux.h (LINK_SPEC): Likewise.
1681 * config/mips/linux64.h (LINK_SPEC): Likewise.
1682 * config/sparc/linux.h (LINK_SPEC): Likewise.
1683 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
1684 LINK_SPEC): Likewise.
1685 * config/xtensa/linux.h (LINK_SPEC): Likewise.
1686
1687 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1688
1689 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
1690 %{version:-v}.
1691 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
1692
1693 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1694
1695 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
1696 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
1697
1698 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1699
1700 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
1701
1702 2011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1703
1704 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
1705 supports -Bstatic/-Bdynamic.
1706 * configure: Regenerate.
1707
1708 2011-01-14 Jan Hubicka <jh@suse.cz>
1709 Jack Howarth <howarth@bromo.med.uc.edu>
1710
1711 PR target/46037
1712 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
1713 when checking debug_info_level. Test write_symbols instead of
1714 debug_hooks->var_location when setting flag_var_tracking_uninit.
1715
1716 2011-01-14 Richard Guenther <rguenther@suse.de>
1717
1718 PR tree-optimization/47179
1719 * target.def (ref_may_alias_errno): New target hook.
1720 * targhooks.h (default_ref_may_alias_errno): Declare.
1721 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
1722 (default_ref_may_alias_errno): New function.
1723 * target.h (struct ao_ref_s): Declare.
1724 * tree-ssa-alias.c: Include target.h.
1725 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
1726 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
1727 (targhooks.o): Likewise.
1728 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
1729 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
1730
1731 2011-01-14 Richard Guenther <rguenther@suse.de>
1732
1733 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
1734
1735 2011-01-14 Richard Guenther <rguenther@suse.de>
1736
1737 PR tree-optimization/47280
1738 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
1739 return CFG changes.
1740 (tree_ssa_forward_propagate_single_use_vars): Deal with
1741 CFG changes from associate_plusminus.
1742
1743 2011-01-14 Richard Guenther <rguenther@suse.de>
1744
1745 PR middle-end/47281
1746 Revert
1747 2011-01-11 Richard Guenther <rguenther@suse.de>
1748
1749 PR tree-optimization/46076
1750 * tree-ssa.c (useless_type_conversion_p): Conversions from
1751 unprototyped to empty argument list function types are useless.
1752
1753 2011-01-14 Richard Guenther <rguenther@suse.de>
1754
1755 PR tree-optimization/47286
1756 * tree-ssa-structalias.c (new_var_info): Register variables are global.
1757
1758 2011-01-14 Martin Jambor <mjambor@suse.cz>
1759
1760 PR middle-end/46823
1761 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
1762
1763 2011-01-13 Anatoly Sokolov <aesok@post.ru>
1764
1765 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
1766 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
1767 * config/xtensa/xtensa.c (xtensa_libcall_value,
1768 xtensa_function_value_regno_p): New functions.
1769 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
1770
1771 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
1772
1773 PR c++/47213
1774 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
1775 PE specific hook.
1776 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
1777 New function prototype.
1778 * config/i386/winnt.c (i386_pe_assemble_visibility):
1779 Warn only if attribute was specified by user.
1780
1781 2011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
1782
1783 PR target/47251
1784 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
1785 floating point.
1786 (floatunsdidf2_fcfidu): Ditto.
1787
1788 2011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1789
1790 * config/s390/s390.c (print_operand_address): Replace 'error' with
1791 'output_operand_lossage'.
1792 (print_operand): Likewise.
1793
1794 2011-01-13 Jeff Law <law@redhat.com>
1795
1796 PR rtl-optimization/39077
1797 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
1798 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
1799 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
1800 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
1801 * gcse.c (prune_insertions_deletions): New function.
1802 (compute_pre_data): Use it.
1803
1804 2011-01-13 Dodji Seketeli <dodji@redhat.com>
1805
1806 PR debug/PR46973
1807 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
1808 static function.
1809 (prune_unused_types_mark): Use it.
1810
1811 2011-01-13 Andrey Belevantsev <abel@ispras.ru>
1812
1813 PR rtl-optimization/45352
1814 * sel-sched.c: Update copyright years.
1815 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1816 in the advancing loop when we have issued issue_rate insns.
1817
1818 2011-01-12 Richard Henderson <rth@redhat.com>
1819
1820 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
1821 (TARGET_MD_ASM_CLOBBERS): New.
1822
1823 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
1824 (TARGET_DELEGITIMIZE_ADDRESS): New.
1825
1826 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
1827 (clzsi2, *bsch): New patterns.
1828
1829 * config/mn10300/mn10300.md (INT): New mode iterator.
1830 (*mov<INT>_clr): New pattern, and peep2 to generate it.
1831
1832 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
1833 flag_split_wide_types.
1834
1835 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
1836 (mn10300_trampoline_init): Rewrite without a template, an immediate
1837 load and a direct branch.
1838 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
1839
1840 2011-01-12 Anatoly Sokolov <aesok@post.ru>
1841
1842 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1843 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
1844 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
1845 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1846
1847 2011-01-12 Kai Tietz <kai.tietz@onevision.com>
1848
1849 PR debug/47209
1850 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
1851 of type.
1852
1853 2011-01-12 Jan Hubicka <jh@suse.cz>
1854
1855 PR driver/47244
1856 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
1857 (PLUGIN_COND_CLOSE): New macro.
1858 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
1859
1860 2011-01-12 Richard Guenther <rguenther@suse.de>
1861
1862 PR lto/47259
1863 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
1864 register variables in a MEM_REF.
1865
1866 2011-01-12 Joseph Myers <joseph@codesourcery.com>
1867
1868 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
1869 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
1870 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
1871 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
1872 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
1873 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
1874 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
1875 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
1876 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
1877 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
1878 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
1879 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
1880 * config/gnu-user.h: New. Copied from linux.h.
1881 (LINUX_TARGET_STARTFILE_SPEC): Rename to
1882 GNU_USER_TARGET_STARTFILE_SPEC.
1883 (LINUX_TARGET_ENDFILE_SPEC): Rename to
1884 GNU_USER_TARGET_ENDFILE_SPEC.
1885 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
1886 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
1887 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
1888 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
1889 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
1890 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
1891 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
1892 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
1893 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
1894 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
1895 * config/arm/linux-eabi.h (CC1_SPEC): Use
1896 GNU_USER_TARGET_CC1_SPEC.
1897 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
1898 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
1899 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
1900 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
1901 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
1902 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
1903 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
1904 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
1905
1906 2011-01-12 Richard Guenther <rguenther@suse.de>
1907
1908 PR other/46946
1909 * doc/invoke.texi (ffast-math): Document it is turned on
1910 with -Ofast.
1911
1912 2011-01-12 Jan Hubicka <jh@suse.cz>
1913
1914 PR tree-optimization/47233
1915 * opts.c (common_handle_option): Disable ipa-reference with profile
1916 feedback.
1917
1918 2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
1919
1920 * c-parser.c (c_parser_objc_at_property_declaration): Improved
1921 error message.
1922
1923 2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
1924
1925 * c-parser.c (c_lex_one_token): Updated and reindented some
1926 comments. No changes in code.
1927
1928 2011-01-11 Ian Lance Taylor <iant@google.com>
1929
1930 * godump.c (go_output_var): Don't output the variable if there is
1931 already a type with the same name.
1932
1933 2011-01-11 Ian Lance Taylor <iant@google.com>
1934
1935 * godump.c (go_format_type): Don't generate float80.
1936
1937 2011-01-11 Richard Henderson <rth@redhat.com>
1938
1939 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
1940 declaration. Rewrite for both speed and size.
1941 (mn10300_address_cost_1): Remove.
1942 (mn10300_register_move_cost): New.
1943 (mn10300_memory_move_cost): New.
1944 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
1945 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
1946 extensions, shifts, BSWAP, CLZ.
1947 (mn10300_wide_const_load_uses_clr): Remove.
1948 (TARGET_REGISTER_MOVE_COST): New.
1949 (TARGET_MEMORY_MOVE_COST): New.
1950 * config/mn10300/mn10300-protos.h: Update.
1951 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
1952
1953 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
1954 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
1955 * config/mn10300/mn10300-protos.h: Update.
1956 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
1957 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
1958 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
1959 (*test_int_bitfield, *test_byte_bitfield): Remove.
1960 (*bit_test, *subreg_bit_test): Remove.
1961 * config/mn10300/predicates.md (const_8bit_operand): Remove.
1962
1963 * config/mn10300/constraints.md ("c"): Rename from "A".
1964 ("A", "D"): New constraint letters.
1965 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
1966 (fmssf4, fnmasf4, fnmssf4): Likewise.
1967
1968 * config/mn10300/mn10300.md (isa): New attribute.
1969 (enabled): New attribute.
1970
1971 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
1972 (abssf2, negsf2): Define only for hardware fp.
1973 (sqrtsf2): Reformat.
1974 (addsf3, subsf3, mulsf3): Merge expander and insn.
1975
1976 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
1977 (DEBUGGER_AUTO_OFFSET): Remove.
1978 (DEBUGGER_ARG_OFFSET): Remove.
1979
1980 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
1981 Emit register stores with the same offsets as the hardware.
1982 (mn10300_store_multiple_operation): Don't check that the register
1983 save offsets are monotonic.
1984 * config/mn10300/mn10300-protos.h: Update.
1985
1986 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
1987
1988 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
1989 in terms of the value on the stack, not the MDR register.
1990
1991 2011-01-11 Jan Hubicka <jh@suse.cz>
1992
1993 PR lto/45721
1994 PR lto/45375
1995 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
1996 (symbol_alias_set_destroy, symbol_alias_set_contains,
1997 propagate_aliases_backward): Declare.
1998 * lto-streamer-out.c (struct sets): New sturcture.
1999 (trivally_defined_alias): New function.
2000 (output_alias_pair_p): Rewrite.
2001 (output_unreferenced_globals): Fix output of alias pairs.
2002 (produce_symtab): Likewise.
2003 * ipa.c (function_and_variable_visibility): Set weak alias destination
2004 as needed in lto.
2005 * varasm.c (symbol_alias_set_t): Remove.
2006 (symbol_alias_set_destroy): Export.
2007 (propagate_aliases_forward, propagate_aliases_backward): New functions
2008 based on ...
2009 (compute_visible_aliases): ... this one; remove.
2010 (trivially_visible_alias): New
2011 (trivially_defined_alias): New.
2012 (remove_unreachable_alias_pairs): Rewrite.
2013 (finish_aliases_1): Reorganize code checking if alias is defined.
2014 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
2015 in LTO mode.
2016
2017 2011-01-11 Richard Guenther <rguenther@suse.de>
2018
2019 PR tree-optimization/46076
2020 * tree-ssa.c (useless_type_conversion_p): Conversions from
2021 unprototyped to empty argument list function types are useless.
2022
2023 2011-01-11 Richard Guenther <rguenther@suse.de>
2024
2025 PR middle-end/45235
2026 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
2027 volatile MEMs as MEM_READONLY_P.
2028
2029 2011-01-11 Richard Guenther <rguenther@suse.de>
2030
2031 PR tree-optimization/47239
2032 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
2033
2034 2011-01-11 Jeff Law <law@redhat.com>
2035
2036 PR tree-optimization/47086
2037 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
2038 IVs from statements that might throw.
2039
2040 2011-01-10 Jan Hubicka <jh@suse.cz>
2041
2042 PR lto/45375
2043 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
2044
2045 2011-01-10 Jan Hubicka <jh@suse.cz>
2046
2047 PR lto/45375
2048 * profile.c (read_profile_edge_counts): Ignore profile inconistency
2049 when correcting profile.
2050
2051 2011-01-10 Jan Hubicka <jh@suse.cz>
2052
2053 PR lto/46083
2054 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
2055 DECL_FINI_PRIORITY.
2056 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
2057 Restore DECL_FINI_PRIORITY.
2058
2059 2011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2060
2061 * doc/gimple.texi: Fix quoting of multi-word return values in
2062 @deftypefn statements. Ensure presence of return value. Wrap
2063 overlong @deftypefn lines.
2064 (is_gimple_operand, is_gimple_min_invariant_address): Remove
2065 descriptions of removed functions.
2066 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
2067 of multi-word return value in @deftypefn statement.
2068
2069 2011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2070
2071 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
2072 (Conditional Expressions, Logical Operators)
2073 (Statement and operand traversals): Do not indent smallexample
2074 code. Fix duplicate function argument in example.
2075
2076 2011-01-10 Jeff Law <law@redhat.com>
2077
2078 PR tree-optimization/47141
2079 * ipa-split.c (split_function): Handle case where we are
2080 returning a value and the return block has a virtual operand phi.
2081
2082 2011-01-10 Jan Hubicka <jh@suse.cz>
2083
2084 PR tree-optimization/47234
2085 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
2086 (pass_feedback_split_functions): Declare.
2087 * passes.c (init_optimization_passes): Add ipa-split as subpass of
2088 tree-profile.
2089 * ipa-split.c (gate_split_functions): Update comments; disable
2090 split-functions for profile_arc_flag and branch_probabilities.
2091 (gate_feedback_split_functions): New function.
2092 (execute_feedback_split_functions): New function.
2093 (pass_feedback_split_functions): New global var.
2094
2095 2011-01-10 H.J. Lu <hongjiu.lu@intel.com>
2096
2097 PR lto/46760
2098 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
2099 calling gimple_call_set_cannot_inline.
2100
2101 2011-01-10 Iain Sandoe <iains@gcc.gnu.org>
2102
2103 * config/darwin-sections.def: Remove unused section.
2104
2105 2011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
2106
2107 PR c++/47218
2108 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
2109
2110 2011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
2111
2112 PR objc/47232
2113 * c-parser.c (c_parser_declaration_or_fndef): Improved
2114 error message.
2115
2116 2011-01-09 Kai Tietz <kai.tietz@onevision.com>
2117
2118 * config/i386/winnt.c (i386_pe_start_function): Make sure
2119 to switch back to function's section.
2120
2121 2011-01-09 Iain Sandoe <iains@gcc.gnu.org>
2122
2123 PR gcc/46902
2124 PR testsuite/46912
2125 * plugin.c: Move include of dlfcn.h from here...
2126 * system.h: ... to here.
2127
2128 2011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2129
2130 * doc/cpp.texi (C++ Named Operators): Fix markup for header
2131 file name.
2132 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
2133 two extra empty pages in PDF output.
2134
2135 2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
2136
2137 PR objc/47078
2138 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
2139 for error recovery purposes behave as if it was not specified so
2140 that the default type is usd.
2141
2142 2011-01-07 Jan Hubicka <jh@suse.cz>
2143
2144 PR tree-optmization/46469
2145 * ipa.c (function_and_variable_visibility): Clear needed flags on
2146 nodes with external decls; handle weakrefs merging correctly.
2147
2148 2011-01-07 Joseph Myers <joseph@codesourcery.com>
2149
2150 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
2151 not false.
2152
2153 2011-01-07 Jan Hubicka <jh@suse.cz>
2154
2155 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
2156 and no longer claim that gold is required for linker plugin.
2157 * configure: Regenerate.
2158 * gcc.c (PLUGIN_COND): New macro.
2159 (LINK_COMMAND_SPEC): Use it.
2160 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
2161 * config.in (HAVE_LTO_PLUGIN): New.
2162 * configure.ac (--with-lto-plugin): New parameter; autodetect
2163 HAVE_LTO_PLUGIN.
2164
2165 2011-01-07 Jan Hubicka <jh@suse.cz>
2166
2167 PR tree-optimization/46367
2168 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
2169 when we can update original.
2170 (cgraph_mark_inline_edge): Sanity check.
2171 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
2172
2173 2011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2174
2175 * config/spu/spu.h (ASM_COMMENT_START): Define.
2176
2177 2011-01-07 H.J. Lu <hongjiu.lu@intel.com>
2178
2179 PR driver/42445
2180 * gcc.c (%>S): New.
2181 (SWITCH_KEEP_FOR_GCC): Likewise.
2182 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
2183 (do_spec_1): Handle "%>".
2184
2185 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
2186
2187 2011-01-07 Jakub Jelinek <jakub@redhat.com>
2188
2189 PR target/47201
2190 * config/i386/i386.c (ix86_delegitimize_address): If
2191 simplify_gen_subreg fails, return orig_x.
2192
2193 PR bootstrap/47187
2194 * value-prof.c (gimple_stringop_fixed_value): Handle
2195 lhs of the call properly.
2196
2197 2011-01-07 Jan Hubicka <jh@suse.cz>
2198
2199 PR lto/45375
2200 * lto-opt.c (lto_reissue_options): Set flag_shlib.
2201
2202 2011-01-07 Iain Sandoe <iains@gcc.gnu.org>
2203
2204 * target.def (function_switched_text_sections): New hook.
2205 * doc/tm.texi: Regenerated.
2206 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
2207 * final.c (default_function_switched_text_sections): New.
2208 (final_scan_insn): Call function_switched_text_sections when a
2209 mid-function section change occurs.
2210 * output.h (default_function_switched_text_sections): Declare.
2211 * config/darwin-protos.h (darwin_function_switched_text_sections):
2212 Likewise.
2213 * config/darwin.c (darwin_function_switched_text_sections): New.
2214 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
2215
2216 2011-01-07 Iain Sandoe <iains@gcc.gnu.org>
2217
2218 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
2219 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
2220 the secondary code fragment when outputting for DWARF == 2.
2221
2222 2011-01-07 Anatoly Sokolov <aesok@post.ru>
2223
2224 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
2225 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
2226 Remove.
2227 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
2228 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
2229
2230 2011-01-06 Eric Botcazou <ebotcazou@adacore.com>
2231
2232 PR debug/46704
2233 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
2234 when it is not empty.
2235
2236 2011-01-06 Changpeng Fang <changpeng.fang@amd.com>
2237
2238 Bobcat Enablement
2239 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
2240 (case ${target}): Add btver1.
2241 * config/i386/driver-i386.c (host_detect_local_cpu): Let
2242 -march=native recognize btver1 processors.
2243 * config/i386/i386-c.c (ix86_target_macros_internal): Add
2244 btver1 def_and_undef
2245 * config/i386/i386.c (struct processor_costs btver1_cost): New
2246 btver1 cost table.
2247 (m_BTVER1): New definition.
2248 (m_AMD_MULTIPLE): Includes m_BTVER1.
2249 (initial_ix86_tune_features): Add btver1 tune.
2250 (processor_target_table): Add btver1 entry.
2251 (static const char *const cpu_names): Add btver1 entry.
2252 (software_prefetching_beneficial_p): Add btver1.
2253 (ix86_option_override_internal): Add btver1 instruction sets.
2254 (ix86_issue_rate): Add btver1.
2255 (ix86_adjust_cost): Add btver1.
2256 * config/i386/i386.h (TARGET_BTVER1): New definition.
2257 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
2258 (enum processor_type): Add PROCESSOR_BTVER1.
2259 * config/i386/i386.md (define_attr "cpu"): Add btver1.
2260
2261 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2262
2263 PR target/43309
2264 * config/i386/i386.c (legitimize_tls_address)
2265 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
2266 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
2267 (tls_initial_exec_64_sun): New pattern.
2268
2269 2011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
2270
2271 * doc/invoke.texi (Overall Options): Improve wording and markup
2272 of the description of -wrapper.
2273
2274 2011-01-06 Joseph Myers <joseph@codesourcery.com>
2275
2276 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
2277 rdynamic, threads): New Driver options.
2278
2279 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2280
2281 PR target/38118
2282 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
2283 if coming from .tdata.
2284 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2285
2286 2011-01-06 Jan Hubicka <jh@suse.cz>
2287
2288 PR lto/47188
2289 * collect2.c (main): Do not enable LTOmode when plugin is active.
2290
2291 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2292
2293 PR other/45915
2294 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
2295 --version output if supported.
2296 * configure: Regenerate.
2297
2298 2011-01-06 Joseph Myers <joseph@codesourcery.com>
2299
2300 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
2301 Driver options.
2302
2303 2011-01-06 Jakub Jelinek <jakub@redhat.com>
2304
2305 PR c/47150
2306 * c-convert.c (convert): When converting a complex expression
2307 other than COMPLEX_EXPR to a different complex type, ensure
2308 c_save_expr is called instead of save_expr, unless in_late_binary_op.
2309 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
2310 when converting COMPLEX_TYPE.
2311
2312 2011-01-06 Ira Rosen <irar@il.ibm.com>
2313
2314 PR tree-optimization/47139
2315 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
2316 only the last reduction value is used outside the loop. Update
2317 documentation.
2318
2319 2011-01-05 Joseph Myers <joseph@codesourcery.com>
2320
2321 * config/rtems.opt: New.
2322 * config.gcc (*-*-rtems*): Use rtems.opt.
2323
2324 2011-01-05 Changpeng Fang <changpeng.fang@amd.com>
2325
2326 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
2327 processors do not support 3DNow instructions.
2328
2329 2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2330
2331 * config/spu/spu.c (spu_option_override): Set parameter
2332 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
2333
2334 2011-01-05 Jan Hubicka <jh@suse.cz>
2335
2336 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
2337 at the command line.
2338
2339 2011-01-05 Martin Jambor <mjambor@suse.cz>
2340
2341 PR lto/47162
2342 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
2343 deltas on streamed outgoing edges.
2344 (output_node_opt_summary): Output info for outgoing edges only when
2345 the node is in new parameter set.
2346 (output_cgraph_opt_summary): New parameter set, passed to the two
2347 aforementioned functions. Update its forward declaration and its
2348 callee too.
2349
2350 2011-01-05 Tom Tromey <tromey@redhat.com>
2351
2352 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
2353 operator to c_finish_omp_atomic.
2354 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
2355 (build_unary_op): Update.
2356 (build_modify_expr): Update.
2357 (build_asm_expr): Update.
2358
2359 2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2360
2361 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
2362 newly inserted insns.
2363 (pad_bb): Likewise.
2364 (spu_emit_branch_hint): Likewise.
2365 (insert_hbrp_for_ilb_runout): Likewise.
2366 (spu_machine_dependent_reorg): Call df_finish_pass after
2367 schedule_insns returns.
2368
2369 2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2370
2371 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
2372
2373 2011-01-05 Eric Botcazou <ebotcazou@adacore.com>
2374
2375 PR tree-optimization/47005
2376 * tree-sra.c (struct access): Add 'non_addressable' bit.
2377 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
2378 (decide_one_param_reduction): Return 0 if the parameter is passed by
2379 reference and one of the accesses in the group is non_addressable.
2380
2381 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2382
2383 PR tree-optimization/47056
2384 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
2385 (mark_load): Likewise. Handle FUNCTION_DECL specially.
2386 (mark_store): Likewise. Pass STMT to ipa_record_reference.
2387
2388 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2389
2390 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
2391 initializer. Skip view conversions from aggregate types.
2392
2393 2011-01-04 Kai Tietz <kai.tietz@onevision.com>
2394
2395 PR bootstrap/47055
2396 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
2397
2398 2011-01-04 Philipp Thomas <pth@suse.de>
2399
2400 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
2401 obvious typo.
2402
2403 2011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2404
2405 * function.c (thread_prologue_and_epilogue_insns): Do not crash
2406 on empty epilogue sequences.
2407
2408 2011-01-04 Joseph Myers <joseph@codesourcery.com>
2409
2410 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
2411 non-static): New Driver options.
2412
2413 2011-01-04 Jie Zhang <jie@codesourcery.com>
2414
2415 PR driver/47137
2416 * gcc.c (default_compilers[]): Set combinable field to 0
2417 for all assembly languages.
2418
2419 2011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
2420
2421 * config/mips/loongson3a.md: New file.
2422 * config/mips/mips.md: Include loongson3a.md.
2423 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
2424 TUNE_LOONGSON_3A.
2425
2426 2011-01-03 Eric Botcazou <ebotcazou@adacore.com>
2427
2428 PR middle-end/47017
2429 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
2430 instead of convert_memory_address_addr_space on the base expression.
2431
2432 2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2433
2434 * config/spu/spu.c (spu_option_override): Update error text
2435 for bad -march= / -mtune= values.
2436
2437 2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2438
2439 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
2440 if branch-hint optimization will be performed.
2441
2442 2011-01-03 Jakub Jelinek <jakub@redhat.com>
2443
2444 PR tree-optimization/47148
2445 * ipa-split.c (split_function): Convert arguments to
2446 DECL_ARG_TYPE if possible.
2447
2448 PR tree-optimization/47155
2449 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
2450 when computing uns.
2451
2452 PR rtl-optimization/47157
2453 * combine.c (try_combine): If undobuf.other_insn becomes
2454 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
2455 and set *new_direct_jump_p too.
2456
2457 2011-01-03 Sebastian Pop <sebastian.pop@amd.com>
2458
2459 PR tree-optimization/47021
2460 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
2461
2462 2011-01-03 Jakub Jelinek <jakub@redhat.com>
2463
2464 * gcc.c (process_command): Update copyright notice dates.
2465 * gcov.c (print_version): Likewise.
2466 * gcov-dump.c (print_version): Likewise.
2467 * mips-tfile.c (main): Likewise.
2468 * mips-tdump.c (main): Likewise.
2469
2470 2011-01-03 Martin Jambor <mjambor@suse.cz>
2471
2472 PR tree-optimization/46801
2473 * tree-sra.c (type_internals_preclude_sra_p): Check whether
2474 aggregate fields start at byte boundary instead of the bit-field flag.
2475
2476 2011-01-03 H.J. Lu <hongjiu.lu@intel.com>
2477
2478 PR driver/47137
2479 * gcc.c (main): Revert revision 168407.
2480
2481 2011-01-03 Martin Jambor <mjambor@suse.cz>
2482
2483 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
2484
2485 2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2486
2487 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
2488 vector optab to expand vector/scalar shift, update gimple to vector.
2489
2490 2011-01-03 Martin Jambor <mjambor@suse.cz>
2491
2492 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
2493 a thunk.
2494
2495 2011-01-03 Martin Jambor <mjambor@suse.cz>
2496
2497 PR tree-optimization/46984
2498 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
2499 HOST_WIDE_INT.
2500 (cgraph_create_indirect_edge): Fixed line length.
2501 (cgraph_indirect_call_info): Declare.
2502 (cgraph_make_edge_direct) Update declaration.
2503 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
2504 (cgraph_create_indirect_edge): Use it.
2505 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
2506 callees.
2507 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
2508 the new thunk_delta representation.
2509 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
2510 HOST_WIDE_INT.
2511 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
2512 (ipa_read_indirect_edge_info): Likewise.
2513 * lto-cgraph.c (output_edge_opt_summary): New function.
2514 (output_node_opt_summary): Call it on all outgoing edges.
2515 (input_edge_opt_summary): New function.
2516 (input_node_opt_summary): Call it on all outgoing edges.
2517
2518 2011-01-02 H.J. Lu <hongjiu.lu@intel.com>
2519
2520 PR driver/47137
2521 * gcc.c (main): Don't check have_o when settting combine_inputs.
2522
2523 2011-01-02 Eric Botcazou <ebotcazou@adacore.com>
2524
2525 * regrename.c: Add general comment describing the pass.
2526 (struct du_head): Remove 'length' field.
2527 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
2528 (regrename_optimize): Do not sort chains. Rework comments, add others.
2529 Force renaming to the preferred class (if any) in the first pass and do
2530 not consider registers that belong to it in the second pass.
2531 (create_new_chain): Do not set 'length' field.
2532 (scan_rtx_reg): Likewise.
2533
2534 2011-01-02 Jakub Jelinek <jakub@redhat.com>
2535
2536 PR tree-optimization/47140
2537 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
2538 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
2539 to bit_value_binop.
2540
2541 PR rtl-optimization/47028
2542 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
2543 parm_birth_insn instead of at the beginning of first bb.
2544
2545 2011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
2546
2547 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
2548 Remove the word "see" before "@pxref".
2549 * doc/rtl.texi: Remove the word "see" before "@pxref".
2550
2551 2011-01-01 Jan Hubicka <jh@suse.cz>
2552
2553 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
2554 memory.
2555
2556 2011-01-01 Kai Tietz <kai.tietz@onevision.com>
2557
2558 PR target/38662
2559 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
2560
2561 \f
2562 Copyright (C) 2011 Free Software Foundation, Inc.
2563
2564 Copying and distribution of this file, with or without modification,
2565 are permitted in any medium without royalty provided the copyright
2566 notice and this notice are preserved.