1 2006-10-30 J"orn Rennecke <joern.rennecke@st.com>
3 * unwind-dw2.c (uw_init_context_1): Fix test that checks if
4 dwarf_reg_size_table has been initialized.
6 2006-10-30 Roger Sayle <roger@eyesopen.com>
8 * builtins.c (expand_builtin_mathfn_3): Correct coding style.
9 * ddg.c (print_ddg_edge): Likewise.
10 * dwarf2out.c (prune_unused_types_walk): Likewise.
11 * ifcvt.c (noce_try_cmove_arith): Likewise.
12 * langhooks.c (add_builtin_function): Likewise.
13 * reg-stack.c (subst_stack_regs_pat): Likewise.
14 * tree.c (expanded_location): Likewise.
15 * tree-dump.c (dequeue_and_dump): Likewise.
17 2006-10-30 David Daney <ddaney@avtrex.com>
19 * config/mips/linux.h (NO_SHARED_SPECS): Correct syntax error.
21 2006-10-30 Jakub Jelinek <jakub@redhat.com>
23 PR tree-optimization/29637
24 * tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
25 of the innertype is the innertype itself.
27 2006-10-30 Danny Smith <dannysmith@users.sourceforge.net>
29 * dwarf2out.c (file_name_acquire): Correct typo.
31 2006-10-29 Daniel Berlin <dberlin@dberlin.org>
33 * tree.h (tree_value_handle): Remove struct value_set declaration.
34 Change value_set to bitmap_set.
35 * tree-pretty-print.c (dump_generic_node): Use has_stmt_ann.
36 * tree-vn.c (get_value_handle): Made inline and moved to
38 * tree-flow-inline.h: (has_stmt_ann): New function.
39 * tree-ssa-pre.c (expressions): New variable.
40 (next_expression_id): Ditto.
41 (alloc_expression_id): New function.
42 (struct value_set): Remove.
43 (get_expression_id): New function.
44 (get_or_alloc_expression_id): Ditto.
45 (expression_for_id): Ditto.
46 (clear_expression_ids): Ditto.
47 (FOR_EACH_EXPR_ID_IN_SET): New macro.
48 (bb_value_sets): Renamed to bb_bitmap_sets.
49 All value sets replaced with bitmap_sets.
51 (BB_VISITED): New macro.
52 (postorder): New variable.
53 (add_to_value): Removed.
54 (value_exists_in_set_bitmap): Ditto.
55 (value_insert_into_set_bitmap): Ditto.
59 (set_contains_value): Ditto.
60 (insert_into_set): Ditto.
63 (bitmap_set_subtract_from_value_set): Ditto.
64 (value_insert_into_set): Ditto.
65 (print_value_set): Ditto.
66 (debug_value_set): Ditto.
67 (constant_expr_p): New function.
68 (bitmap_remove_from_set): Ditto.
69 (bitmap_insert_into_set): Ditto.
70 (bitmap_set_free): Ditto.
72 (sorted_array_from_bitmap_set): Ditto.
73 (bitmap_set_subtract): Ditto.
74 (bitmap_set_equal): Ditto.
75 (debug_bitmap_set): Ditto.
76 (find_leader_in_sets): Ditto.
77 (bitmap_set_replace_value): Modify for bitmapped sets.
78 (phi_translate): Ditto.
79 (phi_translate_set): Ditto.
80 (bitmap_find_leader): Ditto.
81 (valid_in_sets): Ditto.
82 (union_contains_value): Ditto.
84 (compute_antic_aux): Ditto. Mark changed blocks.
85 (compute_antic): Ditto. Iterate in postorder and only over
87 (compute_rvuse_and_antic_safe): Reuse postorder.
88 (create_component_ref_by_pieces): Modify for bitmapped sets.
89 (find_or_generate_expression): Ditto.
90 (create_expression_by_pieces): Ditto.
91 (insert_into_preds_of_block): Ditto.
92 (changed_blocks): New variable.
93 (do_regular_insertion): Broken out from insert_aux.
94 (insert_aux): Modified for bitmapped sets.
95 (find_existing_value_expr): New function.
96 (create_value_expr_from): Use it.
97 (insert_extra_phis): Removed.
98 (print_bitmap_set): Renamed from bitmap_print_value_set.
99 (compute_avail): Handle RETURN_EXPR.
100 (init_pre): Modify for bitmapped sets.
101 * tree-flow.h (has_stmt_ann): New function.
103 2006-10-29 Roger Sayle <roger@eyesopen.com>
105 * builtins.c (fold_builtin_floor): Check for the availability of
106 the C99 trunc function before transforming floor into trunc.
108 2006-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
110 * builtins.c (fold_builtin_hypot): Rearrange recursive
111 transformation before others, and also do ABS_EXPR. When
112 necessary, check flag_unsafe_math_optimizations. When necessary,
115 2006-10-29 Roger Sayle <roger@eyesopen.com>
117 * fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X.
118 Fold ~X op C as X op' ~C, where op' is the swapped comparison.
119 (fold_binary): ~X eq/ne C is now handled in fold_comparison.
120 Fold -X eq/ne -Y as X eq/ne Y.
122 2006-10-29 Richard Sandiford <richard@codesourcery.com>
124 * config/mips/mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than
125 GENERATE_MULT3_<MODE>. Restrict the test to SImode. Use ISA_HAS_MUL3
126 rather than GENERATE_MULT3_SI in the various define_peephole2s.
127 (mulsi3_mult3): Depend on ISA_HAS_MUL3 rather than GENERATE_MULT3_SI.
128 Use an inclusive test for "mult" rather than "mul".
129 (rotr<mode>3): Depend on ISA_HAS_ROR.
130 * config/mips/mips.h (GENERATE_MULT3_SI): Delete in favor of
132 (GENERATE_MULT3_DI): Delete.
133 (ISA_HAS_64BIT_REGS): Use consistent formatting.
134 (ISA_HAS_MUL3): New macro.
135 (ISA_HAS_CONDMOVE, ISA_HAS_8CC): Use consistent formatting.
136 (ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB): Likewise.
137 (ISA_HAS_CLZ_CLO): Likewise.
138 (ISA_HAS_DCLZ_DCLO): Delete.
139 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC): Require !TARGET_MIPS16.
140 (ISA_HAS_MACC): Require !TARGET_MIPS16 for all ISAs, not just
141 the VR4120 and VR4130.
142 (ISA_HAS_MACCHI): Use consistent formatting.
143 (ISA_HAS_ROTR_SI, ISA_HAS_ROTR_DI): Delete in favor of...
144 (ISA_HAS_ROR): ...this new macro.
145 (ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX): Use consistent formatting.
146 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS): Likewise.
147 (ISA_HAS_LOAD_DELAY): Use ISA_MIPS1.
149 2006-10-29 Roger Sayle <roger@eyesopen.com>
151 PR tree-optimization/15458
152 * fold-const.c (fold_binary): Optimize ~X ^ C as X ^ ~C, where C
155 2006-10-29 Richard Guenther <rguenther@suse.de>
157 * config/i386/i386-protos.h (ix86_expand_trunc): Declare.
158 (ix86_expand_truncdf_32): Likewise.
159 * config/i386/i386.c (ix86_expand_trunc): New function expanding
160 trunc inline for SSE math and -fno-trapping-math and if not
162 (ix86_expand_truncdf_32): Same for DFmode on 32bit archs.
163 * config/i386/i386.md (btruncsf2, btruncdf2): Adjust expanders
164 for expanding btrunc inline for SSE math.
166 2006-10-29 Joseph Myers <joseph@codesourcery.com>
168 * config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
169 Handle tuning for bi-arch i[34567]86-*-linux* like that for
170 i[34567]86-*-solaris2.1[0-9]*.
171 * config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS):
172 Define conditionally depending on TARGET_64BIT_DEFAULT.
173 (SPEC_32, SPEC_64): Define.
174 (LINK_SPEC): Use them.
175 * doc/install.texi (--enable-targets=all): Document for x86-linux.
177 2006-10-29 Richard Guenther <rguenther@suse.de>
179 * config/i386/i386-protos.h (ix86_expand_round): Declare.
180 (ix86_expand_rounddf_32): Likewise.
181 * config/i386/i386.c (ix86_expand_round): New function expanding
182 round inline for SSE math and -fno-trapping-math and if not
184 (ix86_expand_rounddf_32): Same for DFmode on 32bit archs.
185 * config/i386/i386.md (rounddf2, roundsf2): New pattern expanding
186 round via ix86_expand_round.
188 2006-10-29 Richard Guenther <rguenther@suse.de>
190 * config/i386/i386-protos.h (ix86_expand_floorceil): Declare.
191 (ix86_expand_floorceildf_32): Likewise.
192 * config/i386/i386.c (ix86_expand_sse_compare_mask): New
193 static helper function.
194 (ix86_expand_floorceil): Expander for floor and ceil to SSE
196 (ix86_expand_floorceildf_32): Same for DFmode on 32bit archs.
197 * config/i386/i386.md (floordf2): Adjust to enable floor
198 expansion via ix86_expand_floorceil if TARGET_SSE_MATH and
199 -fno-trapping-math is enabled and if not optimizing for size.
200 (floorsf2, ceildf2, ceilsf2): Likewise.
201 * config/i386/sse.md (sse_maskcmpsf3): New insn.
202 (sse2_maskcmpdf3): Likewise.
204 2006-10-29 Richard Guenther <rguenther@suse.de>
206 * builtins.c (expand_builtin_mathfn): Expand nearbyint as
207 rint in case -fno-trapping-math is enabled.
208 * config/i386/i386-protos.h (ix86_expand_rint): Declare.
209 * config/i386/i386.c (ix86_gen_TWO52): New static helper function.
210 (ix86_expand_sse_fabs): Likewise.
211 (ix86_expand_rint): New function expanding rint to x87 or SSE math.
212 * config/i386/i386.md (rintdf2): Enable for SSE math if
213 -fno-trapping-math is enabled, use ix86_expand_rint for expansion.
216 2006-10-29 Richard Guenther <rguenther@suse.de>
218 * genopinit.c (optabs): Change lfloor_optab and lceil_optab
219 to conversion optabs.
220 * optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab
222 * optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil.
223 (enum convert_optab_index): Add COI_lfloor and COI_lceil.
224 (lfloor_optab, lceil_optab): Adjust defines.
225 * builtins.c (expand_builtin_int_roundingfn): Adjust for
226 lfloor and lceil optabs now being conversion optabs.
227 * config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare.
228 * config/i386/i386.c (ix86_expand_sse_compare_and_jump):
229 New static helper function.
230 (ix86_expand_lfloorceil): New function to expand lfloor and
232 * config/i386/i386.md (lfloor<mode>2): Split into ...
233 (lfloorxf<mode>2): ... x87 variant
234 (lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants
235 using ix86_expand_lfloorceil.
236 (lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2):
238 * doc/md.texi (lfloorMN, lceilMN): Document.
240 2006-10-29 Richard Sandiford <richard@codesourcery.com>
242 * configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE. Test for the
243 -mno-shared assembler option on mips targets.
244 * configure, config.in: Regenerate.
245 * config/mips/linux.h (NO_SHARED_SPECS): New macro.
246 (DRIVER_SELF_SPECS): Define to NO_SHARED_SPECS if non-empty.
247 * config/mips/linux64.h (DRIVER_SELF_SPECS): Include NO_SHARED_SPECS.
249 2006-10-29 Richard Sandiford <richard@codesourcery.com>
251 * config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well
252 as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL.
254 2006-10-29 Kazu Hirata <kazu@codesourcery.com>
256 * config/darwin.c, config/darwin.opt, config/ia64/itanium1.md,
257 config/ia64/itanium2.md, real.c, tree-ssa-structalias.c: Fix
260 2006-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
263 * builtins.c (do_mpfr_arg2, fold_builtin_hypot): New.
264 (fold_builtin_pow): Evaluate constant arguments at compile-time
266 (fold_builtin_1): Handle BUILT_IN_ATAN2 and BUILT_IN_HYPOT.
267 (do_mpfr_ckconv): New helper function.
268 (do_mpfr_arg1): Use do_mpfr_ckconv.
271 2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
274 * doc/invoke.texi (-fdump-rtl-sched2) Fix file extension number.
275 (-fdump-rtl-sched): Rename to ..
276 (-fdump-rtl-sched1): here. Also fix file extension number.
278 2006-10-28 Richard Guenther <rguenther@suse.de>
280 * fold-const.c (maybe_canonicalize_comparison): Fix code
283 2006-10-28 Uros Bizjak <uros@kss-loka.si>
285 * config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
286 (NON_QI_REG_P): Use IN_RANGE.
287 (REX_INT_REGNO_P): Use IN_RANGE.
288 (FP_REGNO_P): Use IN_RANGE.
289 (SSE_REGNO_P): Use IN_RANGE.
290 (REX_SSE_REGNO_P): Use IN_RANGE.
291 (MMX_REGNO_P): Use IN_RANGE.
292 (STACK_REGNO_P): New macro.
293 (STACK_REG_P): Use STACK_REGNO_P.
294 (NON_STACK_REG_P): Use STACK_REGNO_P.
295 (REGNO_OK_FOR_INDEX_P): Use REX_INT_REGNO_P.
296 (REGNO_OK_FOR_BASE_P): Use GENERAL_REGNO_P.
297 (REG_OK_FOR_INDEX_NONSTRICT_P): Use REX_INT_REGNO_P.
298 (REG_OK_FOR_BASE_NONSTRICT_P): Use GENERAL_REGNO_P.
299 (HARD_REGNO_RENAME_OK): Use !IN_RANGE.
301 2006-10-28 Eric Botcazou <ebotcazou@adacore.com>
303 * except.h (output_function_exception_table): Add 'const char*' param.
304 * except.c (switch_to_exception_section): Add 'const char*' param.
305 If named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
306 and flag_function_sections is set, use a function-specific section.
307 (output_function_exception_table): Add 'const char*' param.
308 Adjust call to switch_to_exception_section.
309 * final.c (rest_of_handle_final): Adjust calls to
310 output_function_exception_table.
311 * configure.ac (HAVE_LD_EH_GC_SECTIONS): New check.
312 * config.in: Regenerate.
313 * configure: Likewise.
315 2006-10-28 Richard Guenther <rguenther@suse.de>
318 * fold-const.c (maybe_canonicalize_comparison_1): Helper
319 for maybe_canonicalize_comparison.
320 (maybe_canonicalize_comparison): New function for canonicalizing
322 (fold_comparison): Call it to canonicalize comparisons with
325 2006-10-28 Richard Guenther <rguenther@suse.de>
328 * builtins.c (expand_builtin_int_roundingfn_2): Expand
329 BUILT_IN_LROUND and BUILT_IN_LLROUND from here.
330 (expand_builtin): Adjust likewise.
331 * genopinit.c (optabs[]): Add lround optab.
332 * optabs.c (init_optabs): Initialize lround_optab.
333 * optabs.h (enum convert_optab_index): Add COI_lround.
334 (lround_optab): Define.
335 * config/i386/i386-protos.h (ix86_expand_lround): Declare.
336 * config/i386/i386.c (ix86_sse_copysign_to_positive): New
338 (ix86_expand_lround): New function.
339 * config/i386/i386.md (lround<mode>di2, lround<mode>si2):
341 * doc/md.texi (lroundMN2): Document.
343 2006-10-28 Uros Bizjak <uros@kss-loka.si>
346 * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
347 argument to HOST_WIDE_INT. Update function prototype.
348 (round_frame_size): Change return type to HOST_WIDE_INT. Change
349 "size" argument to HOST_WIDE_INT. Update function prototype.
351 2006-10-28 Uros Bizjak <uros@kss-loka.si>
353 * config/i386/i386.c (output_387_ffreep): Create output from a
354 template string for !HAVE_AS_IX86_FFREEP.
356 2006-10-27 Eric Christopher <echristo@apple.com>
358 * config/darwin.c: Fix formatting and grammar.
360 2006-10-27 Jan Hubicka <jh@suse.cz>
362 * builtins.c (fold_builtin): Don't generate NOP_EXPR that is going
363 to be thrown away soon when IGNORE is set.
364 * tree-ssa-ccp.c (convert_to_gimple_builtin): Add IGNORE argument
365 indicating when return value shall not be computed.
366 * gimplify.c (internal_get_tmp_var): Avoid random tree sharing.
368 2006-10-27 Vladimir Makarov <vmakarov@redhat.com>
370 * config/i386/i386.h (TARGET_GEODE):
371 (TARGET_CPU_CPP_BUILTINS): Add code for geode.
372 (TARGET_CPU_DEFAULT_geode): New macro.
373 (TARGET_CPU_DEFAULT_k6, TARGET_CPU_DEFAULT_k6_2,
374 TARGET_CPU_DEFAULT_k6_3, TARGET_CPU_DEFAULT_athlon,
375 TARGET_CPU_DEFAULT_athlon_sse, TARGET_CPU_DEFAULT_k8,
376 TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_prescott,
377 TARGET_CPU_DEFAULT_nocona, TARGET_CPU_DEFAULT_generic): Increase
379 (TARGET_CPU_DEFAULT_NAMES): Add geode.
380 (processor_type): Add PROCESSOR_GEODE.
382 * config/i386/i386.md: Include geode.md.
385 * config/i386/i386.c (geode_cost): New initialized global
387 (m_GEODE, m_K6_GEODE): New macros.
388 (x86_use_leave, x86_push_memory, x86_deep_branch, x86_use_sahf,
389 x86_use_himode_fiop, x86_promote_QImode, x86_add_esp_4,
390 x86_add_esp_8, x86_rep_movl_optimal, x86_ext_80387_constants,
391 x86_schedule): Use m_K6_GEODE instead of m_K6.
392 (x86_movx, x86_cmove): Set up m_GEODE.
393 (x86_integer_DFmode_moves): Clear m_GEODE.
394 (processor_target_table): Add entry for geode.
395 (processor_alias_table): Ditto.
397 * config/i386/geode.md: New file.
399 * doc/invoke.texi: Add entry about geode processor.
401 2006-10-27 Mike Stump <mrs@apple.com>
403 * config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and
404 __DYNAMIC__ from here back to ...
405 * config/darwin.h (CPP_SPEC): ... here.
407 2006-10-26 Nathan Froyd <froydnj@codesourcery.com>
408 Nathan Sidwell <nathan@codesourcery.com>
410 * ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative
411 when choosing the minimum heapsize.
413 2006-10-26 Nathan Froyd <froydnj@codesourcery.com>
415 * gcc/unwind-dw2.h: Move cfa-related variables into
416 struct frame_state_reg_info to ensure that the CFA is properly
417 handled when executing DW_CFA_{remember,restore}_state.
418 * gcc/unwind-dw2.c, gcc/config/alpha/linux-unwind.h,
419 gcc/config/alpha/vms-unwind.h, gcc/config/s390/tpf-unwind.h
420 gcc/config/s390/linux-unwind.h, gcc/config/sparc/linux-unwind.h
421 gcc/config/i386/linux-unwind.h, gcc/config/sh/linux-unwind.h
422 gcc/config/rs6000/linux-unwind.h,
423 gcc/config/rs6000/darwin-fallback.c, gcc/config/pa/linux-unwind.h,
424 gcc/config/pa/hpux-unwind.h, gcc/config/mips/linux-unwind.h:
425 Modify to use new cfa_* fields.
427 2006-10-26 Andreas Krebbel <krebbel1@de.ibm.com>
429 * config/s390/s390.c (s390_init_frame_layout): Check positive
432 2006-10-26 Ben Elliston <bje@au.ibm.com>
434 * gimplify.c (get_name): Remove extraneous break.
435 (gimplify_omp_for): Initialise ret with GS_OK.
437 2006-10-25 Steve Ellcey <sje@cup.hp.com>
439 * config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++.
440 Add unix98.o to link line.
442 2006-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
445 * builtins.c (fold_builtin_cbrt, fold_builtin_logarithm):
446 Calculate compile-time constants using MPFR.
447 (fold_builtin_1): Likewise handle BUILT_IN_ERF, BUILT_IN_ERFC,
448 BUILT_IN_EXPM1 and BUILT_IN_LOG1P.
450 2006-10-25 Bob Wilson <bob.wilson@acm.org>
452 * config/xtensa/lib2funcs.S: Use C-style comments.
454 2006-10-24 Nathan Froyd <froydnj@codesourcery.com>
456 * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
457 (file_table_relative_p): Likewise.
458 (dwarf2out_finish): Likewise.
459 (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
461 2006-10-25 Daniel Berlin <dberlin@dberlin.org>
463 * tree-ssa-structalias.c (intra_create_variable_infos):
464 Don't recreate nonlocal_all if it already exists.
466 2006-10-25 Richard Guenther <rguenther@suse.de>
469 * optabs.h (enum optab_index): Remove OTI_lrint.
470 (enum convert_optab_index): Add COI_lrint.
471 (lrint_optab): Adjust.
472 (expand_sfix_optab): Declare.
473 * optabs.c (expand_sfix_optab): New function.
474 (init_optabs): Init lrint_optab as conversion optab.
475 * genopinit.c (lrint_optab): Change to a conversion optab.
476 * builtins.c (expand_builtin_int_roundingfn_2): Adjust to
477 expansion via conversion optab.
478 * config/i386/i386.md (*fistdi2_1): Remove
479 flag_unsafe_math_optimizations guard.
480 (fistdi2, fistdi2_with_temp, *fist<mode>2_1, fist<mode>2,
481 fist<mode>2_with_temp): Likewise.
482 (lrint<mode>2): Split into...
483 (lrintxf<mode>2): ... x87 part
484 (lrint<mode>di2, lrint<mode>si2): ... and SSE parts.
485 * config/i386/sse.md (sse_cvtss2si_2, sse_cvtss2_siq_2,
486 sse2_cvtsd2si_2, sse2_cvtsd2siq_2): New insns for
487 UNSPEC_FIX_NOTRUNC matching non-vector float modes.
488 * doc/md.texi (lrintMN2): Document.
490 2006-10-25 Uros Bizjak <uros@kss-loka.si>
493 * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>"):
494 Use inc and dec instructions for TARGET_USE_INCDEC.
495 ("*sync_compare_and_swap<mode>"): Fix -masm=intel template.
496 ("sync_double_compare_and_swap<mode>"): Likewise.
497 ("*sync_double_compare_and_swapdi_pic"): Likewise.
498 ("*sync_compare_and_swap_cc<mode>"): Likewise.
499 ("sync_double_compare_and_swap_cc<mode>"): Likewise.
500 ("*sync_double_compare_and_swap_ccdi_pic"): Likewise.
501 ("sync_old_add<mode>"): Likewise.
502 ("sync_lock_test_and_set<mode>"): Likewise.
503 ("sync_lock_test_and_set<mode>"): Likewise.
504 ("sync_add<mode>"): Likewise.
505 ("sync_sub<mode>"): Likewise.
506 ("sync_ior<mode>"): Likewise.
507 ("sync_and<mode>"): Likewise.
508 ("sync_xor<mode>"): Likewise.
510 2006-10-25 Uros Bizjak <uros@kss-loka.si>
512 * optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder.
513 (remainder_optab): Define corresponding macro.
514 (drem_optab): Remove.
515 * optabs.c (init_optabs): Initialize remainder_optab. Remove
516 drem_optab initialization.
517 * genopinit.c (optabs): Implement remainder_optab using
518 remainder?f3 patterns. Remove drem_optab.
519 * builtins.c (expand_builtin_mathfn_2): Handle
520 BUILT_IN_REMAINDER{,F,L} using remainder_optab.
521 (expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using
522 expand_builtin_mathfn_2.
524 (expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not
525 depend on flag_unsafe_math_optimizations.
527 * config/i386/i386.md ("remaindersf3", "remainderdf3")
528 ("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders.
529 Do not depend on flag_unsafe_math_optimizations. Use
530 truncxf?f expander instead of truncxf?f_i387_noop.
532 ("fpremxf4", "fprem1xf4"): Do not depend on
533 flag_unsafe_math_optimizations.
534 ("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on
535 flag_unsafe_math_optimizations. Use truncxf?f expander
536 instead of truncxf?f_i387_noop.
538 * doc/md.texi (fmod, remainder): Document standard named pattern.
540 2006-10-24 Richard Sandiford <richard@codesourcery.com>
541 David Daney <ddaney@avtrex.com>
544 * rtlanal.c (nonzero_address_p): Remove check for values wrapping.
546 2006-10-25 Ben Elliston <bje@au.ibm.com>
548 * doc/extend.texi (Variable Attributes): Typo fix.
550 2006-10-24 Uros Bizjak <uros@kss-loka.si>
552 * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 54.
553 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add fpcr register.
554 (REG_ALLOC_ORDER): Add one element to allocate fpcr register.
555 (FRAME_POINTER_REGNUM): Update register number to 21.
556 (REG_CLASS_CONTENTS): Update contents for added fpcr register.
557 (HI_REGISTER_NAMES): Add "fpcr" for fpcr register.
559 * config/i386/i386.c (regclass_map): Add fpcr entry.
560 (dbx_register_map, dbx64_register_map, svr4_dbx_register_map):
562 (print_reg): Assert REGNO (x) != FPCR_REG.
564 * config/i386/i386.md (FPCR_REG, R11_REG): New constants.
565 (DIRFLAG_REG): Renumber.
566 (x86_fnstcw_1, x86_fldcw_1): Use FPCR_REG instead of FPSR_REG.
567 (*sibcall_1_rex64_v, *sibcall_value_1_rex64_v): Use R11_REG.
568 (sse_prologue_save, *sse_prologue_save_insn): Renumber
569 hardcoded SSE register numbers.
571 * config/i386/mmx.md (mmx_emms, mmx_femms): Renumber
572 hardcoded MMX register numbers.
574 2006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
577 * builtins.c (fold_builtin_sin, fold_builtin_atan): Remove.
578 (do_mpfr_arg1): Add `min', `max' and `inclusive' arguments.
580 (BUILT_IN_SIN, BUILT_IN_ATAN): Handle in main switch.
581 (BUILT_IN_ASIN, BUILT_IN_ACOS, BUILT_IN_ATAN, BUILT_IN_ASINH,
582 BUILT_IN_ACOSH, BUILT_IN_ATANH, BUILT_IN_SINH, BUILT_IN_COSH,
583 BUILT_IN_TANH): Calculate compile-time arguments using MPFR.
585 2006-10-24 Richard Guenther <rguenther@suse.de>
588 * builtins.c (fold_builtin_classify): Use HONOR_INFINITIES
589 and HONOR_NANS instead of MODE_HAS_INFINITIES and MODE_HAS_NANS
590 for deciding optimizations in consistency with fold-const.c
591 (fold_builtin_unordered_cmp): Likewise.
593 2006-10-24 Richard Guenther <rguenther@suse.de>
595 * builtins.c (fold_builtin_floor): Fold floor (x) where
596 x is nonnegative to trunc (x).
597 (fold_builtin_int_roundingfn): Fold lfloor (x) where x is
598 nonnegative to FIX_TRUNC_EXPR.
600 2006-10-24 Richard Guenther <rguenther@suse.de>
602 PR tree-optimization/29567
603 * tree-vrp.c (register_edge_assert_for_1): Fix wrong logic
604 for TRUTH_NOT_EXPR. Clarify comments.
606 2006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
609 * builtins.c (fold_builtin_exponent): Evaluate constant arguments
610 at compile-time using MPFR. Change parameter VALUE to FUNC,
612 (do_mpfr_arg1): Rename `exact' to `inexact'. Carefully check
613 for overflow and underflow at all times and avoid folding in
616 2006-10-24 Ben Elliston <bje@au.ibm.com>
618 * reload1.c: Formatting fixes.
620 2006-10-23 Zdenek Dvorak <dvorakz@suse.cz>
622 PR tree-optimization/14784
623 * tree-flow.h (struct var_ann_d): Add is_heapvar bit.
624 * tree-ssa-structalias.c (get_constraint_for,
625 intra_create_variable_infos): Set is_heapvar.
626 * tree-ssa-operands.c (access_can_touch_variable): Do not handle
627 non-heapvar pointer variables specially.
629 2006-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
632 * builtins.c (fold_builtin_sin, fold_builtin_cos,
633 fold_builtin_tan): Fold all constant arguments. Take a "type"
634 argument as necessary.
636 * real.c, real.h (real_from_mpfr, mpfr_from_real): New.
638 2006-10-23 Bob Wilson <bob.wilson@acm.org>
640 * config/xtensa/lib1funcs.asm: Use C-style comments.
642 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
644 * tree.c (local_define_builtin): Replace calls to
645 lang_hooks.builtin_function with add_builtin_function.
646 * c-objc-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
648 * c-tree.h (builtin_function): Rename to c_builtin_function. Change
650 * c-decl.c (builtin_function): Rename to c_builtin_function. Move
651 common code to add_builtin_function.
652 * langhooks.c (add_builtin_function): New function.
653 (lhd_builtin_function): New function.
654 * langhooks.h (struct lang_hooks): Change the signature of
656 (add_builtin_function): New function.
657 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Replace
658 calls to lang_hooks.builtin_function with add_builtin_function.
659 * c-common.c (decl_builtin_1): Replace calls to
660 lang_hooks.builtin_function with add_builtin_function.
661 * config/alpha/alpha.c (alpha_init_builtins): Replace calls to
662 lang_hooks.builtin_function with add_builtin_function.
663 * config/frv/frv.c (def_builtin): Replace calls to
664 lang_hooks.builtin_function with add_builtin_function.
665 * config/s390/s390.c (s390_init_builtins): Replace calls to
666 lang_hooks.builtin_function with add_builtin_function.
667 * config/sparc/sparc.c (def_builtin): Replace calls to
668 lang_hooks.builtin_function with add_builtin_function.
669 * config/i386/i386.c (def_builtin): Replace calls to
670 lang_hooks.builtin_function with add_builtin_function.
671 * config/sh/sh.c (sh_media_init_builtins): Replace calls to
672 lang_hooks.builtin_function with add_builtin_function.
673 * config/c4x/c4x.c (c4x_init_builtins): Replace calls to
674 lang_hooks.builtin_function with add_builtin_function.
675 * config/stormy16/stormy16.c (xstormy16_init_builtins):
676 Replace calls to lang_hooks.builtin_function with
677 add_builtin_function.
678 * config/iq2000/iq2000.c (def_builtin):
679 Replace calls to lang_hooks.builtin_function with
680 add_builtin_function.
681 * config/ia64/ia64.c (def_builtin): Replace calls to
682 lang_hooks.builtin_function with add_builtin_function.
683 * config/rs6000/rs6000.c (def_builtin): Replace calls to
684 lang_hooks.builtin_function with add_builtin_function.
685 (altivec_init_builtins): Replace calls to
686 lang_hooks.builtin_function with add_builtin_function.
687 * config/arm/arm.c (def_mbuiltin): Replace calls to
688 lang_hooks.builtin_function with add_builtin_function.
689 (arm_init_tls_builtins): Replace calls to
690 lang_hooks.builtin_function with add_builtin_function.
691 * config/mips/mips.c (mips_init_builtins): Replace calls to
692 lang_hooks.builtin_function with add_builtin_function.
693 * config/bfin/bfin.c (def_builtin): Replace calls to
694 lang_hooks.builtin_function with add_builtin_function.
695 * langhooks-def.h (lhd_builtin_function): New function.
696 (LANG_HOOKS_BUILTIN_FUNCTION): Define as lhd_builtin_function.
698 2006-10-23 Jakub Jelinek <jakub@redhat.com>
700 * builtins.c (expand_builtin, maybe_emit_chk_warning): Handle
701 BUILT_IN_STRNCAT_CHK.
703 2006-10-23 Jan Hubicka <jh@suse.cz>
705 * builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument;
706 don't do conversion from memmove to memcpy here.
707 (expand_builtin_bcopy, expand_builtin): Update call of
708 expand_builtin_memmove.
709 (fold_builtin_memory_op): Do folding of memmove to memcpy here.
711 2006-10-23 Paul Brook <paul@codesourcery.com>
713 * stor-layout.c (start_record_layout): maximum_field_alignment
714 overrides STRUCTURE_SIZE_BOUNDARY.
716 2006-10-23 Ulrich Weigand <uweigand@de.ibm.com>
718 * config/s390/predicates.md ("bras_sym_operand"): Do not accept
719 nonlocal function symbols if flag_pic.
721 2006-10-23 Richard Guenther <rguenther@suse.de>
725 * builtins.c (fold_binary): Remove checks for flag_wrapv
726 and flag_trapv where negate_expr_p covers these cases.
728 2006-10-23 Richard Guenther <rguenther@suse.de>
731 * fold-const.c (fold_plusminus_mult_expr): Check exact power
732 of two on the absolute value.
733 (fold_binary): Fold x * -C to -x * C if x is easily negatable
734 and negating -C does not overflow.
736 2006-10-23 Richard Guenther <rguenther@suse.de>
739 * convert.c (convert_to_real): Fold (float)-x to -(float)x
740 only if not flag_rounding_math.
742 2006-10-22 Richard Sandiford <richard@codesourcery.com>
743 Kaz Kojima <kkojima@gcc.gnu.org>
746 * config/sh/sh.c (expand_block_move): Use a BLKmode rather than
747 SImode memory reference for the source of a movua.
748 * config/sh/sh.md (UNSPEC_MOVUA): New macro.
749 (movua): Use an unspec instead of sign_extract. Expect the source
750 to have mode BLKmode.
751 (extv, insv): Use a BLKmode rather than SImode memory reference
752 for the source of a movua.
754 2006-10-22 Jeff Law <law@redhat.com>
755 Richard Guenther <rguenther@suse.de>
757 PR tree-optimization/15911
758 * tree-vrp.c (extract_code_and_val_from_cond): New function.
759 (register_edge_assert_for_1): Likewise.
760 (register_edge_assert_for): Handle &&/&/||/| in conditionals.
761 (find_conditional_asserts): Adjust for new function signature.
762 (find_assert_locations): Likewise.
764 2006-10-22 H.J. Lu <hongjiu.lu@intel.com>
766 * config/i386/tmmintrin.h: Remove the duplicated content.
768 2006-10-22 H.J. Lu <hongjiu.lu@intel.com>
770 * config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers.
771 (x86_64-*-*): Likewise.
773 * config/i386/i386.c (pta_flags): Add PTA_SSSE3.
774 (override_options): Check SSSE3.
775 (ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD,
776 IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD,
777 IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW,
778 IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB,
779 IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND,
780 IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW,
781 IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128,
782 IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128,
783 IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128,
784 IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128,
785 IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128,
786 IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128,
787 IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128,
788 IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and
789 IX86_BUILTIN_PABSD128.
790 (bdesc_2arg): Add SSSE3.
791 (bdesc_1arg): Likewise.
792 (ix86_init_mmx_sse_builtins): Support SSSE3.
793 (ix86_expand_builtin): Likewise.
794 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise.
796 * config/i386/i386.md (UNSPEC_PSHUFB): New.
797 (UNSPEC_PSIGN): Likewise.
798 (UNSPEC_PALIGNR): Likewise.
799 Include mmx.md before sse.md.
801 * config/i386/i386.opt: Add -mssse3.
803 * config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3.
804 (ssse3_phaddwv4hi3): Likewise.
805 (ssse3_phadddv4si3): Likewise.
806 (ssse3_phadddv2si3): Likewise.
807 (ssse3_phaddswv8hi3): Likewise.
808 (ssse3_phaddswv4hi3): Likewise.
809 (ssse3_phsubwv8hi3): Likewise.
810 (ssse3_phsubwv4hi3): Likewise.
811 (ssse3_phsubdv4si3): Likewise.
812 (ssse3_phsubdv2si3): Likewise.
813 (ssse3_phsubswv8hi3): Likewise.
814 (ssse3_phsubswv4hi3): Likewise.
815 (ssse3_pmaddubswv8hi3): Likewise.
816 (ssse3_pmaddubswv4hi3): Likewise.
817 (ssse3_pmulhrswv8hi3): Likewise.
818 (ssse3_pmulhrswv4hi3): Likewise.
819 (ssse3_pshufbv16qi3): Likewise.
820 (ssse3_pshufbv8qi3): Likewise.
821 (ssse3_psign<mode>3): Likewise.
822 (ssse3_psign<mode>3): Likewise.
823 (ssse3_palignrti): Likewise.
824 (ssse3_palignrdi): Likewise.
825 (abs<mode>2): Likewise.
826 (abs<mode>2): Likewise.
828 * config/i386/tmmintrin.h: New file.
830 * doc/extend.texi: Document SSSE3 built-in functions.
832 * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches.
834 2006-10-22 Ira Rosen <irar@il.ibm.com>
836 * tree-vect-transform.c (vectorizable_load): Use the type of the
837 return value of the mask_for_load builtin to create realign_load
840 2006-10-22 Richard Sandiford <richard@codesourcery.com>
842 * config/mips/mips.c (mips_split_const): Don't accept bare PLUS
845 2006-10-21 H.J. Lu <hongjiu.lu@intel.com>
847 * config/i386/i386.md (UNSPEC_LDQQU): Renamed to ...
848 (UNSPEC_LDDQU): This.
849 * config/i386/sse.md (sse3_lddqu): Updated.
851 2006-10-21 Richard Guenther <rguenther@suse.de>
853 * builtins.c (expand_builtin_int_roundingfn_2): New function.
854 (expand_builtin): Use it to expand lrint instead of
855 expand_builtin_mathfn.
857 2006-10-21 Uros Bizjak <uros@kss-loka.si>
860 * builtins.c (fold_builtin): Fold pow(x,1.0/3.0) as cbrt(x) if
861 flag_unsafe_math_optimizations is set.
863 2006-10-21 Uros Bizjak <uros@kss-loka.si>
866 * config/i386/i386.md (fix_trunc?f?i_sse): Add peephole2
867 patterns to use memory input operand in x87->mem->XMM
868 reload sequences. Skip transformation for TARGET_K8.
870 2006-10-21 Uros Bizjak <uros@kss-loka.si>
872 * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Do not
873 force operand1 to register if both operands are memory operands.
874 (*extendsfdf2_mixed, *extendsfdf2_sse, *extendsfdf2_i387)
875 (*extendsfxf2_i387, *extenddfxf2_i387): Do not disable pattern
876 if both operands are memory operands.
877 (truncdfsf2): Do not force operand1 to register if both operands
880 2006-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
882 * Makefile.in (LIBS): Add $(GMPLIBS).
883 * doc/install.texi: Update GMP and MPFR requirements.
884 * doc/sourcebuild.texi (need_gmp): Delete.
886 2006-10-21 Richard Guenther <rguenther@suse.de>
888 PR tree-optimization/3511
889 * tree-ssa-pre.c (phi_translate): Fold CALL_EXPRs that
890 got new invariant arguments during PHI translation.
892 2006-10-21 Richard Guenther <rguenther@suse.de>
895 * fold-const.c (fold_comparison): Fold signed comparisons
896 of the form X +- C1 CMP Y +- C2.
898 2006-10-21 Richard Guenther <rguenther@suse.de>
901 * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
902 if flag_unsafe_math_optimizations is specified. We have
903 flag_finite_math_only for that.
904 * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
905 or flag_unsafe_math_optimizations.
907 2006-10-21 Richard Guenther <rguenther@suse.de>
909 * builtins.c (fold_builtin_classify): Fix typo.
911 2006-10-21 Richard Guenther <rguenther@suse.de>
914 * simplify-rtx.c (simplify_const_relational_operation):
915 Do not constant-fold ORDERED and UNORDERED for
916 flag_unsafe_math_optimizations but only we do not need to
917 honor NaNs for the given mode.
919 2006-10-21 Richard Guenther <rguenther@suse.de>
922 * config/i386/i386.c (classify_argument): Remove redundant
923 walking of the BINFOs.
924 (contains_128bit_aligned_vector_p): Likewise.
926 2006-10-20 Mark Mitchell <mark@codesourcery.com>
928 * BASE-VER: Set to 4.3.0.
930 2006-10-20 Daniel Berlin <dberlin@dberlin.org>
932 * tree.h (DECL_PTA_ARTIFICIAL): Remove.
933 (tree_decl_with_vis): Remove artificial_pta_var flag.
934 * tree-flow.h (referenced_var_check_and_insert): Expose.
935 (nonlocal_all): New prototype.
936 * tree-ssa-structalias.c (nonlocal_for_type): Remove.
937 (nonlocal_all): Make global.
938 (nonlocal_lookup): Remove.
939 (nonlocal_insert): Ditto.
940 (create_nonlocal_var): Do not call nonlocal_insert.
941 (get_nonlocal_id_for_type): Remove.
942 (find_global_initializers): Mark new vars we find for renaming.
943 (intra_create_variable_infos): Only create one nonlocal.
944 (expand_nonlocal_solutions): Remove.
945 (compute_points_to_sets): Don't call it.
946 (ipa_pta_execute): Ditto.
947 (init_alias_heapvars): Don't create nonlocal_for_type.
948 (delete_alias_heapvars): Don't remove it.
949 * tree-ssa-operands.c (access_can_touch_variable): Don't prune
952 2006-10-19 Brooks Moses <bmoses@stanford.edu>
954 * doc/install.texi (Downloading GCC): Clarify mention of
955 Fortran in the "full distribution" description.
957 2006-10-19 Daniel Berlin <dberlin@dberlin.org>
959 Fix PR tree-optimization/28778
960 Fix PR tree-optimization/29156
961 Fix PR tree-optimization/29415
962 * tree.h (DECL_PTA_ARTIFICIAL): New macro.
963 (tree_decl_with_vis): Add artificial_pta_var flag.
964 * tree-ssa-alias.c (is_escape_site): Remove alias info argument,
966 * tree-ssa-structalias.c (nonlocal_for_type): New variable.
967 (nonlocal_all): Ditto.
968 (struct variable_info): Add directly_dereferenced member.
969 (var_escaped_vars): New variable.
970 (escaped_vars_tree): Ditto.
971 (escaped_vars_id): Ditto.
972 (nonlocal_vars_id): Ditto.
973 (new_var_info): Set directly_dereferenced.
974 (graph_size): New variable
975 (build_constraint_graph): Use graph_size.
976 (solve_graph): Don't process constraints that cannot change the
977 solution, don't try to propagate an empty solution to our
979 (process_constraint): Set directly_dereferenced.
980 (could_have_pointers): New function.
981 (get_constraint_for_component_ref): Don't process STRING_CST.
982 (nonlocal_lookup): New function.
983 (nonlocal_insert): Ditto.
984 (create_nonlocal_var): Ditto.
985 (get_nonlocal_id_for_type): Ditto.
986 (get_constraint_for): Allow results vector to be empty in the case
988 Handle results of calls properly.
989 (update_alias_info): Update alias info stats on number and type of
991 (find_func_aliases): Use could_have_pointers.
992 (make_constraint_from_escaped): Renamed from
993 make_constraint_to_anything, and changed to make constraints from
995 (make_constraint_to_escaped): New function.
996 (find_global_initializers): Ditto.
997 (create_variable_info_for): Make constraint from escaped to any
998 global variable, and from any global variable to the set of
1000 (intra_create_variable_infos): Deal with escaped instead of
1001 pointing to anything.
1002 (set_uids_in_ptset): Do type pruning on directly dereferenced
1004 (find_what_p_points_to): Adjust call to set_uids_with_ptset.
1005 (init_base_vars): Fix comment, and initialize escaped_vars.
1006 (need_to_solve): Removed.
1007 (find_escape_constraints): New function.
1008 (expand_nonlocal_solutions): Ditto.
1009 (compute_points_to_sets): Call find_escape_constraints and
1010 expand_nonlocal_solutions.
1011 (delete_points_to_sets): Don't fall off the end of the graph.
1012 (init_alias_heapvars): Initialize nonlocal_for_type and
1014 (delete_alias_heapvars): Free nonlocal_for_type and null out
1017 2006-10-19 Eric Botcazou <ebotcazou@adacore.com>
1019 * fold-const.c (add_double): Rename to add_double_with_sign.
1020 Add 'unsigned_p' parameter and take it into account for the overflow.
1021 (mul_double): Rename to mul_double_with_sign.
1022 Add 'unsigned_p' parameter and take it into account for the overflow.
1023 (fold_div_compare): Call add_double_with_sign instead of add_double
1024 and mul_double_with_sign instead of mul_double, passing them the
1025 unsignedness of the type.
1026 * tree.h (add_double): Macroize.
1027 (add_double_with_sign): New prototype.
1028 (mul_double): Macroize.
1029 (mul_double_with_sign): New prototype.
1031 2006-10-19 Chen Liqin <liqin@sunnorth.com.cn>
1033 * config/score/crti.asm: New file.
1034 * config/score/crtn.asm: New file.
1035 * config/score/elf.h: New file.
1036 * config/score/mac.md: New file.
1037 * config/score/misc.md: New file.
1038 * config/score/mul-div.S: New file.
1039 * config/score/predicates.md: New file.
1040 * config/score/score7.md: New file.
1041 * config/score/score.c: New file.
1042 * config/score/score-conv.h: New file.
1043 * config/score/score.h: New file.
1044 * config/score/score.md: New file.
1045 * config/score/score-mdaux.c: New file.
1046 * config/score/score-mdaux.h: New file.
1047 * config/score/score-modes.def: New file.
1048 * config/score/score.opt: New file.
1049 * config/score/score-protos.h: New file.
1050 * config/score/score-version.h: New file.
1051 * config/score/t-score-elf: New file.
1052 * config.gcc: Add score*-*-* configurations(Update before).
1053 * doc/invoke.texi (Score Options): New section.
1054 * doc/md.texi (Score family): New section to document constraints.
1056 2006-10-19 Nick Clifton <nickc@redhat.com>
1058 * config/arm/arm.c: Fix spelling typo.
1060 2006-10-18 Tom Tromey <tromey@redhat.com>
1062 * doc/install.texi (Prerequisites): Mention automake 1.9.6.
1064 2006-10-18 Jan Hubicka <jh@suse.cz>
1067 * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
1070 2006-10-18 Marcin Dalecki <martin@dalecki.de>
1072 * omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of
1073 TSI_SAME_STMT, since that's the desired entity.
1075 2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com>
1077 * config/s390/contraints.md: New file.
1078 * config/s390/s390-protos.h (s390_mem_constraint,
1079 s390_O_constraint_str, s390_N_constraint_str,
1080 s390_float_const_zero_p): Function prototypes added.
1081 * config/s390/s390.c (s390_extra_constraint_str,
1082 s390_const_double_ok_for_constraint_p,
1083 s390_const_ok_for_constraint_p): Functions removed.
1084 (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
1085 s390_float_const_zero_p): New functions.
1086 * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
1087 CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
1088 EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
1089 Macro definitions removed.
1090 (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
1091 s390_extra_constraint_str): Functions removed.
1093 2006-10-17 Andrew Pinsiki <pinskia@gmail.com>
1094 Richard Sandiford <richard@codesourcery.com>
1097 * config/mips/linux.h (SUBTARGET_CC1_SPEC): Override.
1098 * config/mips/mips.h (CC1_SPEC): Override any earlier definition.
1100 2006-10-16 Geoffrey Keating <geoffk@apple.com>
1102 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h.
1103 (DWARF2_FRAME_REG_OUT): Likewise.
1104 * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h.
1105 (DWARF2_FRAME_REG_OUT): Likewise.
1107 2006-10-17 Paul Brook <paul@codesourcery.com>
1109 * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate.
1111 2006-10-16 Brooks Moses <bmoses@stanford.edu>
1113 * doc/contrib.texi, doc/install.texi, doc/standards.texi:
1114 Standardize on "GNU Fortran" as the official name of the Fortran
1117 2006-10-16 Mike Stump <mrs@apple.com>
1119 * doc/invoke.texi (Darwin Options): Document -mkernel.
1120 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
1122 (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support. Add
1123 SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout.
1124 (CC1_SPEC): Don't turn on -fPIC when -mkernel is given.
1125 (OS_MISSING_ALTIVEC): Add.
1126 * config/i386/i386.c (override_options): Add
1127 SUBSUBTARGET_OVERRIDE_OPTIONS callout.
1128 * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when
1129 -mkernel, -static or -mdynamic-no-pic is given.
1130 (C_COMMON_OVERRIDE_OPTIONS): Add.
1131 * config/darwin.opt (fapple-kext): Add.
1133 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add
1134 -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and
1136 (SUBSUBTARGET_OVERRIDE_OPTIONS): Add.
1137 (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add.
1138 (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here...
1139 (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility.
1140 (TARGET_CXX_CDTOR_RETURNS_THIS): Add.
1141 (flag_mkernel): Add.
1142 (flag_apple_kext): Add.
1143 (TARGET_KEXTABI): Add.
1144 * config/darwin.c (darwin_handle_kext_attribute): Add.
1145 (DARWIN_VTABLE_P): Add.
1146 (darwin_binds_local_p): Add partial support for rebinding vtables
1148 (darwin_kextabi_p): Add.
1149 (darwin_override_options): Add.
1150 * config/darwin-protos.h (darwin_handle_kext_attribute): Add.
1151 (darwin_kextabi_p): Add.
1152 (darwin_override_options): Add.
1153 * config/darwin-c.c (darwin_cpp_builtins): ... move defines for
1154 __DYNAMIC__ and __STATIC__ here.
1156 2006-10-16 Brooks Moses <bmoses@stanford.edu>
1158 * doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi:
1159 Added mention of "make pdf" target, and Texinfo requirements for
1162 2006-10-16 DJ Delorie <dj@redhat.com>
1164 * config/s390/s390.c (s390_decompose_address): Allow symbol+offset
1165 into the GOT in case we need a subreg of the address.
1167 2006-10-16 Richard Guenther <rguenther@suse.de>
1170 * doc/extend.texi (X86 Built-in Functions): Fix typos in
1171 SSE builtin documentation. Document SSE2 builtins.
1173 2006-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1175 * pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined
1176 symbol in the output file for non-shared links when -nostdlib or
1177 -nodefaultlibs isn't specified.
1179 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to
1180 posix thread support.
1182 2006-10-15 Jan Hubicka <jh@suse.cz>
1185 * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
1186 declared always_inline even when not inlining.
1188 2006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr>
1189 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1190 Andrew Pinski <pinskia@gmail.com>
1193 * builtins.c (get_pointer_alignment): Return 0 if TER is not run.
1195 2006-10-15 Jan Hubicka <jh@suse.cz>
1196 Richard Guenther <rguenther@suse.de>
1199 * cgraphunit.c (cgraph_finalize_compilation_unit): Call
1200 process_function_and_variable_attributes on all variables, including
1201 those discovered during cgraph construction phase.
1203 2006-10-15 Bernhard Fischer <aldot@gcc.gnu.org>
1205 * final.c: Update Copyright year. Commentary typo fix. Fix whitespace
1207 2006-10-14 Uros Bizjak <uros@kss-loka.si>
1209 * config/i386/athlon.md (athlon_fist): Add fisttp.
1211 2006-10-13 David Edelsohn <edelsohn@gnu.org>
1212 Ian Lance Taylor <ian@airs.com>
1215 * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
1216 CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
1219 2006-10-14 Kazu Hirata <kazu@codesourcery.com>
1221 * config/score/score.c, config/score/score.h: Fix comment
1224 2006-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1227 * Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of
1230 2006-10-13 Eric Christopher <echristo@apple.com>
1232 * config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1234 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
1237 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
1238 * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
1239 alignment supported by 32-bit ELF.
1241 2006-10-13 Eric Christopher <echristo@apple.com>
1243 * config/darwin.c (darwin_emit_unwind_label): Strip
1244 name encoding. Use DECL_ASSEMBLER_NAME_SET_P.
1246 2006-10-13 Richard Guenther <rguenther@suse.de>
1248 PR tree-optimization/29446
1249 * tree-vrp.c (fix_equivalence_set): Remove.
1250 (extract_range_from_assert): Do not call fix_equivalence_set.
1251 (debug_value_range): Print a newline.
1252 (compare_name_with_value): For equivalence sets with
1253 inconsistent value ranges conservatively bail out.
1254 (compare_names): Likewise.
1256 2006-10-13 David Edelsohn <edelsohn@gnu.org>
1258 * doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP
1259 and MPFR for gfortran.
1261 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
1263 * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
1264 alignment supported by 32-bit ELF.
1266 2006-10-13 Paolo Bonzini <bonzini@gnu.org>
1270 * c-typeck.c (digest_init): Always allow initializing vectors
1271 that have static storage duration with compound literals.
1272 * tree.c (build_type_attribute_qual_variant): New, based on
1273 build_type_attribute_variant.
1274 (build_type_attribute_variant): Rewrite using the former.
1275 (make_vector_type): Use build_type_attribute_qual_variant to build
1276 type variants. Use type_hash_canon on the others.
1278 2006-10-13 Daniel Berlin <dberlin@dberlin.org>
1279 Ramana Radhakrishnan <ramana.radhakrishnan@celunite.com>
1281 * tree-flow-inline.h (zero_ssa_operands): Fix comment.
1283 2006-10-12 Jan Hubicka <jh@suse.cz>
1286 * c-decl.c (c_make_fname_decl): Do not segfault in case where
1287 current_function_decl is set but current_function_scope is not.
1289 2006-10-12 Jie Zhang <jie.zhang@analog.com>
1291 * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of
1292 emit_insn to emit eh_return_internal instruction.
1293 (eh_return_internal): Explicitly set pc.
1295 2006-10-11 Richard Guenther <rguenther@suse.de>
1297 PR tree-optimization/28230
1298 * tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling
1299 to the correct place.
1301 2006-10-11 Richard Guenther <rguenther@suse.de>
1304 * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue
1307 2006-10-10 Brooks Moses <bmoses@stanford.edu>
1309 * configure.ac: Added pdf to "Make-hooks"
1310 * Makefile.in: Added TEXI2PDF definition, and various pdf-file
1311 targets and *.pdf file patterns in cleanup targets.
1312 * configure: Regenerated.
1314 2006-10-10 Anatoly Sokolov <aesok@post.ru>
1316 * config/avr/predicates.md: New file.
1317 * config/avr/avr.md: Include it.
1318 (REG_SP): New constant.
1319 (peepholes): Use predicates.
1320 (sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch,
1321 difficult_branch, difficult_rvbranch, cbi, sbi, sbix_branch,
1322 sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto.
1324 2006-10-10 Adam Nemet <anemet@caviumnetworks.com>
1326 * config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to
1329 2006-10-10 Jakub Jelinek <jakub@redhat.com>
1332 * builtins.c (var_decl_component_p): New function.
1333 (fold_builtin_memset, fold_builtin_memory_op): Restrict
1334 single entry optimization to variables and components thereof.
1336 2006-10-10 Richard Guenther <rguenther@suse.de>
1338 PR rtl-optimization/29323
1339 * except.c (set_nothrow_function_flags): For functions
1340 that do not bind local bail out early.
1342 2006-10-10 Ben Elliston <bje@au.ibm.com>
1344 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the
1347 2006-10-09 Richard Henderson <rth@redhat.com>
1349 Revert emutls patch.
1351 2006-10-09 Richard Guenther <rguenther@suse.de>
1354 * cgraphunit.c (verify_cgraph_node): Bail out on earlier
1357 2006-10-09 Steve Ellcey <sje@cup.hp.com>
1360 * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
1361 * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo.
1362 * configure: Regenerate.
1363 * config.in: Regenerate.
1365 2006-10-09 Aldy Hernandez <aldyh@redhat.com>
1367 * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
1369 2006-10-08 Richard Sandiford <richard@codesourcery.com>
1371 * config/mips/mips.c (mips_legitimize_tls_address): Implement
1372 all TLS models in the same way as local exec if !TARGET_ABICALLS.
1373 Remove stray newline.
1375 2006-10-08 Richard Sandiford <richard@codesourcery.com>
1377 * config/mips/mips.c (mips_classify_symbol): Do not return
1378 SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK.
1379 (mips_in_small_data_p): Tweak comments.
1381 2006-10-08 Richard Sandiford <richard@codesourcery.com>
1383 * config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define.
1385 2006-10-07 Kazu Hirata <kazu@codesourcery.com>
1387 * gimplify.c, sched-int.h: Fix comment typos.
1389 * sched-int.h: Fix comment typos.
1391 2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
1393 * sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P):
1395 * sched-ebb.c (begin_schedule_ready): Use them.
1396 * haifa-sched.c (schedule_insn, move_insn, try_ready,
1397 add_to_speculative_block, create_check_block_twin, speculate_insn,
1398 fix_jump_move, move_block_after_check): Ditto.
1399 * sched-rgn.c (new_ready): Ditto.
1401 2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
1403 PR rtl-optimization/29128
1404 * sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro.
1405 * sched-ebb.c (advance_target_bb): Use it to fix condition to
1406 allow interblock movement of speculation checks.
1408 2006-10-06 Zdenek Dvorak <dvorakz@suse.cz>
1411 * tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers
1412 casted to integer type.
1413 (get_address_cost): Decrease cost of [symbol + index] addressing modes
1414 if they are significantly more expensive than [reg + index] ones.
1416 2006-10-06 Jakub Jelinek <jakub@redhat.com>
1418 PR tree-optimization/29330
1419 * tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro.
1420 (initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer
1421 on newly allocated ddrs.
1422 (find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer
1423 to VEC (loop_p, heap) pointer.
1424 (compute_data_dependences_for_loop): Adjust caller.
1425 (free_dependence_relations): Free DDR_LOOP_NEST.
1427 * tree-loop-linear.c (linear_transform_loops): Don't forget to
1428 free DEPENDENCE_RELATIONS and DATAREFS.
1431 * builtins.c (expand_builtin_sync_operation,
1432 expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set):
1433 Use convert_to_mode to handle promoted arguments.
1435 2006-10-06 J"orn Rennecke <joern.rennecke@st.com>
1437 * print-tree.c (print_node_brief, print_node): Print sign of Inf.
1439 2006-10-06 J"orn Rennecke <joern.rennecke@st.com>
1441 * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define.
1443 2006-10-05 Uros Bizjak <uros@kss-loka.si>
1445 * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>",
1446 "sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"):
1447 Use <modeconstraint> instead of "r" as operand 1 constraint.
1449 2006-10-06 Olivier Hainque <hainque@adacore.com>
1451 * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]:
1452 Don't recurse on the pointed-to type.
1453 * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or
1454 DECL context, attach an artificial TYPE_DECL to anonymous pointed-to
1455 types with components of variable size.
1457 2006-10-06 Danny Smith <dannysmith@users.sourceforge.net>
1459 * config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
1461 2006-10-06 Jakub Jelinek <jakub@redhat.com>
1463 PR tree-optimization/29290
1464 * tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has
1468 * config/i386/i386.c (legitimize_pic_address): Reject TLS symbols.
1469 * config/i386/predicates.md (local_symbolic_operand): Likewise.
1472 * varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than
1473 the number of vector elements fill the rest with zeros.
1475 2006-10-05 Richard Sandiford <richard@codesourcery.com>
1477 * config/mips/mips.c (mips_pass_by_reference): Do not return false
1478 for EABI if type is NULL. Use a size check based on GET_MODE_SIZE
1481 2006-10-05 Bernd Schmidt <bernd.schmidt@analog.com>
1483 * config/bfin/bfin.md (subsi3): Lose expander, change previously
1484 unnamed pattern into subsi3. Use correct constraints/predicates.
1485 * config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7".
1486 * config/bfin/predicates.md (reg_or_neg7bit_operand_p): New.
1488 2006-10-05 Ira Rosen <irar@il.ibm.com>
1490 * doc/loop.texi: Add data references analysis description.
1492 2006-10-04 Brooks Moses <bmoses@stanford.edu>
1494 * doc/gcov.texi: Add formatting to "Invoking gcov" section head.
1496 2006-10-04 Richard Henderson <rth@redhat.com>
1497 Jakub Jelinek <jakub@redhat.com>
1499 * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
1500 * builtin-types.def (BT_WORD): Make unsigned.
1501 (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
1502 * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
1503 (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
1504 * c-decl.c (grokdeclarator): Don't error if !have_tls.
1505 * c-parser.c (c_parser_omp_threadprivate): Likewise.
1506 * cgraph.c (decide_is_variable_needed): Look at force_output.
1507 Recurse for emulated tls.
1508 * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
1509 checks redundant with decide_is_variable_needed.
1510 (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
1511 * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
1513 * expr.c (emutls_var_address): New.
1514 (expand_expr_real_1): Expand emulated tls.
1515 (expand_expr_addr_expr_1): Likewise.
1516 * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
1517 * output.h (emutls_finish): Declare.
1518 * toplev.c (compile_file): Call it.
1519 * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
1520 address before wrapping in CONST.
1521 * varasm.c (emutls_htab, emutls_object_type): New.
1522 (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
1523 (get_emutls_object_name, get_emutls_object_type): New.
1524 (get_emutls_init_templ_addr, emutls_decl): New.
1525 (emutls_common_1, emutls_finish): New.
1526 (assemble_variable): When emulating tls, swap decls; generate
1527 constructor for the emutls objects.
1528 (do_assemble_alias): When emulating tls, swap decl and target name.
1529 (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
1531 * emutls.c: New file.
1532 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
1533 tls_object for real tls.
1535 2006-10-04 Zack Weinberg <zackw@panix.com>
1537 Fix bug in constraint-check generator, reported by Rask Ingemann
1539 * genpreds.c (add_constraint): Don't remove anything from the
1541 (write_tm_constrs_h): Detect whether "op" argument is used, and
1542 mark it ARG_UNUSED if it isn't.
1543 (write_insn_const_int_ok_for_constraint): Skip the part of the
1544 expression that would test whether "op" (which is not available
1545 here) is a CONST_INT.
1547 2006-10-04 Ryan Mansfield <rmansfield@qnx.com>
1550 * doc/invoke.texi (fdiagnostics-show-option): Fix typos.
1552 2006-10-03 Geoffrey Keating <geoffk@apple.com>
1554 * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
1555 current Leopard versions.
1556 * config/rs6000/darwin-libgcc.10.5.ver: Likewise.
1558 2006-10-03 Kazu Hirata <kazu@codesourcery.com>
1560 * doc/install.texi: Fix typos.
1562 2006-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
1564 * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
1565 * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX.
1566 * config/sparc/sparc.h (FRAME_ADDR_RTX): Define.
1568 2006-10-02 Jack Howarth <howarth@bromo.med.uc.edu>
1570 * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first
1571 arg to be struct mach_header_64* instead.
1573 2006-10-02 Jakub Jelinek <jakub@redhat.com>
1576 * gimplify.c (gimplify_self_mod_expr): Run inner expression's post
1577 side effects after the outer expression's post side effects.
1579 2006-10-01 Sandra Loosemore <sandra@codesourcery.com>
1581 * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix
1582 comments to reflect actual behavior and relationship between
1583 DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
1585 * doc/c-tree.texi (Working with declarations): Fix documentation
1586 of FIELD_DECL likewise.
1588 2006-10-01 Ryan Mansfield <rmansfield@qnx.com>
1591 * doc/extend.texi: Add used variable attribute description.
1593 2006-09-30 Joseph S. Myers <joseph@codesourcery.com>
1596 * c.opt (Woverride-init): New.
1597 * c-opts.c (c_common_post_options): Default warn_override_init to
1599 * c-typeck.c (add_pending_init, output_init_element): Warn for
1600 overriding initializers without side effects.
1601 * doc/invoke.texi (-Woverride-init): Document.
1604 2006-09-30 Eric Botcazou <ebotcazou@libertysurf.fr>
1606 PR rtl-optimization/28096
1607 * ifcvt.c (check_cond_move_block): Return FALSE if the source of an
1608 assignment has already been used as a destination earlier in the block.
1610 2006-09-29 Eric Botcazou <ebotcazou@adacore.com>
1612 * builtins.c (expand_builtin_setjmp): Delete.
1613 (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
1614 <BUILT_IN_SETJMP_SETUP>: New case.
1615 <BUILT_IN_SETJMP_DISPATCHER>: Likewise.
1616 <BUILT_IN_SETJMP_RECEIVER>: Likewise.
1617 * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
1618 (BUILT_IN_SETJMP_DISPATCHER): Likewise.
1619 (BUILT_IN_SETJMP_RECEIVER): Likewise.
1620 * gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
1621 (lower_function_body): Initialize it to false. If it is set to true
1622 at the end of the processing, emit the setjmp dispatcher.
1623 (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
1624 is __builtin_setjmp and set calls_builtin_setjmp to true as well.
1625 <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
1626 on the rhs of the assignment.
1627 (lower_builtin_setjmp): New function.
1628 * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
1629 BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
1630 * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
1631 to detect calls that can go to non-local labels. Use specific
1632 helper to create the abnormal edges associated with them.
1633 <MODIFY_EXPR>: Likewise.
1634 (make_abnormal_goto_edges): New function extracted from...
1635 (make_goto_expr_edges): ...here. Call it for computed gotos.
1636 (simple_goto_p): Minor tweak.
1637 (tree_can_make_abnormal_goto): New predicate.
1638 (tree_redirect_edge_and_branch): Return zero on all abnormal edges.
1639 (tree_purge_dead_abnormal_call_edges): New function.
1640 * tree-flow.h (tree_can_make_abnormal_goto): Declare.
1641 (tree_purge_dead_abnormal_call_edges): Likewise.
1642 (make_abnormal_goto_edges): Likewise.
1643 * tree-inline.c (expand_call_inline): Simplify statement frobbing.
1644 Purge all dead abnormal edges if the call was in the last statement.
1645 * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
1646 (execute_fixup_cfg): If there are non-local labels in the function,
1647 scan the basic blocks and split them at calls that can go to non-local
1648 labels or add missing abnormal call edges. Write down the CFG in the
1650 (pass_fixup_cfg): Remove TODO_dump_func flag.
1651 * unwind-sjlj.c: Poison setjmp.
1652 * doc/install.texi (enable-sjlj-exceptions): Use more general wording.
1653 * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
1654 (TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
1655 (DONT_USE_BUILTIN_SETJMP): Document it.
1657 2006-09-28 Geoffrey Keating <geoffk@apple.com>
1660 * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
1661 to 1 when __ppc64__ is defined.
1662 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
1664 * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
1666 2006-09-28 Steve Ellcey <sje@cup.hp.com>
1668 * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
1669 * config/ia64/unwind-hpux.c: Delete.
1671 2006-09-28 Eric Botcazou <ebotcazou@adacore.com>
1673 * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
1674 on the element before gimplifying it, instead of punting if it is of
1677 2006-09-28 Zdenek Dvorak <dvorakz@suse.cz>
1679 * doc/loop.texi: New file.
1680 * doc/gccint.texi: Reference loop.texi.
1681 * Makefile.in (loop.texi): Add.
1683 2006-09-27 Geoffrey Keating <geoffk@apple.com>
1685 * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
1687 * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
1688 * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
1690 2006-09-28 Kaz Kojima <kkojima@gcc.gnu.org>
1692 * config/sh/sh.md (divsi_inv_m0): Remove unused variable.
1694 2006-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
1696 * doc/install.texi: Document required versions of GMP and MPFR.
1698 2006-09-27 Paul Brook <paul@codesourcery.com>
1701 * config/arm/arm.md (arith_adjacentmem): Handle large offsets.
1703 2006-09-27 Richard Sandiford <richard@codesourcery.com>
1705 * reload1.c (alter_reg): Require the alignment of the stack slot to
1706 be at least reg_max_ref_width bytes.
1707 (scan_paradoxical_subregs): Record the largest width in
1710 2006-09-26 Jakub Jelinek <jakub@redhat.com>
1714 * tree-nested.c (struct nesting_info): Added static_chain_added.
1715 (convert_call_expr): Set static_chain_added when adding static
1716 chain. Handle OMP_PARALLEL and OMP_SECTION.
1718 2006-09-25 Matthias Klose <doko@debian.org>
1720 * doc/invoke.texi: Add missing full stop.
1722 2006-09-25 Richard Henderson <rth@redhat.com>
1724 * cgraph.c (dump_cgraph_varpool_node): Don't crash if called
1725 before cgraph_function_flags_ready.
1727 2006-09-24 Zdenek Dvorak <dvorakz@suse.cz>
1728 Adam Nemet <anemet@caviumnetworks.com>
1730 * tree-ssa-loop-ivopts.c (aff_combination_convert,
1731 determine_common_wider_type): New functions.
1732 (get_computation_aff): Use them to simplify arithmetic between
1733 UBASE and CBASE if they are shortened from the same type.
1735 2006-09-24 Kazu Hirata <kazu@codesourcery.com>
1738 * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
1739 -2147483647 - 1 instead of 0x80000000.
1741 2006-09-23 Revital1 Eres <ERES@il.ibm.com>
1743 * flags.h (HONOR_NANS): Fix typo in comment.
1745 2006-09-23 Uros Bizjak <uros@kss-loka.si>
1747 * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
1749 2006-09-23 Jakub Jelinek <jakub@redhat.com>
1753 * tree.c (merge_attributes, attribute_list_contained): If both
1754 TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
1756 * c-typeck.c (comptypes_internal): Don't consider aggregates
1757 in different TUs as compatible if there one set of attributes is
1758 not a subset of the other type's attributes.
1759 (composite_type): Try harder not to create a new aggregate type.
1761 2006-09-22 Geoffrey Keating <geoffk@apple.com>
1763 * config/i386/driver-i386.c: Always define host_detect_local_cpu.
1764 * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
1765 or x86_64 host. Define HAVE_LOCAL_CPU_DETECT.
1766 (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
1767 than replicating condition above.
1768 * config.host (i[34567]86-*-*): Always use driver-i386.o.
1770 * config/darwin.h (LINK_SYSROOT_SPEC): New.
1771 (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
1772 the linker by default.
1774 2006-09-22 Mike Stump <mrs@apple.com>
1776 * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
1779 2006-09-22 Richard Guenther <rguenther@suse.de>
1782 * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
1783 sort of stack variables stable.
1785 2006-09-22 Peter Bergner <bergner@vnet.ibm.com>
1788 * explow.c (force_reg): Set REG_POINTER flag according to
1791 2006-09-22 Zdenek Dvorak <dvorakz@suse.cz>
1793 PR tree-optimization/28888
1794 * tree-if-conv.c (combine_blocks): Rewritten.
1795 * tree-cfg.c (tree_verify_flow_info): Check that edges with
1796 EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
1798 2006-09-22 Jakub Jelinek <jakub@redhat.com>
1800 * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
1803 2006-09-21 Richard Sandiford <richard@codesourcery.com>
1805 * varasm.c (copy_constant): Fix reversed gcc_assert check.
1807 2006-09-21 Janis Johnson <janis187@us.ibm.com>
1809 * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
1811 2006-09-21 Roger Sayle <roger@eyesopen.com>
1814 * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
1815 dw_fde_current_label, to be the start of the function, i.e. the same
1816 value as dw_fde_begin.
1818 2006-09-20 Richard Sandiford <richard@codesourcery.com>
1820 * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
1821 * config/mips/mips.md (UNSPEC_ABS_PS): New constant.
1822 (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
1823 (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
1824 (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
1825 (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
1826 (abs<mode>2, neg<mode>2): Likewise.
1827 * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
1828 (*mips_abs_ps): New define_insn.
1830 2006-09-20 Josh Conner <jconner@apple.com>
1833 * calls.c (expand_call): Allow reuse of structure return stack
1836 2006-09-20 Paul Brook <paul@codesourcery.com>
1838 * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
1841 2006-09-20 Janis Johnson <janis187@us.ibm.com>
1843 * doc/extend.texi (Decimal Float): Update for latest draft TR,
1844 clean up terminology.
1846 2006-09-20 Steve Ellcey <sje@cup.hp.com>
1849 * ifcvt.c (dead_or_predicable): Don't predicate then blocks
1850 with tablejumps in them.
1852 2006-09-20 Jakub Jelinek <jakub@redhat.com>
1855 * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
1856 wrap it into TARGET_EXPR.
1858 2006-09-20 Eric Christopher <echristo@apple.com>
1860 * config/i386/i386.c (x86_fisttp): Remove.
1861 * config/i386/i386.h (x86_fisttp): Ditto.
1862 (TARGET_FISTTP): Ditto.
1864 2006-09-19 Eric Christopher <echristo@apple.com>
1866 * doc/tm.texi (OBJC_JBLEN): Describe.
1867 * config/i386/darwin.h (OBJC_JBLEN): Define.
1868 * config/rs6000/darwin.h: Ditto.
1870 2006-09-19 Steven Bosscher <steven@gcc.gnu.org>
1872 PR rtl-optimization/21299
1873 * reload1.c (reload): Purge invalid ASMs in the final pass.
1875 2006-09-19 Steve Ellcey <sje@cup.hp.com>
1878 * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
1879 pointers as legitimate constants.
1881 2006-09-19 Paul Brook <paul@codesourcery.com>
1884 * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
1886 2006-09-17 Zdenek Dvorak <dvorakz@suse.cz>
1888 PR tree-optimization/28887
1889 * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
1890 component parts from the reference.
1891 (gather_memory_references_ref): Record the reference without the
1892 nonaddressable component parts.
1894 2006-09-17 Steven Bosscher <steven@gcc.gnu.org>
1897 * c-opts.c (c_common_handle_option): Ignore the -std options
1898 if the input language is assembly.
1900 2006-09-17 Ira Rosen <irar@il.ibm.com>
1903 * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
1905 (ptr_ptr_may_alias_p): Likewise.
1906 (record_record_differ_p): New function.
1907 (base_object_differ_p): Call record_record_differ_p.
1909 2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
1912 * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
1913 away for the expr argument.
1915 2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
1918 * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
1919 before using it for dumping after vectorizing loops.
1921 2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
1922 Jack Howarth <howarth@bromo.med.uc.edu>
1925 * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
1926 skip on error_mark_node.
1927 (rs6000_darwin64_record_arg_recurse): Likewise.
1929 2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
1931 * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
1932 * doc/rtl.texi: Remove related documentation.
1934 2006-09-16 Bernd Schmidt <bernd.schmidt@analog.com>
1936 * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
1939 2006-09-15 Jim Wilson <wilson@specifix.com>
1941 * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
1942 Handle symbol offsets same as they are handled in ia64_expand_move
1945 2006-09-16 Andreas Tobler <a.tobler@schweiz.org>
1947 * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
1948 Add forgotten parameter to the fprintf call.
1950 2006-09-15 Steve Ellcey <sje@cup.hp.com>
1952 * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
1954 2006-09-15 Uros Bizjak <uros@kss-loka.si>
1956 * doc/contrib.texi: Add my entry.
1958 2006-09-15 Nick Clifton <nickc@redhat.com>
1960 * doc/md.texi (Processor pipeline description): Fix typo in
1961 example of how to use the absence_set directive and reword the
1962 description to make it slightly easier to read.
1964 2006-09-15 Bernd Schmidt <bernd.schmidt@analog.com>
1966 * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
1967 * loop-doloop.c (doloop_optimize): Use it to limit costs of
1968 expanding the number of iterations.
1969 * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
1971 * cfgrtl.c (emit_insn_at_entry): New function.
1972 * rtl.h (emit_insn_at_entry): Declare it.
1973 * integrate.c (emit_initial_value_sets): Use it.
1975 * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
1977 * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
1979 (struct loop_work and related VEC declarations): Delete.
1980 (bfin_dump_loops): Print out new member bad.
1981 (bfin_bb_in_loop): Use plain bitmap test. Don't recurse.
1982 (bfin_scan_loop): Don't recurse.
1983 (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
1984 loops. No longer need to update outer loops if the current one is
1985 found bad. Move some validitiy checks to bfin_discover_loop.
1986 (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
1987 but changed not to check for nesting. Also changed to use the new bad
1989 (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
1990 time. Use bitmap based test to discover loop nesting.
1992 2006-09-15 Kazu Hirata <kazu@codesourcery.com>
1994 * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
1997 2006-09-14 Richard Guenther <rguenther@suse.de>
1998 Kazu Hirata <kazu@codesourcery.com>
2000 PR middle-end/28884.
2001 * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
2002 (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
2003 Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
2004 with TARGET_FUNCTION_VALUE.
2006 2006-09-14 Anatoly Sokolov <aesok@post.ru>
2009 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
2011 2006-09-13 Aldy Hernandez <aldyh@redhat.com>
2013 * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
2016 2006-09-13 Andrew Pinski <pinskia@physics.uc.edu>
2019 * dwarf2out.c (loc_descriptor_from_tree_1): Handle
2022 2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
2024 * basic_block.h (bb_has_eh_pred): Fix comment.
2026 2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
2028 * flow.c (calculate_global_regs_live): Invalidate eh registers
2029 on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
2030 (propagate_block): Handle eh registers as if they were set at basic
2032 * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
2034 * global.c (global_conflicts): Make eh registers to conflict with
2035 pseudos live at basic block begin.
2036 * basic_block.h (bb_has_eh_pred): New function.
2038 2006-09-13 Richard Sandiford <richard@codesourcery.com>
2040 PR rtl-optimization/28982
2041 * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
2042 index of a PRE_MODIFY or POST_MODIFY address.
2043 * reload1.c (inc_for_reload): Use find_replacement on the original
2044 base and index registers.
2046 2006-09-12 H.J. Lu <hongjiu.lu@intel.com>
2048 * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
2049 for -Os. Update __m128 alignment requirement.
2051 2006-09-13 Jan Hubicka <jh@suse.cz>
2053 * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
2055 2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
2057 PR rtl-optimization/28243
2058 * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
2059 the insn to which the note was originally attached.
2061 2006-09-12 Andrew Pinski <pinskia@physics.uc.edu>
2062 Roger Sayle <roger@eyesopen.com>
2064 * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
2065 outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
2066 on platforms that don't use dwarf for debug info.
2068 2006-09-12 Jason Merrill <jason@redhat.com>
2071 * builtins.c (expand_builtin_setjmp_receiver): Clobber
2072 hard_frame_pointer_rtx after using it to update the frame pointer.
2074 2006-09-12 Roger Sayle <roger@eyesopen.com>
2076 * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
2077 (TARGET_ASM_CLOSE_PAREN): Likewise.
2078 * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
2079 (TARGET_ASM_CLOSE_PAREN): Likewise.
2081 2006-09-12 Roger Sayle <roger@eyesopen.com>
2084 * config/alpha/alpha.c (alpha_start_function): Don't emit stack
2085 frame information for frames larger than 512 Kbytes on Tru64 when
2086 using the native assembler.
2088 2006-09-12 Roger Sayle <roger@eyesopen.com>
2092 * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
2093 and symbols. Instead use the implementation from cse.c's hash_rtx.
2095 2006-09-12 Jan Hubicka <jh@suse.cz>
2097 PR rtl-optimization/28071
2098 * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
2099 (vect_transform_loop): Likewise.
2100 * tree-vectorizer.c (new_loop_vec_info): Likewise.
2101 (new_loop_vec_info): Likewise.
2102 (destroy_loop_vec_info): Likewise.
2103 * tree-dfa.c (create_var_ann): Use GCC_CNEW.
2104 (create_stmt_ann): Likewise.
2105 (create_tree_ann): Rename to ...
2106 (create_tree_common_ann): ... this one; allocate only the common part
2108 * tree-vn.c (set_value_handle): Use get_tree_common_ann.
2109 (get_value_handle): Likewise.
2110 * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
2111 get_tree_common_ann.
2112 * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
2113 (vinfo_for_stmt): Use stmt annotations.
2114 * tree-flow.h (tree_ann_common_t): New type.
2115 (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
2116 (tree_ann, get_tree_ann, create_tree_ann): New.
2117 * tree-flow-inline.h (get_function_ann): Do more type checking.
2118 (stmt_ann): Likewise.
2119 (tree_ann): Rename to ...
2120 (tree_common_ann): ... this one; return ony common_ann
2121 (get_tree_ann): Rename to ...
2122 (tree_common_ann): This one; return only common_ann.
2123 * tree-vect-patterns.c (vect_pattern_recog_1): Update call
2126 2006-09-11 Geoffrey Keating <geoffk@apple.com>
2128 * config.gcc (i[34567]86-*-darwin*): Set with_arch and
2129 with_cpu by default.
2131 * dwarf2out.c (dwarf_file_data): New.
2132 (enum dw_val_class): Add dw_val_class_file.
2133 (struct dw_val_struct): Add val_file.
2134 (file_table): Change to a hash table.
2135 (file_table_emitted): Delete.
2136 (file_table_last_lookup_index): Delete.
2137 (emitcount): Delete.
2138 (last_emitted_file): New.
2139 (lookup_filename): Change prototype to return a struct dwarf_file_data.
2140 (init_file_table): Delete.
2141 (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
2142 (AT_addr): Add comment.
2146 (print_die): Handle dw_val_class_file.
2147 (print_dwarf_line_table): Update for new file table structure.
2148 (attr_checksum): Do checksum a filename.
2149 (same_dw_val_p, same_attr_p): Do compare a filename.
2150 (size_of_die): Handle dw_val_class_file.
2151 (value_format): Likewise.
2152 (output_die): Likewise. Also, call maybe_emit_file here.
2153 (struct file_info): Constify filenames. Make file_idx a pointer
2154 to a struct dwarf_file_data.
2155 (struct dir_info): Constify directory names. Remove 'used' field.
2156 (struct file_name_acquire_data): New.
2157 (file_name_acquire): New.
2158 (output_file_names): Modify to handle new file data structures.
2159 (add_src_coords_attributes): Use add_AT_file.
2160 (add_call_src_coords_attributes): Likewise.
2161 (dwarf2out_imported_module_or_decl): Likewise.
2162 (gen_subprogram_die): Modify for new file data structures.
2163 (gen_variable_die): Likewise.
2164 (file_table_eq): New.
2165 (file_table_hash): New.
2166 (file_table_last_lookup): New.
2167 (lookup_filename): Rewrite to handle new file data structures.
2168 (maybe_emit_file): Rewrite to handle new file data structures.
2169 (dwarf2out_source_line): Always call lookup_filename and
2171 (dwarf2out_init): Create file_table here.
2172 (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
2173 (file_table_relative_p): New.
2174 (dwarf2out_finish): Change detection of relative filenames
2175 to work with new file data structures. Move output_line_info call
2176 after debug_info output.
2178 2006-09-11 H.J. Lu <hongjiu.lu@intel.com>
2183 * config/i386/i386.c (override_options): Always default to 16
2184 byte stack boundary.
2186 2006-09-11 Alexandre Oliva <aoliva@redhat.com>
2189 * var-tracking.c (dump_dataflow_set): Start dumping at
2191 (clobber_variable_part): Kill only the variable part in
2192 registers holding it, leaving other variables alone.
2194 2006-09-11 Josh Triplett <josh@freedesktop.org>
2196 * doc/extend.texi (Other Builtins): Actually use the macro
2197 argument in the documentation example for
2198 __builtin_types_compatible_p.
2200 2006-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
2202 PR rtl-optimization/28726
2203 * sched-deps.c (sched_analyze_reg): New function extracted from...
2204 (sched_analyze_1): ...here. Call it to analyze references to
2205 registers. Treat again writes to a stack register as writing to the
2207 (sched_analyze_2): ...and here. Call it to analyze references to
2208 registers. Treat again reads of a stack register as reading the
2211 2006-09-11 Guenter Roeck <guenter@roeck-us.net>
2212 David Edelsohn <edelsohn@gnu.org>
2215 * config/rs6000/spe.md (frob_df_di): Remove %H.
2216 (frob_di_df): Remove %H. Change evmergelo to mr.
2217 (frob_di_df_2): Remove %H. Change evldd to two loads.
2219 2006-09-11 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp>
2221 * doc/cpp.texi: Fix names of charset options.
2223 2006-09-10 Andrew Pinski <pinskia@physics.uc.edu>
2226 * config/i386/i386.c (override_options): Use 128-bit
2227 stack boundary always for 64bits.
2229 2006-09-10 Eric Botcazou <ebotcazou@libertysurf.fr>
2231 PR rtl-optimization/28636
2232 * combine.c (force_to_mode): Test for side-effects before
2233 substituting by zero.
2234 (simplify_shift_const): Likewise for zero or other constants.
2236 2006-09-10 Steven Bosscher <steven@gcc.gnu.org>
2239 * builtins.c (expand_builtin_setjmp): Force next_lab to be
2242 2006-09-10 Richard Sandiford <richard@codesourcery.com>
2245 * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
2246 * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
2247 returned by mode_for_size, rather than the mode of src itself,
2248 to choose between 32-bit and 64-bit patterns.
2249 (mips_mem_fits_mode_p): New function.
2250 * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
2251 that the size of the source matches the size of the destination.
2252 (mov_<store>l, mov_<store>r): Likewise.
2254 2006-09-10 Eric Christopher <echristo@apple.com>
2256 * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
2259 2006-09-09 Eric Christopher <echristo@apple.com>
2262 * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
2265 2006-09-09 Roger Sayle <roger@eyesopen.com>
2266 Nicolas Setton <setton@adacore.com>
2268 * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
2270 2006-09-10 Andreas Schwab <schwab@suse.de>
2272 * config/m68k/m68k.md (bungt_rev): New pattern.
2274 2006-09-09 Paolo Bonzini <bonzini@gnu.org>
2275 Dale Johannesen <dalej@apple.com>
2278 * regclass.c (struct reg_pref): Update documentation.
2279 (regclass): Set prefclass to NO_REGS if memory is the best option.
2280 (record_reg_classes): Cope with a prefclass set to NO_REGS.
2282 2006-09-08 Eric Christopher <echristo@apple.com>
2284 * config.gcc (i?86-*-darwin): Add 64-bit HWI support.
2285 * config/t-slibgcc-darwin: Support x86_64 multilib.
2286 * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
2287 Return 1 for x86_64-darwin.
2288 * config/i386/t-darwin: Add m64 multilib.
2289 (LIB2_SIDITI_CONV_FUNCS): Use.
2290 (LIB2FUNCS_EXTRA): Ditto.
2291 * config/i386/darwin.h: Support x86_64.
2292 * config/i386/i386.c (override_options): Turn on flag_pic
2293 for x86_64-darwin. Disable flag_omit_pointer.
2294 (get_pc_thunk_name): Assert !TARGET_64BIT.
2295 (legitimate_address_p): Disable machopic addressing for
2297 (legitimize_pic_address): Ditto.
2298 (ix86_expand_move): Ditto.
2299 (ix86_expand_call): Ditto.
2300 (machopic_output_stub): Ditto.
2301 * config/darwin.c (machopic_select_section): Support literal16.
2302 (machopic_select_rtx_section): Ditto.
2303 * config/darwin-sections.def: Ditto.
2304 * config/darwin-64.c: New.
2306 2006-09-08 Joseph S. Myers <joseph@codesourcery.com>
2309 * c-tree.h (struct c_arg_info): Add pending_sizes.
2310 * c-parser.c (c_parser_parms_declarator,
2311 c_parser_parms_list_declarator): Initialize pending_sizes.
2312 * c-decl.c (get_parm_info): Initialize pending_sizes.
2313 (get_parm_info): Set pending_sizes.
2314 (grokdeclarator): Call put_pending_sizes for parameters for
2315 function definition only.
2317 2006-09-07 Jason Merrill <jason@redhat.com>
2320 * varasm.c (output_constant): Only strip actual no-op conversions.
2323 * config/i386/i386.c (override_options): Use 128-bit
2324 stack boundary if -msse.
2326 2006-09-07 Eric Christopher <echristo@apple.com>
2328 * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
2330 * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
2333 2006-09-07 Geoffrey Keating <geoffk@apple.com>
2335 * dwarf2out.c: Remove strange characters from comment above
2336 dwarf2out_frame_debug_expr.
2338 2006-09-07 Eric Christopher <echristo@apple.com>
2340 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
2341 * config/darwin.h: ... to here.
2343 2006-09-07 H.J. Lu <hongjiu.lu@intel.com>
2345 * config/i386/i386.c (x86_partial_flag_reg_stall): New.
2347 * config/i386/i386.h (x86_partial_flag_reg_stall): New.
2348 (TARGET_PARTIAL_FLAG_REG_STALL): New.
2350 * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
2351 TARGET_PARTIAL_FLAG_REG_STALL.
2352 (*ashldi3_cconly_rex64): Likewise.
2353 (*ashlsi3_cmp): Likewise.
2354 (*ashlsi3_cconly): Likewise.
2355 (*ashlsi3_cmp_zext): Likewise.
2356 (*ashlhi3_cmp): Likewise.
2357 (*ashlhi3_cconly): Likewise.
2358 (*ashlqi3_cmp): Likewise.
2359 (*ashlqi3_cconly): Likewise.
2360 (*ashrdi3_cmp_rex64): Likewise.
2361 (*ashrdi3_cconly_rex64): Likewise.
2362 (*ashrsi3_cmp): Likewise.
2363 (*ashrsi3_cconly): Likewise.
2364 (*ashrsi3_cmp_zext): Likewise.
2365 (*ashrhi3_cmp): Likewise.
2366 (*ashrhi3_cconly): Likewise.
2367 (*ashrqi3_cmp): Likewise.
2368 (*ashrqi3_cconly): Likewise.
2369 (*lshrdi3_cmp_rex64): Likewise.
2370 (*lshrdi3_cconly_rex64): Likewise.
2371 (*lshrsi3_cmp): Likewise.
2372 (*lshrsi3_cconly): Likewise.
2373 (*lshrsi3_cmp_zext): Likewise.
2374 (*lshrhi3_cmp): Likewise.
2375 (*lshrhi3_cconly): Likewise.
2376 (*lshrqi2_cmp): Likewise.
2377 (*lshrqi2_cconly): Likewise.
2379 2006-09-07 Uros Bizjak <uros@kss-loka.si>
2382 * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
2383 "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
2384 "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
2385 "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
2386 "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
2387 "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
2388 "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
2389 "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
2390 "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
2391 implement only CC setting effects of shift instructions.
2393 2006-09-07 Martin Michlmayr <tbm@cyrius.com>
2395 * doc/contrib.texi: Add myself.
2397 2006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
2400 * stor-layout.c (relayout_decl): Don't zero the alignment if it
2401 was set by the user.
2403 2006-09-07 Paolo Bonzini <bonzini@gnu.org>
2406 * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
2407 (divsi_inv_m1): Use them.
2408 (UNSPEC_DIV_INV_TABLE): New constant.
2410 2006-09-06 James E Wilson <wilson@specifix.com>
2413 * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
2414 then call count_or_remove_death_notes.
2416 2006-09-06 Jason Merrill <jason@redhat.com>
2419 * tree-inline.c (copy_result_decl_to_var): New fn.
2420 (declare_return_variable): Use it. Call declare_inline_vars here.
2421 (expand_call_inline): Not here.
2423 2006-09-06 Diego Novillo <dnovillo@redhat.com>
2425 * doc/contrib.texi: Update my entry.
2427 2006-09-06 Nick Clifton <nickc@redhat.com>
2429 * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
2431 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
2434 * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
2435 (canonicalize_induction_variables): Likewise.
2436 (tree_unroll_loops_completely): Likewise.
2437 (tree_ssa_prefetch_arrays): Likewise.
2438 (remove_empty_loops): Likewise.
2439 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
2440 TODO_cleanup_cfg instead of directly calling
2441 cleanup_tree_cfg_loop.
2442 * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
2444 (tree_unroll_loops_completely): Likewise.
2445 (remove_empty_loops): Likewise.
2446 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
2447 * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
2448 of tree_ssa_unswitch_loops.
2449 (tree_ssa_loop_ivcanon): Use the return value of
2450 canonicalize_induction_variables.
2451 (tree_ssa_empty_loop): Use the return value of
2453 (tree_complete_unroll): Use the return value of
2454 tree_unroll_loops_completely.
2455 (tree_ssa_loop_prefetch): Use the return value of
2456 tree_ssa_prefetch_arrays.
2457 * passes.c (execute_todo): Before Cleanup CFG, set
2458 updating_used_alone and after cleanup CFG, call
2459 recalculate_used_alone.
2461 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
2464 * tree-vect-transform.c (vectorizable_condition): Move the check
2465 for the type after the check for simple condition.
2467 2006-09-05 J"orn Rennecke <joern.rennecke@st.com>
2468 Kaz Kojima <kkojima@gcc.gnu.org>
2471 * mode-switching.c (optimize_mode_switching): Make the destination
2472 block of an abnormal edge have no anticipatable mode. Don't
2473 insert mode switching code at the end of the source block of
2476 2006-09-05 Paolo Bonzini <bonzini@gnu.org>
2478 PR rtl-optimization/26847
2479 * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
2480 (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
2481 (simplify_plus_minus): Count n_constants while filling ops. Replace
2482 qsort with insertion sort. Before going through the array to simplify
2483 pairs, sort it. Delay early exit until after the first sort, exiting
2484 only if no swaps occurred. Simplify pairs in reversed order, without
2485 special-casing the first iteration. Pack ops after simplifying pairs.
2487 2006-09-05 Anatoly Sokolov <aesok@post.ru>
2489 * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
2490 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
2491 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
2492 (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
2494 2006-09-05 Richard Guenther <rguenther@suse.de>
2496 PR tree-optimization/28900
2497 * tree-if-conv.c (find_phi_replacement_condition): Gimplify
2498 compound conditional before creating COND_EXPR condition.
2500 2006-09-05 Richard Guenther <rguenther@suse.de>
2502 PR tree-optimization/28905
2503 * tree-vrp.c (fix_equivalence_set): Manually implement
2504 !value_ranges_intersect_p to also handle symbolic ranges.
2506 2006-09-05 Richard Guenther <rguenther@suse.de>
2509 * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
2512 2006-09-04 Eric Botcazou <ebotcazou@libertysurf.fr>
2514 PR rtl-optimization/27616
2515 * cse.c (table_size): New static variable.
2516 (new_basic_block): Initialize it to 0.
2517 (remove_from_table): Decrement it.
2518 (insert): Increment it.
2519 (fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
2520 (fold_rtx_mem): Enforce a cap on the recursion depth. Call
2521 fold_rtx_mem_1 if under the cap.
2522 (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
2523 the lookup of the equivalent expression and test for equality of the
2524 first operand of the equivalent expression before in turn looking up
2525 an equivalent constant for the second operand.
2527 2006-09-02 Geoffrey Keating <geoffk@apple.com>
2530 2006-03-17 Alexandre Oliva <aoliva@redhat.com>
2531 * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
2532 pointer, instead of assuming it is possible to derive the
2533 correct args size from a call insn.
2535 2006-09-02 Jakub Jelinek <jakub@redhat.com>
2538 * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
2539 (fold_builtin_mempcpy): Rename to...
2540 (fold_builtin_memory_op): ... this. Optimize one element copy
2542 (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
2544 (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
2545 (expand_builtin_memcpy, expand_builtin_mempcpy,
2546 expand_builtin_memmove): Likewise. Use fold_builtin_memory_op.
2547 (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
2548 BUILT_IN_BCOPY. Use fold_builtin_memory_op for
2549 BUILT_IN_MEM{CPY,PCPY,MOVE}.
2551 2006-09-01 DJ Delorie <dj@redhat.com>
2553 * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
2554 (stzx_16): Likewise.
2555 ("stzx_24_<mode>"): Likewise.
2556 ("stzx_reversed_<mode>"): Likewise, and make mode-specific.
2557 ("cmp<mode>_op"): New.
2558 (cmp<mode>): Change to expander; just save operands.
2560 (b<code>): Change to expander, emit compare here.
2561 (s<code>_op): Change to use split and expander.
2562 (s<code>_24_op): Likewise.
2563 (s<code>_<mode>): New.
2564 (s<code>_<mode>_24): New.
2565 (movqicc_<code>_<mode): New.
2566 (movhicc_<code>_<mode>): New.
2569 * config/m32c/m32c.c (compare_op0, compare_op1): New.
2570 (m32c_pend_compare): New.
2571 (m32c_unpend_compare): New.
2572 (m32c_expand_scc): New.
2573 (m32c_expand_movcc): Emit the compare also.
2574 * config/m32c/predicates.md (mra_nopp_operand): New.
2576 2006-09-01 J"orn Rennecke <joern.rennecke@st.com>
2577 Richard Guenther <rguenther@suse.de>
2578 Adam Nemet <anemet@caviumnetworks.com>
2581 * builtins.c (get_pointer_alignment): Handle more forms
2582 of base addresses that can be used to derive more precise
2583 information about alignment.
2585 2006-09-01 Jason Merrill <jason@redhat.com>
2588 * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle
2591 * gimplify.c (voidify_wrapper_expr): Handle null type.
2593 2006-09-01 Josh Conner <jconner@apple.com>
2596 * tree-nrv.c (dest_safe_for_nrv_p): New function.
2597 (execute_return_slot_opt): Use it.
2599 2006-08-31 Josh Conner <jconner@apple.com>
2602 * tree-gimple.c (is_gimple_mem_rhs): Recognize functions
2603 returning aggregates.
2605 2006-08-31 Zdenek Dvorak <dvorakz@suse.cz>
2607 PR tree-optimization/28839
2608 * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in
2609 blocks in that phi arguments appear.
2611 2006-08-31 Roger Sayle <roger@eyesopen.com>
2614 * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
2615 NULL, otherwise use an advance_loc4 to adjust relative to the
2617 (output_cfi) <DW_CFA_set_loc>: Update the current label.
2618 (dwarf2out_switch_text_section): Reset the current label to avoid
2619 using advance_loc4 over section boundaries.
2621 2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com>
2624 * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
2625 r12 + SYMBOLIC_CONST.
2627 2006-08-30 Richard Guenther <rguenther@suse.de>
2629 * Makefile.in (see.o): Add $(EXPR_H) dependency.
2631 2006-08-30 Zdenek Dvorak <dvorakz@suse.cz>
2633 PR rtl-optimization/27735
2634 * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
2635 Add new argument to keep track of whether an irreducible region
2636 was affected. All callers changed.
2637 (fix_irreducible_loops): Removed.
2638 (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
2639 flags were invalidated.
2641 2006-08-29 H.J. Lu <hongjiu.lu@intel.com>
2643 * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands
2644 instead of SF operands.
2645 (*fop_df_comm_sse): Likewise.
2646 (*fop_df_comm_i387): Likewise.
2647 (*fop_df_1_mixed): Likewise.
2648 (*fop_df_1_sse): Likewise.
2650 2006-08-29 Andrew Pinski <pinskia@physics.uc.edu>
2651 J"orn Rennecke <joern.rennecke@st.com>
2653 PR tree-optimization/17506
2654 * tree-ssa.c (warn_uninit): If warning about a location outside of
2655 the current function, note where the variable was declared.
2657 2006-08-28 Zdenek Dvorak <dvorakz@suse.cz>
2659 PR tree-optimization/28411
2660 * double-int.c (double_int_div): Use double_int_divmod.
2661 (double_int_divmod, double_int_sdivmod, double_int_udivmod,
2662 double_int_mod, double_int_smod, double_int_umod): New functions.
2663 * double-int.h (double_int_divmod, double_int_sdivmod,
2664 double_int_udivmod, double_int_mod, double_int_smod, double_int_umod):
2666 * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result
2668 (get_computation_aff, get_computation_cost_at): Handle double_int
2669 return type of constant_multiple_of.
2671 2006-08-28 Kazu Hirata <kazu@codesourcery.com>
2674 * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on
2675 an implicit conversion.
2677 2006-08-28 Prafulla Thakare <prafullat@kpitcummins.com>
2679 * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New.
2681 2006-08-27 Roger Sayle <roger@eyesopen.com>
2683 * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
2686 2006-08-27 Kazu Hirata <kazu@codesourcery.com>
2688 * config/i386/crtfastmath.c: Fix a comment typo.
2690 2006-08-26 Roger Sayle <roger@eyesopen.com>
2692 * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating
2693 temporary visit flags on CASE_LABEL_EXPRs.
2694 * c-common.c (match_case_to_enum): Add function comment. Avoid
2695 O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN.
2696 (c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and
2697 CASE_HIGH_SEEN for enumerated types. If the switch expression is
2698 a constant, only warn if that constant value isn't handled.
2700 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
2703 * input.h (restore_input_file_stack): Declare.
2704 (INPUT_FILE_STACK_BITS): Define.
2705 * toplev.c (fs_p, input_file_stack_history,
2706 input_file_stack_restored, restore_input_file_stack): New.
2707 (push_srcloc, pop_srcloc): Check for input_file_stack_tick
2708 overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack.
2709 (pop_srcloc): Don't free old state of stack.
2711 2006-08-26 David Edelsohn <edelsohn@gnu.org>
2714 * doc/extend.texi (PowerPC Variable Attributes): Mention altivec.
2715 (PowerPC Type Attributes): New.
2717 2006-08-26 Bob Wilson <bob.wilson@acm.org>
2719 * config/xtensa/xtensa.c (function_arg_boundary): New.
2720 (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to
2722 * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new
2723 function_arg_boundary function that limits alignment to STACK_BOUNDARY.
2725 2006-08-26 Jakub Jelinek <jakub@redhat.com>
2728 * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
2731 2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2733 * flow.c (verify_wide_reg): Use internal_error for consistency failure.
2734 (verify_local_live_at_start): Likewise.
2736 2006-08-25 Joseph S. Myers <joseph@codesourcery.com>
2739 * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval,
2740 omp_add_variable): Treat sizes as variable whenever not
2743 2006-08-26 Richard Guenther <rguenther@suse.de>
2746 * fold-const.c (fold_binary): Fold temporary to correct
2747 type before constructing new comparison.
2749 2006-08-25 Fariborz Jahanian <fjahanian@apple.com>
2752 * c-gimplify.c (gimplify_compound_literal_expr): Don't add
2753 variable again if DECL_SEEN_IN_BIND_EXPR_P.
2755 2006-08-25 Joseph S. Myers <joseph@codesourcery.com>
2758 * c-decl.c (start_function): Don't try to process prototype
2759 information from old declaration that isn't a function.
2761 2006-08-25 Jan Hubicka <jh@suse.cz>
2764 * config/i386/crtfastmath.c (set_fast_math): Force stack alignment.
2766 2006-08-25 Alan Modra <amodra@bigpond.net.au>
2769 * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
2772 2006-08-25 J"orn Rennecke <joern.rennecke@st.com>
2774 PR tree-optimization/16876
2775 * c-typeck.c (c_convert_parm_for_inlining): Don't take early
2776 exit if PARM doesn't match VALUE.
2778 2006-08-25 Bob Wilson <bob.wilson@acm.org>
2780 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a
2781 literal_prefix directive.
2782 (XTENSA_DECLARE_FUNCTION_SIZE): Delete.
2783 * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
2784 * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
2786 2006-08-25 David Edelsohn <edelsohn@gnu.org>
2789 * config/rs6000/rs6000.md (movcc_internal1): Change operand 1
2790 predicate to general_operand. Add 0->y and I->r alternatives.
2792 2006-08-25 Kazu Hirata <kazu@codesourcery.com>
2794 * doc/tm.texi: Fix a typo.
2795 * predict.c: Fix comment typos.
2797 2006-08-25 Nick Clifton <nickc@redhat.com>
2799 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
2800 assertions of "cpu" and "machine".
2802 2006-08-24 Andrew Pinski <pinskia@physics.uc.edu>
2805 * tree-ssa-operands.c (access_can_touch_variable): Don't say
2806 the access through a base which has an alias set of 0 cannot
2809 2006-08-24 Bill Wendling <wendling@apple.com>
2811 * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
2813 2006-08-24 Jan Hubicka <jh@suse.cz>
2815 * reload1.c (emit_reload_insns): Fix yet another typo in my patch.
2817 2006-08-24 Jan Hubicka <jh@suse.cz>
2820 * cgraph.c: Fix comments.
2821 (cgraph_varpool_mark_needed_node): Mark only variables not already
2823 * cgraphunit.c: Update comments; include gt-cgraphunit.h
2824 (cgraph_varpool_assembled_nodes_queue): New static variable.
2825 (cgraph_varpool_assemble_decl): Record output decls for debug out code.
2826 (cgraph_varpool_output_debug_info): New function.
2827 (cgraph_finalize_compilation_unit, cgraph_optimize): Call it.
2828 * Makefile.in: Add gt-cgraphunit.h
2830 2006-08-24 Jan Hubicka <jh@suse.cz>
2832 * predict.c (probability_reliable_p): New predicate.
2833 (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise.
2834 (predict_loops): Do not predict loop exit with less than 2%
2836 * basic-block.h (edge_probability_reliable_p,
2837 br_prob_note_reliable_p): Declare.
2838 * ia64.h (ia64_print_operand): Do not disable on-chip branch
2839 prediction when static predictor is not reliable.
2840 * rs6000.c (output_cbranch): Likewise.
2842 2006-08-23 Stuart Hastings <stuart@apple.com>
2845 * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate,
2846 ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test.
2848 2006-08-21 Geoffrey Keating <geoffk@apple.com>
2851 * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for
2852 complex values, nor for generic vector values.
2854 2006-08-22 Richard Guenther <rguenther@suse.de>
2857 * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt
2858 parameter. Convert arguments to arithmetic expression to the
2860 (analyze_scalar_evolution_1): Adjust caller.
2862 2006-08-22 Jan Hubicka <jh@suse.cz>
2864 Patch by Paolo Bonzini
2865 * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by
2868 2006-08-22 Daniel Berlin <dberlin@dberlin.org>
2870 PR tree-optimization/28003
2871 * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered
2872 before grouping aliases.
2874 2006-08-22 Roger Sayle <roger@eyesopen.com>
2876 * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG
2877 if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE.
2879 2006-08-21 Jason Merrill <jason@redhat.com>
2882 * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a
2883 wrapper. Loop to handle nested wrappers.
2884 (gimplify_bind_expr): Remove temp parameter.
2885 (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR
2886 and STATEMENT_LIST on the rhs.
2887 (gimplify_statement_list): Voidify the STATEMENT_LIST.
2888 (gimplify_expr): Pass pre_p to gimplify_statement_list.
2889 (gimplify_target_expr): Remove special BIND_EXPR handling.
2891 2006-08-21 J"orn Rennecke <joern.rennecke@st.com>
2893 * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with
2896 2006-08-21 Olivier Hainque <hainque@adacore.com>
2898 * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>:
2899 Arrange for the temporary captures of components overlapping the lhs
2900 to happen before the lhs is possibly cleared.
2902 2006-08-21 Mark Shinwell <shinwell@codesourcery.com>
2904 * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in
2905 necessary places to pass the correct "number of registers" values
2908 2006-08-20 Jan Hubicka <jh@suse.cz>
2910 * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function.
2911 (create_name_tags): Instead of quadratic checking use hashtable.
2912 * bitmap.h: Include hashtab.h.
2913 (bitmap_hash): Declare.
2914 * bitmap.c (bitmap_hash): New function.
2916 2006-08-20 Jan Hubicka <jh@suse.cz>
2918 PR rtl-optimization/28071
2919 * tree-optimize.c (tree_rest_of_compilation): Do not remove edges
2921 * tree-inline.c (copy_bb): Use cgraph_set_call_stmt.
2922 * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument.
2923 (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function,
2924 cgraph_decide_inlining_incrementally): Update use of
2925 cgraph_check_inline_limits.
2926 * cgraph.c (edge_hash, edge_eq): New function.
2927 (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge,
2928 cgraph_edge_remove_caller, cgraph_node_remove_callees,
2929 cgraph_remove_node): Maintain call site hash.
2930 * cgraph.h (struct cgraph_node): Add call_site_hash.
2931 (cgraph_set_call_stmt): New function.
2933 2006-08-20 Jan Hubicka <jh@suse.cz>
2935 PR rtl-optimization/28071
2936 * reload1.c (reg_has_output_reload): Turn into regset.
2937 (reload_as_needed, forget_old_reloads_1, forget_marked_reloads,
2938 choose_reload_regs, emit_reload_insns): Update to new
2939 reg_has_output_reload.
2941 2006-08-20 Jan Hubicka <jh@suse.cz>
2944 * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute
2945 function body sizes.
2946 * cgraphunit.c (cgraph_analyze_function): Don't do so.
2948 2006-08-20 Danny Smith <dannysmith@users.sourceforge.net>
2951 * tree.c (handle_dll_attribute): Return early if not a
2952 var or function decl.
2954 2006-08-18 Joseph Myers <joseph@codesourcery.com>
2957 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
2958 alignment of SPE vector types.
2960 2006-08-18 Christophe Jaillet <christophe.jaillet@wanadoo.fr>
2962 * tree.c (is_attribute_with_length_p): Remove a duplicated assert.
2964 2006-08-17 Jakub Jelinek <jakub@redhat.com>
2967 * cgraph.h (struct cgraph_node): Remove externally_visible
2969 * cgraphunit.c (process_function_and_variable_attributes): Set
2970 local.externally_visible rather than externally_visible.
2973 * c-common.c (handle_externally_visible_attribute): First look
2974 at TREE_CODE and only if it is function or var decl, check for
2975 non-public objects. Don't warn for DECL_EXTERNAL.
2976 * cgraphunit.c (process_function_and_variable_attributes): Warn
2977 if externally_visible attribute is used on non-public object.
2979 2006-08-17 Jan Hubicka <jh@suse.cz>
2981 PR tree-optimization/27865
2982 * reload1.c (forget_marked_reloads): New function.
2983 (forget_old_reloads_1): When data are passed, just mark the registers
2985 (reload_as_needed): Use the new mechanizm.
2987 2006-08-17 Alexandre Oliva <aoliva@redhat.com>
2990 * reload.h (reg_equiv_alt_mem_list): New declaration.
2991 * reload1.c (reg_equiv_alt_mem_list): New definition.
2992 (reload): Initialize it and release it.
2993 (delete_output_reload): Use it.
2994 * reload.c (push_reg_equiv_alt_mem): New function.
2995 (find_reloads_toplev): Call it.
2996 (find_reloads_address, find_reloads_address_1): Likewise.
2997 (find_reloads_subreg_address): Likewise.
2999 2006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
3001 PR rtl-optimization/28489
3002 * sched-ebb.c (begin_schedule_ready): Create basic block
3004 (advance_target_bb): Skip empty blocks.
3005 * haifa-sched.c (bb_note): Make global.
3006 * sched-int.h (bb_note): Add prototype.
3008 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
3010 PR tree-optimization/27865
3011 * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE
3013 * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p,
3014 fold_used_pointer, pointer_used_p): New functions.
3015 (analyze_scalar_evolution_1): Use fold_used_pointer.
3016 * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly.
3017 * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type
3020 2006-08-17 Paolo Bonzini <bonzini@gnu.org>
3023 * c-common.c (fold_offsetof_1): Add an argument and recurse down to it
3024 or the INTEGER_CST. Fail on a CALL_EXPR.
3025 (fold_offsetof): Pass new argument to fold_offsetof_1.
3026 * c-parser.c (c_parser_postfix_expression): Don't include a NULL
3027 operand into an INDIRECT_REF.
3028 * c-typeck.c (build_unary_op): Adjust call to fold_offsetof.
3030 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
3032 PR gcov/profile/26570
3033 * value-prof.c (static_values): Removed.
3034 (tree_find_values_to_profile): Do not set static_values.
3035 (find_values_to_profile): Do not free static_values.
3036 * profile.c (instrument_values): Do not free the values.
3037 (branch_prob): Free the values.
3039 2006-08-16 Naveen.H.S <naveenh@kpitcummins.com>
3041 * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest.
3043 2006-08-16 Joseph S. Myers <joseph@codesourcery.com>
3046 * c-typeck.c (build_component_ref): Combine qualifiers of
3047 structure or union and field.
3049 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
3051 PR rtl-optimization/28071
3052 * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare.
3053 * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions.
3054 * tree-into-ssa.c (struct dom_dfsnum): New.
3055 (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New
3057 (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of
3058 compute_global_livein.
3059 (prepare_block_for_update, prepare_use_sites_for): Mark the uses
3060 in phi nodes in the correct blocks.
3062 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
3064 PR tree-optimization/28364
3065 * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero
3067 (fold_affine_expr): New function.
3068 (may_eliminate_iv): Use fold_affine_expr.
3070 2006-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3073 * c-typeck.c (c_start_case): Handle invalid orig_type correctly.
3076 2006-08-16 Mike Stump <mrs@apple.com>
3078 * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref.
3079 * doc/cppopts.texi (-MD): Likewise.
3081 2006-08-15 Danny Smith <dannysmith@users.sourceforge.net>
3084 * c-common.c (handle_weak_attribute): Ignore and warn if
3085 not a FUNCTION_ or VAR_DECL.
3087 2006-07-15 Mike Stump <mrs@apple.com>
3090 * c-parser.c (c_parser_typeof_specifier): Don't use
3091 c_finish_expr_stmt, open code desired semantics instead.
3093 2006-08-15 Nick Clifton <nickc@redhat.com>
3095 * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile
3096 fragment to tmake_file only if threads are enabled.
3097 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to...
3098 * config/i386/t-gthr-win32: New file. ... here.
3100 2006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3103 * c-parser.c (c_parser_compound_statement_nostart): Reset
3104 parser->error after each statement.
3106 2006-08-15 Jakub Jelinek <jakub@redhat.com>
3109 * omp-low.c (lower_omp_parallel): Convert t to
3110 receiver_decl's type.
3111 (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR
3112 source before comparison.
3115 * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival
3116 to itype in assignment to oldival2.
3118 2006-07-14 Andrew Pinski <pinksia@physics.uc.edu>
3122 * c-typeck.c (build_compound_expr): If the second expression
3123 is an error mark, then just return an error mark instead of
3124 creating a COMPOUND_EXPR.
3126 2006-07-14 Mike Stump <mrs@apple.com>
3128 * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES.
3130 2006-08-14 Kazu Hirata <kazu@codesourcery.com>
3132 * c-decl.c, var-tracking.c: Fix comment typos.
3134 2006-08-14 Richard Sandiford <richard@codesourcery.com>
3136 PR rtl-optimization/28634
3137 * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A
3138 for floating-point modes unless flag_unsafe_math_optimizations.
3140 2006-08-13 Alexandre Oliva <aoliva@redhat.com>
3141 Andrew Pinski <pinskia@physics.uc.edu>
3144 * tree.c (build_array_type): Unify array types with
3145 unspecified index_type.
3146 * c-decl.c (grokdeclarator): Make sure we do not modify a
3147 unified incomplete array type.
3148 * c-typeck.c (store_init_value): Create distinct type before
3149 filling in the index type in an initializer from a compound
3152 * c-decl.c (grokdeclarator): Remove code where we copy the
3155 2006-08-13 Andrew Pinski <pinskia@physics.uc.edu>
3157 * tree-pass.h (TODO_update_ssa): Fix which bit is used to take
3158 into account for TODO_dump_cgraph.
3159 (TODO_update_ssa_no_phi): Likewise.
3160 (TODO_update_ssa_full_phi): Likewise.
3161 (TODO_update_ssa_only_virtuals): Likewise.
3162 (TODO_remove_unused_locals): Likewise.
3163 (TODO_set_props): Likewise.
3164 (TODO_update_stmt_usage): Likewise.
3166 2006-08-13 Dirk Mueller <dmueller@suse.de>
3168 * c-common.c (strict_aliasing_warning): Fix formatting.
3170 2006-08-13 Matthias Klose <doko@debian.org>
3172 * doc/invoke.texi: Fix spelling errors.
3174 2006-08-11 Eric Botcazou <ebotcazou@libertysurf.fr>
3176 PR rtl-optimization/23454
3177 * reorg.c (relax_delay_slots): Update comment.
3179 2006-08-11 Richard Guenther <rguenther@suse.de>
3182 * simplify-rtx.c (simplify_const_relational_operation):
3183 Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison
3186 2006-08-10 Eric Botcazou <ebotcazou@adacore.com>
3188 * tree.c (build1_stat): Also propagate the TREE_CONSTANT and
3189 TREE_INVARIANT flags for a VIEW_CONVERT_EXPR.
3191 2006-08-10 Paul Brook <paul@codesourcery.com>
3193 * final.c (final_scan_insn): Clear current_insn_predicate before
3194 outputting inline asm.
3196 2006-08-10 Dorit Nuzman <dorit@il.ibm.com>
3198 PR tree-optimization/26197
3199 * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls
3200 get_ref_base_and_extent and overlap_subvar to add only relevant
3201 subvars as may-aliases.
3202 (add_may_alias_for_new_tag): New function, factored out of
3204 * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias
3205 with additional argument.
3206 * tree-flow.h (new_type_alias): Takes additional argument.
3208 2006-08-09 Nathan Sidwell <nathan@codesourcery.com>
3210 * gcov.c (no_data_file): New flag.
3211 (read_count_file): Set it if data file not present. Assume counts
3213 (output_lines): Don't name the data file, if there wasn't one.
3215 2006-08-09 Eric Botcazou <ebotcazou@adacore.com>
3217 * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust.
3218 (rs6000_generate_compare): Tweak comments.
3219 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment.
3221 2006-08-09 Alexandre Oliva <aoliva@redhat.com>
3223 * var-tracking.c (enum micro_operation_type): Add MO_COPY.
3224 (var_debug_decl): New function.
3225 (var_reg_set): Follow debug decl link. Add location even if
3226 reg is already known to hold some other variable.
3227 (var_mem_set): Follow debug decl link.
3228 (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug
3229 decl link. Delete other known locations of the variable part
3231 (var_reg_delete, var_mem_delete): Delete other known locations
3232 of the variable part if requested.
3233 (same_variable_part_p): New function.
3234 (add_stores): Select MO_COPY when appropriate.
3235 (vt_initialize): Handle it.
3236 (compute_bb_dataflow, emit_notes_in_bb): Likewise. Delete
3237 known locations for MO_SET and MO_CLOBBER.
3238 (find_variable_location_part): New function.
3239 (set_variable_part, delete_variable_part): Use it.
3240 (clobber_variable_part): New function.
3241 * dwarf2out.c (dwarf2out_var_location): Do not follow debug
3244 2006-08-07 Victor Kaplansky <victork@il.ibm.com>
3246 PR tree-optimization/26969
3247 * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
3248 with an empty list of PHIs.
3250 2006-08-06 Paolo Bonzini <bonzini@gnu.org>
3254 * conffig/i386/i386.md: Add peephole2 to avoid "fld %st"
3257 2006-08-06 Andreas Schwab <schwab@suse.de>
3259 * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format
3260 string. Whitespace and comment fixup.
3262 2006-08-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3265 * c-decl.c (validate_proto_after_old_defn): Return false on invalid
3269 * c-typeck.c (build_modify_expr): Test earlier for non-lvalues.
3272 * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify.
3274 2006-08-04 Jan Hubicka <jh@suse.cz>
3278 * reload.c (push_reload): Patch out the mismatching instruction;
3280 (find_reload): Bail out if the instruction was patched out.
3282 2006-08-04 Jan Hubicka <jh@suse.cz>
3284 PR tree-optimization/24888
3285 * tree-inline.c (expand_call_inline): Do not re-record variables.
3286 (declare_inline_vars): Add variable to unexpanded_var_list.
3288 2006-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3289 Roger Sayle <roger@eyesopen.com>
3291 PR rtl-optimization/26244
3292 * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
3293 inner_const are negative or greater than or equal to the bitsize of
3294 MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
3295 Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
3296 Simplify complicated if statement. For ASHIFT and LSHIFTRT, return
3297 CONST0_RTX (mode) when the new shift count is greater than or equal to
3298 to the bitsize of the object being shifted and XEXP (y, 0) has no side
3301 2006-08-04 Kazu Hirata <kazu@codesourcery.com>
3303 * tree-cfg.c: Fix a comment typo.
3305 2006-08-03 Mark Mitchell <mark@codesourcery.com>
3308 * varasm.c (output_constant): Give the front end another chance to
3309 expand constants, after stripping NOPs.
3311 2006-08-03 Jan Hubicka <jh@suse.cz>
3313 * domwalk.c (walk_dominator_tree): Reorganize to non-recursive
3316 2006-08-03 Dorit Nuzman <dorit@il.ibm.com>
3318 PR tree-optimization/27770
3319 * tree-vectorizer.h (get_vectype_for_scalar_type): Function
3320 declaration removed (moved to tree-flow.h).
3321 (vect_can_force_dr_alignment_p): Likewise.
3322 * tree-flow.h (get_vectype_for_scalar_type): New function declaration
3323 (moved from tree-vectorizer.h).
3324 (vect_can_force_dr_alignment_p): Likewise.
3325 * tree-vectorizer.c (vect_print_dump_info): Allow calling this function
3326 from outside the vectorizer - in particular from cgraph stage.
3327 * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase
3328 the alignment of global arrays when -fsection-anchors is enabled.
3329 * cgraphunit.c (cgraph_increase_alignment): New function.
3330 (cgraph_optimize): Call cgraph_increase_alignment.
3332 2006-08-03 David Edelsohn <edelsohn@gnu.org>
3335 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
3336 not reload a SPE symbol_ref into a lo_sum address.
3338 2006-08-02 Daniel Jacobowitz <dan@codesourcery.com>
3341 * dwarf2out.c (prune_unused_types_prune): Move call to
3342 prune_unused_types_update_strings to cover the parent DIE also.
3344 2006-08-02 Jan Hubicka <jh@suse.cz>
3346 PR gcov/profile/28480
3347 * tree-cfg.c (change_bb_for_stmt): New function.
3348 (tree_merge_blocks, tree_split_blocks): Use it.
3350 2006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3356 * toplev.c (compile_file): Return early on errorcount or sorrycount.
3357 * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
3358 (cgraph_optimize): Likewise.
3360 2006-08-01 Stuart Hastings <stuart@apple.com>
3362 * rtl.h (UINTVAL) New.
3363 * config/rs6000/rs6000.c (SMALL_INT) Use it.
3364 * testsuite/gcc.dg/20060801-1.c: New.
3366 2006-08-01 Daniel Jacobowitz <dan@codesourcery.com>
3369 * c-typeck.c (build_external_type): Mark used enum types.
3370 * dwarf2out.c (dwarf2out_abstract_function): Save and restore
3372 (gen_subprogram_die): Whitespace fix.
3374 2006-08-01 Jan Hubicka <jh@suse.cz>
3376 * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars
3377 bitmap when not needed.
3378 * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary
3381 2006-08-01 Dirk Mueller <dmueller@suse.de>
3383 * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
3385 2006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3387 * Makefile.in: Revert part of previous patch:
3388 Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H
3391 2006-07-30 Eric Christopher <echristo@apple.com>
3394 * doc/extend.texi (i386 Variable Attributes): Add anchor.
3395 (PowerPC Variable Attributes): New section.
3397 2006-07-30 Atsushi Nemoto <anemo@mba.ocn.ne.jp>
3399 PR target/28126 (partial fix)
3400 * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
3402 2006-07-28 Jan Hubicka <jh@suse.cz>
3404 PR rtl-optimization/28071
3405 * cfgrtl.c (rtl_delete_block): Free regsets.
3406 * flow.c (allocate_bb_life_data): Re-use regsets if available.
3408 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3410 * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies
3411 and variables used in dependencies.
3413 2006-07-27 Arjan van de Ven <arjan@linux.intel.com>
3415 * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than
3416 %fs for -mcmodel=kernel.
3417 (stack_tls_protect_test_di): Likewise.
3419 2006-07-27 Carlos O'Donell <carlos@codesourcery.com>
3421 * Makefile.in: Use mkinstalldirs.
3423 2006-07-27 H.J. Lu <hongjiu.lu@intel.com>
3426 * opts-common.c (prune_options): Skip joined switches.
3428 2006-07-27 Jan Hubicka <jh@suse.cz>
3430 PR rtl-optimization/28071
3431 * cselib.c (cselib_process_insn): Don't remove useless values too
3432 often for very large hashtables.
3434 2006-07-27 Jan Hubicka <jh@suse.cz>
3436 PR rtl-optimization/28071
3437 * global.c (greg_obstack): New obstack.
3438 (allocate_bb_info): Use it.
3439 (free_bb_info): Likewise.
3440 (modify_reg_pav): Likewise.
3442 2006-07-27 Roger Sayle <roger@eyesopen.com>
3444 * builtins.c (fold_fixed_mathfn): When long and long long are the
3445 same size, canonicalize llceil*, llfloor*, llround* and llrint*
3446 functions to their lceil*, lfloor*, lround* and lrint* forms.
3448 2006-07-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3451 * config/m32r/m32r.md (branch_insn): Reduce pc range for short
3453 (rev_branch_insn): Likewise.
3455 2006-07-27 Jan Hubicka <jh@suse.cz>
3457 PR rtl-optimization/28071
3458 * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour.
3459 (reg_set_in_bb, max_reg_computed): New static variables.
3460 (regmove_optimize): Free the new array.
3461 (fixup_match_1): Update call of reg_is_remote_constant_p.
3463 2006-07-26 Jan Hubicka <jh@suse.cz>
3465 PR tree-optimization/27882
3466 * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous
3468 * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill
3470 (cgraph_analyze_compilation_unit): Likewise.
3471 * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
3472 * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise.
3473 (cgraph_early_inlinine): Make order garbage collected.
3474 * Makefile.in (gt-ipa-inline): New garbagecollected file.
3476 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
3478 * dbxout.c (output_types_sort): Add a comment.
3479 (output_used_types): Free the VEC.
3481 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
3483 * function.c (reorder_fix_fragments): Delete.
3484 (reorder_blocks): Don't call it.
3485 (reorder_blocks_1): Put all subblocks under the origin block.
3487 2006-07-26 Zdenek Dvorak <dvorakz@suse.cz>
3489 PR rtl-optimization/27907
3490 * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and
3493 2006-07-25 Roger Sayle <roger@eyesopen.com>
3496 * convert.c (convert_to_integer): When transforming (T)foo(x) into
3497 bar(x) check that bar's result type can represent all the values of T.
<