1 2006-10-31 Steven Bosscher <steven@gcc.gnu.org>
3 * opts.c (decode_options): Disable CSE skip blocks.
5 2006-10-30 Dirk Mueller <dmueller@suse.de>
7 * c-common.h (strict_aliasing_warning): Fix whitespace.
8 * c-decl (start_function): Move code for main decl warning ..
9 * c-common.c (check_main_parameter_types): .. here.
10 * c-common.h (check_main_parameter_types): Declare.
12 2006-10-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15 * builtins.c (fold_builtin_1): Evaluate tgamma using MPFR.
17 2006-10-30 Pete Steinmetz <steinmtz@us.ibm.com>
19 * recog.c (store_data_bypass_p): Add support to allow IN_INSN to
20 be a PARALLEL containing sets. Return false when out_pat is not
23 2006-10-30 Richard Sandiford <richard@codesourcery.com>
25 * config/mips/mips.md (mul<mode>3): Split into...
26 (mulsi3, muldi3): ...these separate patterns.
28 2006-10-30 Richard Sandiford <richard@codesourcery.com>
30 * config/mips/linux64.h (DRIVER_SELF_SPECS): Use a single spec,
31 but with each set of options separated by spaces.
33 2006-10-30 J"orn Rennecke <joern.rennecke@st.com>
35 * unwind-dw2.c (uw_init_context_1): Fix test that checks if
36 dwarf_reg_size_table has been initialized.
38 2006-10-30 Roger Sayle <roger@eyesopen.com>
40 * builtins.c (expand_builtin_mathfn_3): Correct coding style.
41 * ddg.c (print_ddg_edge): Likewise.
42 * dwarf2out.c (prune_unused_types_walk): Likewise.
43 * ifcvt.c (noce_try_cmove_arith): Likewise.
44 * langhooks.c (add_builtin_function): Likewise.
45 * reg-stack.c (subst_stack_regs_pat): Likewise.
46 * tree.c (expanded_location): Likewise.
47 * tree-dump.c (dequeue_and_dump): Likewise.
49 2006-10-30 David Daney <ddaney@avtrex.com>
51 * config/mips/linux.h (NO_SHARED_SPECS): Correct syntax error.
53 2006-10-30 Jakub Jelinek <jakub@redhat.com>
55 PR tree-optimization/29637
56 * tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
57 of the innertype is the innertype itself.
59 2006-10-30 Danny Smith <dannysmith@users.sourceforge.net>
61 * dwarf2out.c (file_name_acquire): Correct typo.
63 2006-10-29 Daniel Berlin <dberlin@dberlin.org>
65 * tree.h (tree_value_handle): Remove struct value_set declaration.
66 Change value_set to bitmap_set.
67 * tree-pretty-print.c (dump_generic_node): Use has_stmt_ann.
68 * tree-vn.c (get_value_handle): Made inline and moved to
70 * tree-flow-inline.h: (has_stmt_ann): New function.
71 * tree-ssa-pre.c (expressions): New variable.
72 (next_expression_id): Ditto.
73 (alloc_expression_id): New function.
74 (struct value_set): Remove.
75 (get_expression_id): New function.
76 (get_or_alloc_expression_id): Ditto.
77 (expression_for_id): Ditto.
78 (clear_expression_ids): Ditto.
79 (FOR_EACH_EXPR_ID_IN_SET): New macro.
80 (bb_value_sets): Renamed to bb_bitmap_sets.
81 All value sets replaced with bitmap_sets.
83 (BB_VISITED): New macro.
84 (postorder): New variable.
85 (add_to_value): Removed.
86 (value_exists_in_set_bitmap): Ditto.
87 (value_insert_into_set_bitmap): Ditto.
91 (set_contains_value): Ditto.
92 (insert_into_set): Ditto.
95 (bitmap_set_subtract_from_value_set): Ditto.
96 (value_insert_into_set): Ditto.
97 (print_value_set): Ditto.
98 (debug_value_set): Ditto.
99 (constant_expr_p): New function.
100 (bitmap_remove_from_set): Ditto.
101 (bitmap_insert_into_set): Ditto.
102 (bitmap_set_free): Ditto.
104 (sorted_array_from_bitmap_set): Ditto.
105 (bitmap_set_subtract): Ditto.
106 (bitmap_set_equal): Ditto.
107 (debug_bitmap_set): Ditto.
108 (find_leader_in_sets): Ditto.
109 (bitmap_set_replace_value): Modify for bitmapped sets.
110 (phi_translate): Ditto.
111 (phi_translate_set): Ditto.
112 (bitmap_find_leader): Ditto.
113 (valid_in_sets): Ditto.
114 (union_contains_value): Ditto.
116 (compute_antic_aux): Ditto. Mark changed blocks.
117 (compute_antic): Ditto. Iterate in postorder and only over
119 (compute_rvuse_and_antic_safe): Reuse postorder.
120 (create_component_ref_by_pieces): Modify for bitmapped sets.
121 (find_or_generate_expression): Ditto.
122 (create_expression_by_pieces): Ditto.
123 (insert_into_preds_of_block): Ditto.
124 (changed_blocks): New variable.
125 (do_regular_insertion): Broken out from insert_aux.
126 (insert_aux): Modified for bitmapped sets.
127 (find_existing_value_expr): New function.
128 (create_value_expr_from): Use it.
129 (insert_extra_phis): Removed.
130 (print_bitmap_set): Renamed from bitmap_print_value_set.
131 (compute_avail): Handle RETURN_EXPR.
132 (init_pre): Modify for bitmapped sets.
133 * tree-flow.h (has_stmt_ann): New function.
135 2006-10-29 Roger Sayle <roger@eyesopen.com>
137 * builtins.c (fold_builtin_floor): Check for the availability of
138 the C99 trunc function before transforming floor into trunc.
140 2006-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
142 * builtins.c (fold_builtin_hypot): Rearrange recursive
143 transformation before others, and also do ABS_EXPR. When
144 necessary, check flag_unsafe_math_optimizations. When necessary,
147 2006-10-29 Roger Sayle <roger@eyesopen.com>
149 * fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X.
150 Fold ~X op C as X op' ~C, where op' is the swapped comparison.
151 (fold_binary): ~X eq/ne C is now handled in fold_comparison.
152 Fold -X eq/ne -Y as X eq/ne Y.
154 2006-10-29 Richard Sandiford <richard@codesourcery.com>
156 * config/mips/mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than
157 GENERATE_MULT3_<MODE>. Restrict the test to SImode. Use ISA_HAS_MUL3
158 rather than GENERATE_MULT3_SI in the various define_peephole2s.
159 (mulsi3_mult3): Depend on ISA_HAS_MUL3 rather than GENERATE_MULT3_SI.
160 Use an inclusive test for "mult" rather than "mul".
161 (rotr<mode>3): Depend on ISA_HAS_ROR.
162 * config/mips/mips.h (GENERATE_MULT3_SI): Delete in favor of
164 (GENERATE_MULT3_DI): Delete.
165 (ISA_HAS_64BIT_REGS): Use consistent formatting.
166 (ISA_HAS_MUL3): New macro.
167 (ISA_HAS_CONDMOVE, ISA_HAS_8CC): Use consistent formatting.
168 (ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB): Likewise.
169 (ISA_HAS_CLZ_CLO): Likewise.
170 (ISA_HAS_DCLZ_DCLO): Delete.
171 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC): Require !TARGET_MIPS16.
172 (ISA_HAS_MACC): Require !TARGET_MIPS16 for all ISAs, not just
173 the VR4120 and VR4130.
174 (ISA_HAS_MACCHI): Use consistent formatting.
175 (ISA_HAS_ROTR_SI, ISA_HAS_ROTR_DI): Delete in favor of...
176 (ISA_HAS_ROR): ...this new macro.
177 (ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX): Use consistent formatting.
178 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS): Likewise.
179 (ISA_HAS_LOAD_DELAY): Use ISA_MIPS1.
181 2006-10-29 Roger Sayle <roger@eyesopen.com>
183 PR tree-optimization/15458
184 * fold-const.c (fold_binary): Optimize ~X ^ C as X ^ ~C, where C
187 2006-10-29 Richard Guenther <rguenther@suse.de>
189 * config/i386/i386-protos.h (ix86_expand_trunc): Declare.
190 (ix86_expand_truncdf_32): Likewise.
191 * config/i386/i386.c (ix86_expand_trunc): New function expanding
192 trunc inline for SSE math and -fno-trapping-math and if not
194 (ix86_expand_truncdf_32): Same for DFmode on 32bit archs.
195 * config/i386/i386.md (btruncsf2, btruncdf2): Adjust expanders
196 for expanding btrunc inline for SSE math.
198 2006-10-29 Joseph Myers <joseph@codesourcery.com>
200 * config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
201 Handle tuning for bi-arch i[34567]86-*-linux* like that for
202 i[34567]86-*-solaris2.1[0-9]*.
203 * config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS):
204 Define conditionally depending on TARGET_64BIT_DEFAULT.
205 (SPEC_32, SPEC_64): Define.
206 (LINK_SPEC): Use them.
207 * doc/install.texi (--enable-targets=all): Document for x86-linux.
209 2006-10-29 Richard Guenther <rguenther@suse.de>
211 * config/i386/i386-protos.h (ix86_expand_round): Declare.
212 (ix86_expand_rounddf_32): Likewise.
213 * config/i386/i386.c (ix86_expand_round): New function expanding
214 round inline for SSE math and -fno-trapping-math and if not
216 (ix86_expand_rounddf_32): Same for DFmode on 32bit archs.
217 * config/i386/i386.md (rounddf2, roundsf2): New pattern expanding
218 round via ix86_expand_round.
220 2006-10-29 Richard Guenther <rguenther@suse.de>
222 * config/i386/i386-protos.h (ix86_expand_floorceil): Declare.
223 (ix86_expand_floorceildf_32): Likewise.
224 * config/i386/i386.c (ix86_expand_sse_compare_mask): New
225 static helper function.
226 (ix86_expand_floorceil): Expander for floor and ceil to SSE
228 (ix86_expand_floorceildf_32): Same for DFmode on 32bit archs.
229 * config/i386/i386.md (floordf2): Adjust to enable floor
230 expansion via ix86_expand_floorceil if TARGET_SSE_MATH and
231 -fno-trapping-math is enabled and if not optimizing for size.
232 (floorsf2, ceildf2, ceilsf2): Likewise.
233 * config/i386/sse.md (sse_maskcmpsf3): New insn.
234 (sse2_maskcmpdf3): Likewise.
236 2006-10-29 Richard Guenther <rguenther@suse.de>
238 * builtins.c (expand_builtin_mathfn): Expand nearbyint as
239 rint in case -fno-trapping-math is enabled.
240 * config/i386/i386-protos.h (ix86_expand_rint): Declare.
241 * config/i386/i386.c (ix86_gen_TWO52): New static helper function.
242 (ix86_expand_sse_fabs): Likewise.
243 (ix86_expand_rint): New function expanding rint to x87 or SSE math.
244 * config/i386/i386.md (rintdf2): Enable for SSE math if
245 -fno-trapping-math is enabled, use ix86_expand_rint for expansion.
248 2006-10-29 Richard Guenther <rguenther@suse.de>
250 * genopinit.c (optabs): Change lfloor_optab and lceil_optab
251 to conversion optabs.
252 * optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab
254 * optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil.
255 (enum convert_optab_index): Add COI_lfloor and COI_lceil.
256 (lfloor_optab, lceil_optab): Adjust defines.
257 * builtins.c (expand_builtin_int_roundingfn): Adjust for
258 lfloor and lceil optabs now being conversion optabs.
259 * config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare.
260 * config/i386/i386.c (ix86_expand_sse_compare_and_jump):
261 New static helper function.
262 (ix86_expand_lfloorceil): New function to expand lfloor and
264 * config/i386/i386.md (lfloor<mode>2): Split into ...
265 (lfloorxf<mode>2): ... x87 variant
266 (lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants
267 using ix86_expand_lfloorceil.
268 (lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2):
270 * doc/md.texi (lfloorMN, lceilMN): Document.
272 2006-10-29 Richard Sandiford <richard@codesourcery.com>
274 * configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE. Test for the
275 -mno-shared assembler option on mips targets.
276 * configure, config.in: Regenerate.
277 * config/mips/linux.h (NO_SHARED_SPECS): New macro.
278 (DRIVER_SELF_SPECS): Define to NO_SHARED_SPECS if non-empty.
279 * config/mips/linux64.h (DRIVER_SELF_SPECS): Include NO_SHARED_SPECS.
281 2006-10-29 Richard Sandiford <richard@codesourcery.com>
283 * config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well
284 as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL.
286 2006-10-29 Kazu Hirata <kazu@codesourcery.com>
288 * config/darwin.c, config/darwin.opt, config/ia64/itanium1.md,
289 config/ia64/itanium2.md, real.c, tree-ssa-structalias.c: Fix
292 2006-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
295 * builtins.c (do_mpfr_arg2, fold_builtin_hypot): New.
296 (fold_builtin_pow): Evaluate constant arguments at compile-time
298 (fold_builtin_1): Handle BUILT_IN_ATAN2 and BUILT_IN_HYPOT.
299 (do_mpfr_ckconv): New helper function.
300 (do_mpfr_arg1): Use do_mpfr_ckconv.
303 2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
306 * doc/invoke.texi (-fdump-rtl-sched2) Fix file extension number.
307 (-fdump-rtl-sched): Rename to ..
308 (-fdump-rtl-sched1): here. Also fix file extension number.
310 2006-10-28 Richard Guenther <rguenther@suse.de>
312 * fold-const.c (maybe_canonicalize_comparison): Fix code
315 2006-10-28 Uros Bizjak <uros@kss-loka.si>
317 * config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
318 (NON_QI_REG_P): Use IN_RANGE.
319 (REX_INT_REGNO_P): Use IN_RANGE.
320 (FP_REGNO_P): Use IN_RANGE.
321 (SSE_REGNO_P): Use IN_RANGE.
322 (REX_SSE_REGNO_P): Use IN_RANGE.
323 (MMX_REGNO_P): Use IN_RANGE.
324 (STACK_REGNO_P): New macro.
325 (STACK_REG_P): Use STACK_REGNO_P.
326 (NON_STACK_REG_P): Use STACK_REGNO_P.
327 (REGNO_OK_FOR_INDEX_P): Use REX_INT_REGNO_P.
328 (REGNO_OK_FOR_BASE_P): Use GENERAL_REGNO_P.
329 (REG_OK_FOR_INDEX_NONSTRICT_P): Use REX_INT_REGNO_P.
330 (REG_OK_FOR_BASE_NONSTRICT_P): Use GENERAL_REGNO_P.
331 (HARD_REGNO_RENAME_OK): Use !IN_RANGE.
333 2006-10-28 Eric Botcazou <ebotcazou@adacore.com>
335 * except.h (output_function_exception_table): Add 'const char*' param.
336 * except.c (switch_to_exception_section): Add 'const char*' param.
337 If named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
338 and flag_function_sections is set, use a function-specific section.
339 (output_function_exception_table): Add 'const char*' param.
340 Adjust call to switch_to_exception_section.
341 * final.c (rest_of_handle_final): Adjust calls to
342 output_function_exception_table.
343 * configure.ac (HAVE_LD_EH_GC_SECTIONS): New check.
344 * config.in: Regenerate.
345 * configure: Likewise.
347 2006-10-28 Richard Guenther <rguenther@suse.de>
350 * fold-const.c (maybe_canonicalize_comparison_1): Helper
351 for maybe_canonicalize_comparison.
352 (maybe_canonicalize_comparison): New function for canonicalizing
354 (fold_comparison): Call it to canonicalize comparisons with
357 2006-10-28 Richard Guenther <rguenther@suse.de>
360 * builtins.c (expand_builtin_int_roundingfn_2): Expand
361 BUILT_IN_LROUND and BUILT_IN_LLROUND from here.
362 (expand_builtin): Adjust likewise.
363 * genopinit.c (optabs[]): Add lround optab.
364 * optabs.c (init_optabs): Initialize lround_optab.
365 * optabs.h (enum convert_optab_index): Add COI_lround.
366 (lround_optab): Define.
367 * config/i386/i386-protos.h (ix86_expand_lround): Declare.
368 * config/i386/i386.c (ix86_sse_copysign_to_positive): New
370 (ix86_expand_lround): New function.
371 * config/i386/i386.md (lround<mode>di2, lround<mode>si2):
373 * doc/md.texi (lroundMN2): Document.
375 2006-10-28 Uros Bizjak <uros@kss-loka.si>
378 * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
379 argument to HOST_WIDE_INT. Update function prototype.
380 (round_frame_size): Change return type to HOST_WIDE_INT. Change
381 "size" argument to HOST_WIDE_INT. Update function prototype.
383 2006-10-28 Uros Bizjak <uros@kss-loka.si>
385 * config/i386/i386.c (output_387_ffreep): Create output from a
386 template string for !HAVE_AS_IX86_FFREEP.
388 2006-10-27 Eric Christopher <echristo@apple.com>
390 * config/darwin.c: Fix formatting and grammar.
392 2006-10-27 Jan Hubicka <jh@suse.cz>
394 * builtins.c (fold_builtin): Don't generate NOP_EXPR that is going
395 to be thrown away soon when IGNORE is set.
396 * tree-ssa-ccp.c (convert_to_gimple_builtin): Add IGNORE argument
397 indicating when return value shall not be computed.
398 * gimplify.c (internal_get_tmp_var): Avoid random tree sharing.
400 2006-10-27 Vladimir Makarov <vmakarov@redhat.com>
402 * config/i386/i386.h (TARGET_GEODE):
403 (TARGET_CPU_CPP_BUILTINS): Add code for geode.
404 (TARGET_CPU_DEFAULT_geode): New macro.
405 (TARGET_CPU_DEFAULT_k6, TARGET_CPU_DEFAULT_k6_2,
406 TARGET_CPU_DEFAULT_k6_3, TARGET_CPU_DEFAULT_athlon,
407 TARGET_CPU_DEFAULT_athlon_sse, TARGET_CPU_DEFAULT_k8,
408 TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_prescott,
409 TARGET_CPU_DEFAULT_nocona, TARGET_CPU_DEFAULT_generic): Increase
411 (TARGET_CPU_DEFAULT_NAMES): Add geode.
412 (processor_type): Add PROCESSOR_GEODE.
414 * config/i386/i386.md: Include geode.md.
417 * config/i386/i386.c (geode_cost): New initialized global
419 (m_GEODE, m_K6_GEODE): New macros.
420 (x86_use_leave, x86_push_memory, x86_deep_branch, x86_use_sahf,
421 x86_use_himode_fiop, x86_promote_QImode, x86_add_esp_4,
422 x86_add_esp_8, x86_rep_movl_optimal, x86_ext_80387_constants,
423 x86_schedule): Use m_K6_GEODE instead of m_K6.
424 (x86_movx, x86_cmove): Set up m_GEODE.
425 (x86_integer_DFmode_moves): Clear m_GEODE.
426 (processor_target_table): Add entry for geode.
427 (processor_alias_table): Ditto.
429 * config/i386/geode.md: New file.
431 * doc/invoke.texi: Add entry about geode processor.
433 2006-10-27 Mike Stump <mrs@apple.com>
435 * config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and
436 __DYNAMIC__ from here back to ...
437 * config/darwin.h (CPP_SPEC): ... here.
439 2006-10-26 Nathan Froyd <froydnj@codesourcery.com>
440 Nathan Sidwell <nathan@codesourcery.com>
442 * ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative
443 when choosing the minimum heapsize.
445 2006-10-26 Nathan Froyd <froydnj@codesourcery.com>
447 * gcc/unwind-dw2.h: Move cfa-related variables into
448 struct frame_state_reg_info to ensure that the CFA is properly
449 handled when executing DW_CFA_{remember,restore}_state.
450 * gcc/unwind-dw2.c, gcc/config/alpha/linux-unwind.h,
451 gcc/config/alpha/vms-unwind.h, gcc/config/s390/tpf-unwind.h
452 gcc/config/s390/linux-unwind.h, gcc/config/sparc/linux-unwind.h
453 gcc/config/i386/linux-unwind.h, gcc/config/sh/linux-unwind.h
454 gcc/config/rs6000/linux-unwind.h,
455 gcc/config/rs6000/darwin-fallback.c, gcc/config/pa/linux-unwind.h,
456 gcc/config/pa/hpux-unwind.h, gcc/config/mips/linux-unwind.h:
457 Modify to use new cfa_* fields.
459 2006-10-26 Andreas Krebbel <krebbel1@de.ibm.com>
461 * config/s390/s390.c (s390_init_frame_layout): Check positive
464 2006-10-26 Ben Elliston <bje@au.ibm.com>
466 * gimplify.c (get_name): Remove extraneous break.
467 (gimplify_omp_for): Initialise ret with GS_OK.
469 2006-10-25 Steve Ellcey <sje@cup.hp.com>
471 * config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++.
472 Add unix98.o to link line.
474 2006-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
477 * builtins.c (fold_builtin_cbrt, fold_builtin_logarithm):
478 Calculate compile-time constants using MPFR.
479 (fold_builtin_1): Likewise handle BUILT_IN_ERF, BUILT_IN_ERFC,
480 BUILT_IN_EXPM1 and BUILT_IN_LOG1P.
482 2006-10-25 Bob Wilson <bob.wilson@acm.org>
484 * config/xtensa/lib2funcs.S: Use C-style comments.
486 2006-10-24 Nathan Froyd <froydnj@codesourcery.com>
488 * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
489 (file_table_relative_p): Likewise.
490 (dwarf2out_finish): Likewise.
491 (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
493 2006-10-25 Daniel Berlin <dberlin@dberlin.org>
495 * tree-ssa-structalias.c (intra_create_variable_infos):
496 Don't recreate nonlocal_all if it already exists.
498 2006-10-25 Richard Guenther <rguenther@suse.de>
501 * optabs.h (enum optab_index): Remove OTI_lrint.
502 (enum convert_optab_index): Add COI_lrint.
503 (lrint_optab): Adjust.
504 (expand_sfix_optab): Declare.
505 * optabs.c (expand_sfix_optab): New function.
506 (init_optabs): Init lrint_optab as conversion optab.
507 * genopinit.c (lrint_optab): Change to a conversion optab.
508 * builtins.c (expand_builtin_int_roundingfn_2): Adjust to
509 expansion via conversion optab.
510 * config/i386/i386.md (*fistdi2_1): Remove
511 flag_unsafe_math_optimizations guard.
512 (fistdi2, fistdi2_with_temp, *fist<mode>2_1, fist<mode>2,
513 fist<mode>2_with_temp): Likewise.
514 (lrint<mode>2): Split into...
515 (lrintxf<mode>2): ... x87 part
516 (lrint<mode>di2, lrint<mode>si2): ... and SSE parts.
517 * config/i386/sse.md (sse_cvtss2si_2, sse_cvtss2_siq_2,
518 sse2_cvtsd2si_2, sse2_cvtsd2siq_2): New insns for
519 UNSPEC_FIX_NOTRUNC matching non-vector float modes.
520 * doc/md.texi (lrintMN2): Document.
522 2006-10-25 Uros Bizjak <uros@kss-loka.si>
525 * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>"):
526 Use inc and dec instructions for TARGET_USE_INCDEC.
527 ("*sync_compare_and_swap<mode>"): Fix -masm=intel template.
528 ("sync_double_compare_and_swap<mode>"): Likewise.
529 ("*sync_double_compare_and_swapdi_pic"): Likewise.
530 ("*sync_compare_and_swap_cc<mode>"): Likewise.
531 ("sync_double_compare_and_swap_cc<mode>"): Likewise.
532 ("*sync_double_compare_and_swap_ccdi_pic"): Likewise.
533 ("sync_old_add<mode>"): Likewise.
534 ("sync_lock_test_and_set<mode>"): Likewise.
535 ("sync_lock_test_and_set<mode>"): Likewise.
536 ("sync_add<mode>"): Likewise.
537 ("sync_sub<mode>"): Likewise.
538 ("sync_ior<mode>"): Likewise.
539 ("sync_and<mode>"): Likewise.
540 ("sync_xor<mode>"): Likewise.
542 2006-10-25 Uros Bizjak <uros@kss-loka.si>
544 * optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder.
545 (remainder_optab): Define corresponding macro.
546 (drem_optab): Remove.
547 * optabs.c (init_optabs): Initialize remainder_optab. Remove
548 drem_optab initialization.
549 * genopinit.c (optabs): Implement remainder_optab using
550 remainder?f3 patterns. Remove drem_optab.
551 * builtins.c (expand_builtin_mathfn_2): Handle
552 BUILT_IN_REMAINDER{,F,L} using remainder_optab.
553 (expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using
554 expand_builtin_mathfn_2.
556 (expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not
557 depend on flag_unsafe_math_optimizations.
559 * config/i386/i386.md ("remaindersf3", "remainderdf3")
560 ("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders.
561 Do not depend on flag_unsafe_math_optimizations. Use
562 truncxf?f expander instead of truncxf?f_i387_noop.
564 ("fpremxf4", "fprem1xf4"): Do not depend on
565 flag_unsafe_math_optimizations.
566 ("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on
567 flag_unsafe_math_optimizations. Use truncxf?f expander
568 instead of truncxf?f_i387_noop.
570 * doc/md.texi (fmod, remainder): Document standard named pattern.
572 2006-10-24 Richard Sandiford <richard@codesourcery.com>
573 David Daney <ddaney@avtrex.com>
576 * rtlanal.c (nonzero_address_p): Remove check for values wrapping.
578 2006-10-25 Ben Elliston <bje@au.ibm.com>
580 * doc/extend.texi (Variable Attributes): Typo fix.
582 2006-10-24 Uros Bizjak <uros@kss-loka.si>
584 * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 54.
585 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add fpcr register.
586 (REG_ALLOC_ORDER): Add one element to allocate fpcr register.
587 (FRAME_POINTER_REGNUM): Update register number to 21.
588 (REG_CLASS_CONTENTS): Update contents for added fpcr register.
589 (HI_REGISTER_NAMES): Add "fpcr" for fpcr register.
591 * config/i386/i386.c (regclass_map): Add fpcr entry.
592 (dbx_register_map, dbx64_register_map, svr4_dbx_register_map):
594 (print_reg): Assert REGNO (x) != FPCR_REG.
596 * config/i386/i386.md (FPCR_REG, R11_REG): New constants.
597 (DIRFLAG_REG): Renumber.
598 (x86_fnstcw_1, x86_fldcw_1): Use FPCR_REG instead of FPSR_REG.
599 (*sibcall_1_rex64_v, *sibcall_value_1_rex64_v): Use R11_REG.
600 (sse_prologue_save, *sse_prologue_save_insn): Renumber
601 hardcoded SSE register numbers.
603 * config/i386/mmx.md (mmx_emms, mmx_femms): Renumber
604 hardcoded MMX register numbers.
606 2006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
609 * builtins.c (fold_builtin_sin, fold_builtin_atan): Remove.
610 (do_mpfr_arg1): Add `min', `max' and `inclusive' arguments.
612 (BUILT_IN_SIN, BUILT_IN_ATAN): Handle in main switch.
613 (BUILT_IN_ASIN, BUILT_IN_ACOS, BUILT_IN_ATAN, BUILT_IN_ASINH,
614 BUILT_IN_ACOSH, BUILT_IN_ATANH, BUILT_IN_SINH, BUILT_IN_COSH,
615 BUILT_IN_TANH): Calculate compile-time arguments using MPFR.
617 2006-10-24 Richard Guenther <rguenther@suse.de>
620 * builtins.c (fold_builtin_classify): Use HONOR_INFINITIES
621 and HONOR_NANS instead of MODE_HAS_INFINITIES and MODE_HAS_NANS
622 for deciding optimizations in consistency with fold-const.c
623 (fold_builtin_unordered_cmp): Likewise.
625 2006-10-24 Richard Guenther <rguenther@suse.de>
627 * builtins.c (fold_builtin_floor): Fold floor (x) where
628 x is nonnegative to trunc (x).
629 (fold_builtin_int_roundingfn): Fold lfloor (x) where x is
630 nonnegative to FIX_TRUNC_EXPR.
632 2006-10-24 Richard Guenther <rguenther@suse.de>
634 PR tree-optimization/29567
635 * tree-vrp.c (register_edge_assert_for_1): Fix wrong logic
636 for TRUTH_NOT_EXPR. Clarify comments.
638 2006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
641 * builtins.c (fold_builtin_exponent): Evaluate constant arguments
642 at compile-time using MPFR. Change parameter VALUE to FUNC,
644 (do_mpfr_arg1): Rename `exact' to `inexact'. Carefully check
645 for overflow and underflow at all times and avoid folding in
648 2006-10-24 Ben Elliston <bje@au.ibm.com>
650 * reload1.c: Formatting fixes.
652 2006-10-23 Zdenek Dvorak <dvorakz@suse.cz>
654 PR tree-optimization/14784
655 * tree-flow.h (struct var_ann_d): Add is_heapvar bit.
656 * tree-ssa-structalias.c (get_constraint_for,
657 intra_create_variable_infos): Set is_heapvar.
658 * tree-ssa-operands.c (access_can_touch_variable): Do not handle
659 non-heapvar pointer variables specially.
661 2006-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
664 * builtins.c (fold_builtin_sin, fold_builtin_cos,
665 fold_builtin_tan): Fold all constant arguments. Take a "type"
666 argument as necessary.
668 * real.c, real.h (real_from_mpfr, mpfr_from_real): New.
670 2006-10-23 Bob Wilson <bob.wilson@acm.org>
672 * config/xtensa/lib1funcs.asm: Use C-style comments.
674 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
676 * tree.c (local_define_builtin): Replace calls to
677 lang_hooks.builtin_function with add_builtin_function.
678 * c-objc-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
680 * c-tree.h (builtin_function): Rename to c_builtin_function. Change
682 * c-decl.c (builtin_function): Rename to c_builtin_function. Move
683 common code to add_builtin_function.
684 * langhooks.c (add_builtin_function): New function.
685 (lhd_builtin_function): New function.
686 * langhooks.h (struct lang_hooks): Change the signature of
688 (add_builtin_function): New function.
689 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Replace
690 calls to lang_hooks.builtin_function with add_builtin_function.
691 * c-common.c (decl_builtin_1): Replace calls to
692 lang_hooks.builtin_function with add_builtin_function.
693 * config/alpha/alpha.c (alpha_init_builtins): Replace calls to
694 lang_hooks.builtin_function with add_builtin_function.
695 * config/frv/frv.c (def_builtin): Replace calls to
696 lang_hooks.builtin_function with add_builtin_function.
697 * config/s390/s390.c (s390_init_builtins): Replace calls to
698 lang_hooks.builtin_function with add_builtin_function.
699 * config/sparc/sparc.c (def_builtin): Replace calls to
700 lang_hooks.builtin_function with add_builtin_function.
701 * config/i386/i386.c (def_builtin): Replace calls to
702 lang_hooks.builtin_function with add_builtin_function.
703 * config/sh/sh.c (sh_media_init_builtins): Replace calls to
704 lang_hooks.builtin_function with add_builtin_function.
705 * config/c4x/c4x.c (c4x_init_builtins): Replace calls to
706 lang_hooks.builtin_function with add_builtin_function.
707 * config/stormy16/stormy16.c (xstormy16_init_builtins):
708 Replace calls to lang_hooks.builtin_function with
709 add_builtin_function.
710 * config/iq2000/iq2000.c (def_builtin):
711 Replace calls to lang_hooks.builtin_function with
712 add_builtin_function.
713 * config/ia64/ia64.c (def_builtin): Replace calls to
714 lang_hooks.builtin_function with add_builtin_function.
715 * config/rs6000/rs6000.c (def_builtin): Replace calls to
716 lang_hooks.builtin_function with add_builtin_function.
717 (altivec_init_builtins): Replace calls to
718 lang_hooks.builtin_function with add_builtin_function.
719 * config/arm/arm.c (def_mbuiltin): Replace calls to
720 lang_hooks.builtin_function with add_builtin_function.
721 (arm_init_tls_builtins): Replace calls to
722 lang_hooks.builtin_function with add_builtin_function.
723 * config/mips/mips.c (mips_init_builtins): Replace calls to
724 lang_hooks.builtin_function with add_builtin_function.
725 * config/bfin/bfin.c (def_builtin): Replace calls to
726 lang_hooks.builtin_function with add_builtin_function.
727 * langhooks-def.h (lhd_builtin_function): New function.
728 (LANG_HOOKS_BUILTIN_FUNCTION): Define as lhd_builtin_function.
730 2006-10-23 Jakub Jelinek <jakub@redhat.com>
732 * builtins.c (expand_builtin, maybe_emit_chk_warning): Handle
733 BUILT_IN_STRNCAT_CHK.
735 2006-10-23 Jan Hubicka <jh@suse.cz>
737 * builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument;
738 don't do conversion from memmove to memcpy here.
739 (expand_builtin_bcopy, expand_builtin): Update call of
740 expand_builtin_memmove.
741 (fold_builtin_memory_op): Do folding of memmove to memcpy here.
743 2006-10-23 Paul Brook <paul@codesourcery.com>
745 * stor-layout.c (start_record_layout): maximum_field_alignment
746 overrides STRUCTURE_SIZE_BOUNDARY.
748 2006-10-23 Ulrich Weigand <uweigand@de.ibm.com>
750 * config/s390/predicates.md ("bras_sym_operand"): Do not accept
751 nonlocal function symbols if flag_pic.
753 2006-10-23 Richard Guenther <rguenther@suse.de>
757 * builtins.c (fold_binary): Remove checks for flag_wrapv
758 and flag_trapv where negate_expr_p covers these cases.
760 2006-10-23 Richard Guenther <rguenther@suse.de>
763 * fold-const.c (fold_plusminus_mult_expr): Check exact power
764 of two on the absolute value.
765 (fold_binary): Fold x * -C to -x * C if x is easily negatable
766 and negating -C does not overflow.
768 2006-10-23 Richard Guenther <rguenther@suse.de>
771 * convert.c (convert_to_real): Fold (float)-x to -(float)x
772 only if not flag_rounding_math.
774 2006-10-22 Richard Sandiford <richard@codesourcery.com>
775 Kaz Kojima <kkojima@gcc.gnu.org>
778 * config/sh/sh.c (expand_block_move): Use a BLKmode rather than
779 SImode memory reference for the source of a movua.
780 * config/sh/sh.md (UNSPEC_MOVUA): New macro.
781 (movua): Use an unspec instead of sign_extract. Expect the source
782 to have mode BLKmode.
783 (extv, insv): Use a BLKmode rather than SImode memory reference
784 for the source of a movua.
786 2006-10-22 Jeff Law <law@redhat.com>
787 Richard Guenther <rguenther@suse.de>
789 PR tree-optimization/15911
790 * tree-vrp.c (extract_code_and_val_from_cond): New function.
791 (register_edge_assert_for_1): Likewise.
792 (register_edge_assert_for): Handle &&/&/||/| in conditionals.
793 (find_conditional_asserts): Adjust for new function signature.
794 (find_assert_locations): Likewise.
796 2006-10-22 H.J. Lu <hongjiu.lu@intel.com>
798 * config/i386/tmmintrin.h: Remove the duplicated content.
800 2006-10-22 H.J. Lu <hongjiu.lu@intel.com>
802 * config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers.
803 (x86_64-*-*): Likewise.
805 * config/i386/i386.c (pta_flags): Add PTA_SSSE3.
806 (override_options): Check SSSE3.
807 (ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD,
808 IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD,
809 IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW,
810 IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB,
811 IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND,
812 IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW,
813 IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128,
814 IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128,
815 IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128,
816 IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128,
817 IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128,
818 IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128,
819 IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128,
820 IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and
821 IX86_BUILTIN_PABSD128.
822 (bdesc_2arg): Add SSSE3.
823 (bdesc_1arg): Likewise.
824 (ix86_init_mmx_sse_builtins): Support SSSE3.
825 (ix86_expand_builtin): Likewise.
826 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise.
828 * config/i386/i386.md (UNSPEC_PSHUFB): New.
829 (UNSPEC_PSIGN): Likewise.
830 (UNSPEC_PALIGNR): Likewise.
831 Include mmx.md before sse.md.
833 * config/i386/i386.opt: Add -mssse3.
835 * config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3.
836 (ssse3_phaddwv4hi3): Likewise.
837 (ssse3_phadddv4si3): Likewise.
838 (ssse3_phadddv2si3): Likewise.
839 (ssse3_phaddswv8hi3): Likewise.
840 (ssse3_phaddswv4hi3): Likewise.
841 (ssse3_phsubwv8hi3): Likewise.
842 (ssse3_phsubwv4hi3): Likewise.
843 (ssse3_phsubdv4si3): Likewise.
844 (ssse3_phsubdv2si3): Likewise.
845 (ssse3_phsubswv8hi3): Likewise.
846 (ssse3_phsubswv4hi3): Likewise.
847 (ssse3_pmaddubswv8hi3): Likewise.
848 (ssse3_pmaddubswv4hi3): Likewise.
849 (ssse3_pmulhrswv8hi3): Likewise.
850 (ssse3_pmulhrswv4hi3): Likewise.
851 (ssse3_pshufbv16qi3): Likewise.
852 (ssse3_pshufbv8qi3): Likewise.
853 (ssse3_psign<mode>3): Likewise.
854 (ssse3_psign<mode>3): Likewise.
855 (ssse3_palignrti): Likewise.
856 (ssse3_palignrdi): Likewise.
857 (abs<mode>2): Likewise.
858 (abs<mode>2): Likewise.
860 * config/i386/tmmintrin.h: New file.
862 * doc/extend.texi: Document SSSE3 built-in functions.
864 * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches.
866 2006-10-22 Ira Rosen <irar@il.ibm.com>
868 * tree-vect-transform.c (vectorizable_load): Use the type of the
869 return value of the mask_for_load builtin to create realign_load
872 2006-10-22 Richard Sandiford <richard@codesourcery.com>
874 * config/mips/mips.c (mips_split_const): Don't accept bare PLUS
877 2006-10-21 H.J. Lu <hongjiu.lu@intel.com>
879 * config/i386/i386.md (UNSPEC_LDQQU): Renamed to ...
880 (UNSPEC_LDDQU): This.
881 * config/i386/sse.md (sse3_lddqu): Updated.
883 2006-10-21 Richard Guenther <rguenther@suse.de>
885 * builtins.c (expand_builtin_int_roundingfn_2): New function.
886 (expand_builtin): Use it to expand lrint instead of
887 expand_builtin_mathfn.
889 2006-10-21 Uros Bizjak <uros@kss-loka.si>
892 * builtins.c (fold_builtin): Fold pow(x,1.0/3.0) as cbrt(x) if
893 flag_unsafe_math_optimizations is set.
895 2006-10-21 Uros Bizjak <uros@kss-loka.si>
898 * config/i386/i386.md (fix_trunc?f?i_sse): Add peephole2
899 patterns to use memory input operand in x87->mem->XMM
900 reload sequences. Skip transformation for TARGET_K8.
902 2006-10-21 Uros Bizjak <uros@kss-loka.si>
904 * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Do not
905 force operand1 to register if both operands are memory operands.
906 (*extendsfdf2_mixed, *extendsfdf2_sse, *extendsfdf2_i387)
907 (*extendsfxf2_i387, *extenddfxf2_i387): Do not disable pattern
908 if both operands are memory operands.
909 (truncdfsf2): Do not force operand1 to register if both operands
912 2006-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
914 * Makefile.in (LIBS): Add $(GMPLIBS).
915 * doc/install.texi: Update GMP and MPFR requirements.
916 * doc/sourcebuild.texi (need_gmp): Delete.
918 2006-10-21 Richard Guenther <rguenther@suse.de>
920 PR tree-optimization/3511
921 * tree-ssa-pre.c (phi_translate): Fold CALL_EXPRs that
922 got new invariant arguments during PHI translation.
924 2006-10-21 Richard Guenther <rguenther@suse.de>
927 * fold-const.c (fold_comparison): Fold signed comparisons
928 of the form X +- C1 CMP Y +- C2.
930 2006-10-21 Richard Guenther <rguenther@suse.de>
933 * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
934 if flag_unsafe_math_optimizations is specified. We have
935 flag_finite_math_only for that.
936 * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
937 or flag_unsafe_math_optimizations.
939 2006-10-21 Richard Guenther <rguenther@suse.de>
941 * builtins.c (fold_builtin_classify): Fix typo.
943 2006-10-21 Richard Guenther <rguenther@suse.de>
946 * simplify-rtx.c (simplify_const_relational_operation):
947 Do not constant-fold ORDERED and UNORDERED for
948 flag_unsafe_math_optimizations but only we do not need to
949 honor NaNs for the given mode.
951 2006-10-21 Richard Guenther <rguenther@suse.de>
954 * config/i386/i386.c (classify_argument): Remove redundant
955 walking of the BINFOs.
956 (contains_128bit_aligned_vector_p): Likewise.
958 2006-10-20 Mark Mitchell <mark@codesourcery.com>
960 * BASE-VER: Set to 4.3.0.
962 2006-10-20 Daniel Berlin <dberlin@dberlin.org>
964 * tree.h (DECL_PTA_ARTIFICIAL): Remove.
965 (tree_decl_with_vis): Remove artificial_pta_var flag.
966 * tree-flow.h (referenced_var_check_and_insert): Expose.
967 (nonlocal_all): New prototype.
968 * tree-ssa-structalias.c (nonlocal_for_type): Remove.
969 (nonlocal_all): Make global.
970 (nonlocal_lookup): Remove.
971 (nonlocal_insert): Ditto.
972 (create_nonlocal_var): Do not call nonlocal_insert.
973 (get_nonlocal_id_for_type): Remove.
974 (find_global_initializers): Mark new vars we find for renaming.
975 (intra_create_variable_infos): Only create one nonlocal.
976 (expand_nonlocal_solutions): Remove.
977 (compute_points_to_sets): Don't call it.
978 (ipa_pta_execute): Ditto.
979 (init_alias_heapvars): Don't create nonlocal_for_type.
980 (delete_alias_heapvars): Don't remove it.
981 * tree-ssa-operands.c (access_can_touch_variable): Don't prune
984 2006-10-19 Brooks Moses <bmoses@stanford.edu>
986 * doc/install.texi (Downloading GCC): Clarify mention of
987 Fortran in the "full distribution" description.
989 2006-10-19 Daniel Berlin <dberlin@dberlin.org>
991 Fix PR tree-optimization/28778
992 Fix PR tree-optimization/29156
993 Fix PR tree-optimization/29415
994 * tree.h (DECL_PTA_ARTIFICIAL): New macro.
995 (tree_decl_with_vis): Add artificial_pta_var flag.
996 * tree-ssa-alias.c (is_escape_site): Remove alias info argument,
998 * tree-ssa-structalias.c (nonlocal_for_type): New variable.
999 (nonlocal_all): Ditto.
1000 (struct variable_info): Add directly_dereferenced member.
1001 (var_escaped_vars): New variable.
1002 (escaped_vars_tree): Ditto.
1003 (escaped_vars_id): Ditto.
1004 (nonlocal_vars_id): Ditto.
1005 (new_var_info): Set directly_dereferenced.
1006 (graph_size): New variable
1007 (build_constraint_graph): Use graph_size.
1008 (solve_graph): Don't process constraints that cannot change the
1009 solution, don't try to propagate an empty solution to our
1011 (process_constraint): Set directly_dereferenced.
1012 (could_have_pointers): New function.
1013 (get_constraint_for_component_ref): Don't process STRING_CST.
1014 (nonlocal_lookup): New function.
1015 (nonlocal_insert): Ditto.
1016 (create_nonlocal_var): Ditto.
1017 (get_nonlocal_id_for_type): Ditto.
1018 (get_constraint_for): Allow results vector to be empty in the case
1019 of string constants.
1020 Handle results of calls properly.
1021 (update_alias_info): Update alias info stats on number and type of
1023 (find_func_aliases): Use could_have_pointers.
1024 (make_constraint_from_escaped): Renamed from
1025 make_constraint_to_anything, and changed to make constraints from
1027 (make_constraint_to_escaped): New function.
1028 (find_global_initializers): Ditto.
1029 (create_variable_info_for): Make constraint from escaped to any
1030 global variable, and from any global variable to the set of
1032 (intra_create_variable_infos): Deal with escaped instead of
1033 pointing to anything.
1034 (set_uids_in_ptset): Do type pruning on directly dereferenced
1036 (find_what_p_points_to): Adjust call to set_uids_with_ptset.
1037 (init_base_vars): Fix comment, and initialize escaped_vars.
1038 (need_to_solve): Removed.
1039 (find_escape_constraints): New function.
1040 (expand_nonlocal_solutions): Ditto.
1041 (compute_points_to_sets): Call find_escape_constraints and
1042 expand_nonlocal_solutions.
1043 (delete_points_to_sets): Don't fall off the end of the graph.
1044 (init_alias_heapvars): Initialize nonlocal_for_type and
1046 (delete_alias_heapvars): Free nonlocal_for_type and null out
1049 2006-10-19 Eric Botcazou <ebotcazou@adacore.com>
1051 * fold-const.c (add_double): Rename to add_double_with_sign.
1052 Add 'unsigned_p' parameter and take it into account for the overflow.
1053 (mul_double): Rename to mul_double_with_sign.
1054 Add 'unsigned_p' parameter and take it into account for the overflow.
1055 (fold_div_compare): Call add_double_with_sign instead of add_double
1056 and mul_double_with_sign instead of mul_double, passing them the
1057 unsignedness of the type.
1058 * tree.h (add_double): Macroize.
1059 (add_double_with_sign): New prototype.
1060 (mul_double): Macroize.
1061 (mul_double_with_sign): New prototype.
1063 2006-10-19 Chen Liqin <liqin@sunnorth.com.cn>
1065 * config/score/crti.asm: New file.
1066 * config/score/crtn.asm: New file.
1067 * config/score/elf.h: New file.
1068 * config/score/mac.md: New file.
1069 * config/score/misc.md: New file.
1070 * config/score/mul-div.S: New file.
1071 * config/score/predicates.md: New file.
1072 * config/score/score7.md: New file.
1073 * config/score/score.c: New file.
1074 * config/score/score-conv.h: New file.
1075 * config/score/score.h: New file.
1076 * config/score/score.md: New file.
1077 * config/score/score-mdaux.c: New file.
1078 * config/score/score-mdaux.h: New file.
1079 * config/score/score-modes.def: New file.
1080 * config/score/score.opt: New file.
1081 * config/score/score-protos.h: New file.
1082 * config/score/score-version.h: New file.
1083 * config/score/t-score-elf: New file.
1084 * config.gcc: Add score*-*-* configurations(Update before).
1085 * doc/invoke.texi (Score Options): New section.
1086 * doc/md.texi (Score family): New section to document constraints.
1088 2006-10-19 Nick Clifton <nickc@redhat.com>
1090 * config/arm/arm.c: Fix spelling typo.
1092 2006-10-18 Tom Tromey <tromey@redhat.com>
1094 * doc/install.texi (Prerequisites): Mention automake 1.9.6.
1096 2006-10-18 Jan Hubicka <jh@suse.cz>
1099 * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
1102 2006-10-18 Marcin Dalecki <martin@dalecki.de>
1104 * omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of
1105 TSI_SAME_STMT, since that's the desired entity.
1107 2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com>
1109 * config/s390/contraints.md: New file.
1110 * config/s390/s390-protos.h (s390_mem_constraint,
1111 s390_O_constraint_str, s390_N_constraint_str,
1112 s390_float_const_zero_p): Function prototypes added.
1113 * config/s390/s390.c (s390_extra_constraint_str,
1114 s390_const_double_ok_for_constraint_p,
1115 s390_const_ok_for_constraint_p): Functions removed.
1116 (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
1117 s390_float_const_zero_p): New functions.
1118 * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
1119 CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
1120 EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
1121 Macro definitions removed.
1122 (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
1123 s390_extra_constraint_str): Functions removed.
1125 2006-10-17 Andrew Pinsiki <pinskia@gmail.com>
1126 Richard Sandiford <richard@codesourcery.com>
1129 * config/mips/linux.h (SUBTARGET_CC1_SPEC): Override.
1130 * config/mips/mips.h (CC1_SPEC): Override any earlier definition.
1132 2006-10-16 Geoffrey Keating <geoffk@apple.com>
1134 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h.
1135 (DWARF2_FRAME_REG_OUT): Likewise.
1136 * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h.
1137 (DWARF2_FRAME_REG_OUT): Likewise.
1139 2006-10-17 Paul Brook <paul@codesourcery.com>
1141 * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate.
1143 2006-10-16 Brooks Moses <bmoses@stanford.edu>
1145 * doc/contrib.texi, doc/install.texi, doc/standards.texi:
1146 Standardize on "GNU Fortran" as the official name of the Fortran
1149 2006-10-16 Mike Stump <mrs@apple.com>
1151 * doc/invoke.texi (Darwin Options): Document -mkernel.
1152 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
1154 (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support. Add
1155 SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout.
1156 (CC1_SPEC): Don't turn on -fPIC when -mkernel is given.
1157 (OS_MISSING_ALTIVEC): Add.
1158 * config/i386/i386.c (override_options): Add
1159 SUBSUBTARGET_OVERRIDE_OPTIONS callout.
1160 * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when
1161 -mkernel, -static or -mdynamic-no-pic is given.
1162 (C_COMMON_OVERRIDE_OPTIONS): Add.
1163 * config/darwin.opt (fapple-kext): Add.
1165 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add
1166 -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and
1168 (SUBSUBTARGET_OVERRIDE_OPTIONS): Add.
1169 (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add.
1170 (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here...
1171 (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility.
1172 (TARGET_CXX_CDTOR_RETURNS_THIS): Add.
1173 (flag_mkernel): Add.
1174 (flag_apple_kext): Add.
1175 (TARGET_KEXTABI): Add.
1176 * config/darwin.c (darwin_handle_kext_attribute): Add.
1177 (DARWIN_VTABLE_P): Add.
1178 (darwin_binds_local_p): Add partial support for rebinding vtables
1180 (darwin_kextabi_p): Add.
1181 (darwin_override_options): Add.
1182 * config/darwin-protos.h (darwin_handle_kext_attribute): Add.
1183 (darwin_kextabi_p): Add.
1184 (darwin_override_options): Add.
1185 * config/darwin-c.c (darwin_cpp_builtins): ... move defines for
1186 __DYNAMIC__ and __STATIC__ here.
1188 2006-10-16 Brooks Moses <bmoses@stanford.edu>
1190 * doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi:
1191 Added mention of "make pdf" target, and Texinfo requirements for
1194 2006-10-16 DJ Delorie <dj@redhat.com>
1196 * config/s390/s390.c (s390_decompose_address): Allow symbol+offset
1197 into the GOT in case we need a subreg of the address.
1199 2006-10-16 Richard Guenther <rguenther@suse.de>
1202 * doc/extend.texi (X86 Built-in Functions): Fix typos in
1203 SSE builtin documentation. Document SSE2 builtins.
1205 2006-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1207 * pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined
1208 symbol in the output file for non-shared links when -nostdlib or
1209 -nodefaultlibs isn't specified.
1211 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to
1212 posix thread support.
1214 2006-10-15 Jan Hubicka <jh@suse.cz>
1217 * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
1218 declared always_inline even when not inlining.
1220 2006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr>
1221 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1222 Andrew Pinski <pinskia@gmail.com>
1225 * builtins.c (get_pointer_alignment): Return 0 if TER is not run.
1227 2006-10-15 Jan Hubicka <jh@suse.cz>
1228 Richard Guenther <rguenther@suse.de>
1231 * cgraphunit.c (cgraph_finalize_compilation_unit): Call
1232 process_function_and_variable_attributes on all variables, including
1233 those discovered during cgraph construction phase.
1235 2006-10-15 Bernhard Fischer <aldot@gcc.gnu.org>
1237 * final.c: Update Copyright year. Commentary typo fix. Fix whitespace
1239 2006-10-14 Uros Bizjak <uros@kss-loka.si>
1241 * config/i386/athlon.md (athlon_fist): Add fisttp.
1243 2006-10-13 David Edelsohn <edelsohn@gnu.org>
1244 Ian Lance Taylor <ian@airs.com>
1247 * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
1248 CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
1251 2006-10-14 Kazu Hirata <kazu@codesourcery.com>
1253 * config/score/score.c, config/score/score.h: Fix comment
1256 2006-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1259 * Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of
1262 2006-10-13 Eric Christopher <echristo@apple.com>
1264 * config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1266 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
1269 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
1270 * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
1271 alignment supported by 32-bit ELF.
1273 2006-10-13 Eric Christopher <echristo@apple.com>
1275 * config/darwin.c (darwin_emit_unwind_label): Strip
1276 name encoding. Use DECL_ASSEMBLER_NAME_SET_P.
1278 2006-10-13 Richard Guenther <rguenther@suse.de>
1280 PR tree-optimization/29446
1281 * tree-vrp.c (fix_equivalence_set): Remove.
1282 (extract_range_from_assert): Do not call fix_equivalence_set.
1283 (debug_value_range): Print a newline.
1284 (compare_name_with_value): For equivalence sets with
1285 inconsistent value ranges conservatively bail out.
1286 (compare_names): Likewise.
1288 2006-10-13 David Edelsohn <edelsohn@gnu.org>
1290 * doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP
1291 and MPFR for gfortran.
1293 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
1295 * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
1296 alignment supported by 32-bit ELF.
1298 2006-10-13 Paolo Bonzini <bonzini@gnu.org>
1302 * c-typeck.c (digest_init): Always allow initializing vectors
1303 that have static storage duration with compound literals.
1304 * tree.c (build_type_attribute_qual_variant): New, based on
1305 build_type_attribute_variant.
1306 (build_type_attribute_variant): Rewrite using the former.
1307 (make_vector_type): Use build_type_attribute_qual_variant to build
1308 type variants. Use type_hash_canon on the others.
1310 2006-10-13 Daniel Berlin <dberlin@dberlin.org>
1311 Ramana Radhakrishnan <ramana.radhakrishnan@celunite.com>
1313 * tree-flow-inline.h (zero_ssa_operands): Fix comment.
1315 2006-10-12 Jan Hubicka <jh@suse.cz>
1318 * c-decl.c (c_make_fname_decl): Do not segfault in case where
1319 current_function_decl is set but current_function_scope is not.
1321 2006-10-12 Jie Zhang <jie.zhang@analog.com>
1323 * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of
1324 emit_insn to emit eh_return_internal instruction.
1325 (eh_return_internal): Explicitly set pc.
1327 2006-10-11 Richard Guenther <rguenther@suse.de>
1329 PR tree-optimization/28230
1330 * tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling
1331 to the correct place.
1333 2006-10-11 Richard Guenther <rguenther@suse.de>
1336 * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue
1339 2006-10-10 Brooks Moses <bmoses@stanford.edu>
1341 * configure.ac: Added pdf to "Make-hooks"
1342 * Makefile.in: Added TEXI2PDF definition, and various pdf-file
1343 targets and *.pdf file patterns in cleanup targets.
1344 * configure: Regenerated.
1346 2006-10-10 Anatoly Sokolov <aesok@post.ru>
1348 * config/avr/predicates.md: New file.
1349 * config/avr/avr.md: Include it.
1350 (REG_SP): New constant.
1351 (peepholes): Use predicates.
1352 (sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch,
1353 difficult_branch, difficult_rvbranch, cbi, sbi, sbix_branch,
1354 sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto.
1356 2006-10-10 Adam Nemet <anemet@caviumnetworks.com>
1358 * config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to
1361 2006-10-10 Jakub Jelinek <jakub@redhat.com>
1364 * builtins.c (var_decl_component_p): New function.
1365 (fold_builtin_memset, fold_builtin_memory_op): Restrict
1366 single entry optimization to variables and components thereof.
1368 2006-10-10 Richard Guenther <rguenther@suse.de>
1370 PR rtl-optimization/29323
1371 * except.c (set_nothrow_function_flags): For functions
1372 that do not bind local bail out early.
1374 2006-10-10 Ben Elliston <bje@au.ibm.com>
1376 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the
1379 2006-10-09 Richard Henderson <rth@redhat.com>
1381 Revert emutls patch.
1383 2006-10-09 Richard Guenther <rguenther@suse.de>
1386 * cgraphunit.c (verify_cgraph_node): Bail out on earlier
1389 2006-10-09 Steve Ellcey <sje@cup.hp.com>
1392 * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
1393 * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo.
1394 * configure: Regenerate.
1395 * config.in: Regenerate.
1397 2006-10-09 Aldy Hernandez <aldyh@redhat.com>
1399 * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
1401 2006-10-08 Richard Sandiford <richard@codesourcery.com>
1403 * config/mips/mips.c (mips_legitimize_tls_address): Implement
1404 all TLS models in the same way as local exec if !TARGET_ABICALLS.
1405 Remove stray newline.
1407 2006-10-08 Richard Sandiford <richard@codesourcery.com>
1409 * config/mips/mips.c (mips_classify_symbol): Do not return
1410 SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK.
1411 (mips_in_small_data_p): Tweak comments.
1413 2006-10-08 Richard Sandiford <richard@codesourcery.com>
1415 * config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define.
1417 2006-10-07 Kazu Hirata <kazu@codesourcery.com>
1419 * gimplify.c, sched-int.h: Fix comment typos.
1421 * sched-int.h: Fix comment typos.
1423 2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
1425 * sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P):
1427 * sched-ebb.c (begin_schedule_ready): Use them.
1428 * haifa-sched.c (schedule_insn, move_insn, try_ready,
1429 add_to_speculative_block, create_check_block_twin, speculate_insn,
1430 fix_jump_move, move_block_after_check): Ditto.
1431 * sched-rgn.c (new_ready): Ditto.
1433 2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
1435 PR rtl-optimization/29128
1436 * sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro.
1437 * sched-ebb.c (advance_target_bb): Use it to fix condition to
1438 allow interblock movement of speculation checks.
1440 2006-10-06 Zdenek Dvorak <dvorakz@suse.cz>
1443 * tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers
1444 casted to integer type.
1445 (get_address_cost): Decrease cost of [symbol + index] addressing modes
1446 if they are significantly more expensive than [reg + index] ones.
1448 2006-10-06 Jakub Jelinek <jakub@redhat.com>
1450 PR tree-optimization/29330
1451 * tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro.
1452 (initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer
1453 on newly allocated ddrs.
1454 (find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer
1455 to VEC (loop_p, heap) pointer.
1456 (compute_data_dependences_for_loop): Adjust caller.
1457 (free_dependence_relations): Free DDR_LOOP_NEST.
1459 * tree-loop-linear.c (linear_transform_loops): Don't forget to
1460 free DEPENDENCE_RELATIONS and DATAREFS.
1463 * builtins.c (expand_builtin_sync_operation,
1464 expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set):
1465 Use convert_to_mode to handle promoted arguments.
1467 2006-10-06 J"orn Rennecke <joern.rennecke@st.com>
1469 * print-tree.c (print_node_brief, print_node): Print sign of Inf.
1471 2006-10-06 J"orn Rennecke <joern.rennecke@st.com>
1473 * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define.
1475 2006-10-05 Uros Bizjak <uros@kss-loka.si>
1477 * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>",
1478 "sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"):
1479 Use <modeconstraint> instead of "r" as operand 1 constraint.
1481 2006-10-06 Olivier Hainque <hainque@adacore.com>
1483 * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]:
1484 Don't recurse on the pointed-to type.
1485 * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or
1486 DECL context, attach an artificial TYPE_DECL to anonymous pointed-to
1487 types with components of variable size.
1489 2006-10-06 Danny Smith <dannysmith@users.sourceforge.net>
1491 * config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
1493 2006-10-06 Jakub Jelinek <jakub@redhat.com>
1495 PR tree-optimization/29290
1496 * tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has
1500 * config/i386/i386.c (legitimize_pic_address): Reject TLS symbols.
1501 * config/i386/predicates.md (local_symbolic_operand): Likewise.
1504 * varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than
1505 the number of vector elements fill the rest with zeros.
1507 2006-10-05 Richard Sandiford <richard@codesourcery.com>
1509 * config/mips/mips.c (mips_pass_by_reference): Do not return false
1510 for EABI if type is NULL. Use a size check based on GET_MODE_SIZE
1513 2006-10-05 Bernd Schmidt <bernd.schmidt@analog.com>
1515 * config/bfin/bfin.md (subsi3): Lose expander, change previously
1516 unnamed pattern into subsi3. Use correct constraints/predicates.
1517 * config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7".
1518 * config/bfin/predicates.md (reg_or_neg7bit_operand_p): New.
1520 2006-10-05 Ira Rosen <irar@il.ibm.com>
1522 * doc/loop.texi: Add data references analysis description.
1524 2006-10-04 Brooks Moses <bmoses@stanford.edu>
1526 * doc/gcov.texi: Add formatting to "Invoking gcov" section head.
1528 2006-10-04 Richard Henderson <rth@redhat.com>
1529 Jakub Jelinek <jakub@redhat.com>
1531 * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
1532 * builtin-types.def (BT_WORD): Make unsigned.
1533 (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
1534 * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
1535 (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
1536 * c-decl.c (grokdeclarator): Don't error if !have_tls.
1537 * c-parser.c (c_parser_omp_threadprivate): Likewise.
1538 * cgraph.c (decide_is_variable_needed): Look at force_output.
1539 Recurse for emulated tls.
1540 * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
1541 checks redundant with decide_is_variable_needed.
1542 (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
1543 * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
1545 * expr.c (emutls_var_address): New.
1546 (expand_expr_real_1): Expand emulated tls.
1547 (expand_expr_addr_expr_1): Likewise.
1548 * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
1549 * output.h (emutls_finish): Declare.
1550 * toplev.c (compile_file): Call it.
1551 * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
1552 address before wrapping in CONST.
1553 * varasm.c (emutls_htab, emutls_object_type): New.
1554 (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
1555 (get_emutls_object_name, get_emutls_object_type): New.
1556 (get_emutls_init_templ_addr, emutls_decl): New.
1557 (emutls_common_1, emutls_finish): New.
1558 (assemble_variable): When emulating tls, swap decls; generate
1559 constructor for the emutls objects.
1560 (do_assemble_alias): When emulating tls, swap decl and target name.
1561 (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
1563 * emutls.c: New file.
1564 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
1565 tls_object for real tls.
1567 2006-10-04 Zack Weinberg <zackw@panix.com>
1569 Fix bug in constraint-check generator, reported by Rask Ingemann
1571 * genpreds.c (add_constraint): Don't remove anything from the
1573 (write_tm_constrs_h): Detect whether "op" argument is used, and
1574 mark it ARG_UNUSED if it isn't.
1575 (write_insn_const_int_ok_for_constraint): Skip the part of the
1576 expression that would test whether "op" (which is not available
1577 here) is a CONST_INT.
1579 2006-10-04 Ryan Mansfield <rmansfield@qnx.com>
1582 * doc/invoke.texi (fdiagnostics-show-option): Fix typos.
1584 2006-10-03 Geoffrey Keating <geoffk@apple.com>
1586 * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
1587 current Leopard versions.
1588 * config/rs6000/darwin-libgcc.10.5.ver: Likewise.
1590 2006-10-03 Kazu Hirata <kazu@codesourcery.com>
1592 * doc/install.texi: Fix typos.
1594 2006-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
1596 * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
1597 * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX.
1598 * config/sparc/sparc.h (FRAME_ADDR_RTX): Define.
1600 2006-10-02 Jack Howarth <howarth@bromo.med.uc.edu>
1602 * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first
1603 arg to be struct mach_header_64* instead.
1605 2006-10-02 Jakub Jelinek <jakub@redhat.com>
1608 * gimplify.c (gimplify_self_mod_expr): Run inner expression's post
1609 side effects after the outer expression's post side effects.
1611 2006-10-01 Sandra Loosemore <sandra@codesourcery.com>
1613 * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix
1614 comments to reflect actual behavior and relationship between
1615 DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
1617 * doc/c-tree.texi (Working with declarations): Fix documentation
1618 of FIELD_DECL likewise.
1620 2006-10-01 Ryan Mansfield <rmansfield@qnx.com>
1623 * doc/extend.texi: Add used variable attribute description.
1625 2006-09-30 Joseph S. Myers <joseph@codesourcery.com>
1628 * c.opt (Woverride-init): New.
1629 * c-opts.c (c_common_post_options): Default warn_override_init to
1631 * c-typeck.c (add_pending_init, output_init_element): Warn for
1632 overriding initializers without side effects.
1633 * doc/invoke.texi (-Woverride-init): Document.
1636 2006-09-30 Eric Botcazou <ebotcazou@libertysurf.fr>
1638 PR rtl-optimization/28096
1639 * ifcvt.c (check_cond_move_block): Return FALSE if the source of an
1640 assignment has already been used as a destination earlier in the block.
1642 2006-09-29 Eric Botcazou <ebotcazou@adacore.com>
1644 * builtins.c (expand_builtin_setjmp): Delete.
1645 (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
1646 <BUILT_IN_SETJMP_SETUP>: New case.
1647 <BUILT_IN_SETJMP_DISPATCHER>: Likewise.
1648 <BUILT_IN_SETJMP_RECEIVER>: Likewise.
1649 * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
1650 (BUILT_IN_SETJMP_DISPATCHER): Likewise.
1651 (BUILT_IN_SETJMP_RECEIVER): Likewise.
1652 * gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
1653 (lower_function_body): Initialize it to false. If it is set to true
1654 at the end of the processing, emit the setjmp dispatcher.
1655 (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
1656 is __builtin_setjmp and set calls_builtin_setjmp to true as well.
1657 <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
1658 on the rhs of the assignment.
1659 (lower_builtin_setjmp): New function.
1660 * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
1661 BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
1662 * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
1663 to detect calls that can go to non-local labels. Use specific
1664 helper to create the abnormal edges associated with them.
1665 <MODIFY_EXPR>: Likewise.
1666 (make_abnormal_goto_edges): New function extracted from...
1667 (make_goto_expr_edges): ...here. Call it for computed gotos.
1668 (simple_goto_p): Minor tweak.
1669 (tree_can_make_abnormal_goto): New predicate.
1670 (tree_redirect_edge_and_branch): Return zero on all abnormal edges.
1671 (tree_purge_dead_abnormal_call_edges): New function.
1672 * tree-flow.h (tree_can_make_abnormal_goto): Declare.
1673 (tree_purge_dead_abnormal_call_edges): Likewise.
1674 (make_abnormal_goto_edges): Likewise.
1675 * tree-inline.c (expand_call_inline): Simplify statement frobbing.
1676 Purge all dead abnormal edges if the call was in the last statement.
1677 * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
1678 (execute_fixup_cfg): If there are non-local labels in the function,
1679 scan the basic blocks and split them at calls that can go to non-local
1680 labels or add missing abnormal call edges. Write down the CFG in the
1682 (pass_fixup_cfg): Remove TODO_dump_func flag.
1683 * unwind-sjlj.c: Poison setjmp.
1684 * doc/install.texi (enable-sjlj-exceptions): Use more general wording.
1685 * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
1686 (TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
1687 (DONT_USE_BUILTIN_SETJMP): Document it.
1689 2006-09-28 Geoffrey Keating <geoffk@apple.com>
1692 * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
1693 to 1 when __ppc64__ is defined.
1694 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
1696 * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
1698 2006-09-28 Steve Ellcey <sje@cup.hp.com>
1700 * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
1701 * config/ia64/unwind-hpux.c: Delete.
1703 2006-09-28 Eric Botcazou <ebotcazou@adacore.com>
1705 * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
1706 on the element before gimplifying it, instead of punting if it is of
1709 2006-09-28 Zdenek Dvorak <dvorakz@suse.cz>
1711 * doc/loop.texi: New file.
1712 * doc/gccint.texi: Reference loop.texi.
1713 * Makefile.in (loop.texi): Add.
1715 2006-09-27 Geoffrey Keating <geoffk@apple.com>
1717 * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
1719 * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
1720 * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
1722 2006-09-28 Kaz Kojima <kkojima@gcc.gnu.org>
1724 * config/sh/sh.md (divsi_inv_m0): Remove unused variable.
1726 2006-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
1728 * doc/install.texi: Document required versions of GMP and MPFR.
1730 2006-09-27 Paul Brook <paul@codesourcery.com>
1733 * config/arm/arm.md (arith_adjacentmem): Handle large offsets.
1735 2006-09-27 Richard Sandiford <richard@codesourcery.com>
1737 * reload1.c (alter_reg): Require the alignment of the stack slot to
1738 be at least reg_max_ref_width bytes.
1739 (scan_paradoxical_subregs): Record the largest width in
1742 2006-09-26 Jakub Jelinek <jakub@redhat.com>
1746 * tree-nested.c (struct nesting_info): Added static_chain_added.
1747 (convert_call_expr): Set static_chain_added when adding static
1748 chain. Handle OMP_PARALLEL and OMP_SECTION.
1750 2006-09-25 Matthias Klose <doko@debian.org>
1752 * doc/invoke.texi: Add missing full stop.
1754 2006-09-25 Richard Henderson <rth@redhat.com>
1756 * cgraph.c (dump_cgraph_varpool_node): Don't crash if called
1757 before cgraph_function_flags_ready.
1759 2006-09-24 Zdenek Dvorak <dvorakz@suse.cz>
1760 Adam Nemet <anemet@caviumnetworks.com>
1762 * tree-ssa-loop-ivopts.c (aff_combination_convert,
1763 determine_common_wider_type): New functions.
1764 (get_computation_aff): Use them to simplify arithmetic between
1765 UBASE and CBASE if they are shortened from the same type.
1767 2006-09-24 Kazu Hirata <kazu@codesourcery.com>
1770 * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
1771 -2147483647 - 1 instead of 0x80000000.
1773 2006-09-23 Revital1 Eres <ERES@il.ibm.com>
1775 * flags.h (HONOR_NANS): Fix typo in comment.
1777 2006-09-23 Uros Bizjak <uros@kss-loka.si>
1779 * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
1781 2006-09-23 Jakub Jelinek <jakub@redhat.com>
1785 * tree.c (merge_attributes, attribute_list_contained): If both
1786 TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
1788 * c-typeck.c (comptypes_internal): Don't consider aggregates
1789 in different TUs as compatible if there one set of attributes is
1790 not a subset of the other type's attributes.
1791 (composite_type): Try harder not to create a new aggregate type.
1793 2006-09-22 Geoffrey Keating <geoffk@apple.com>
1795 * config/i386/driver-i386.c: Always define host_detect_local_cpu.
1796 * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
1797 or x86_64 host. Define HAVE_LOCAL_CPU_DETECT.
1798 (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
1799 than replicating condition above.
1800 * config.host (i[34567]86-*-*): Always use driver-i386.o.
1802 * config/darwin.h (LINK_SYSROOT_SPEC): New.
1803 (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
1804 the linker by default.
1806 2006-09-22 Mike Stump <mrs@apple.com>
1808 * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
1811 2006-09-22 Richard Guenther <rguenther@suse.de>
1814 * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
1815 sort of stack variables stable.
1817 2006-09-22 Peter Bergner <bergner@vnet.ibm.com>
1820 * explow.c (force_reg): Set REG_POINTER flag according to
1823 2006-09-22 Zdenek Dvorak <dvorakz@suse.cz>
1825 PR tree-optimization/28888
1826 * tree-if-conv.c (combine_blocks): Rewritten.
1827 * tree-cfg.c (tree_verify_flow_info): Check that edges with
1828 EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
1830 2006-09-22 Jakub Jelinek <jakub@redhat.com>
1832 * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
1835 2006-09-21 Richard Sandiford <richard@codesourcery.com>
1837 * varasm.c (copy_constant): Fix reversed gcc_assert check.
1839 2006-09-21 Janis Johnson <janis187@us.ibm.com>
1841 * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
1843 2006-09-21 Roger Sayle <roger@eyesopen.com>
1846 * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
1847 dw_fde_current_label, to be the start of the function, i.e. the same
1848 value as dw_fde_begin.
1850 2006-09-20 Richard Sandiford <richard@codesourcery.com>
1852 * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
1853 * config/mips/mips.md (UNSPEC_ABS_PS): New constant.
1854 (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
1855 (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
1856 (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
1857 (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
1858 (abs<mode>2, neg<mode>2): Likewise.
1859 * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
1860 (*mips_abs_ps): New define_insn.
1862 2006-09-20 Josh Conner <jconner@apple.com>
1865 * calls.c (expand_call): Allow reuse of structure return stack
1868 2006-09-20 Paul Brook <paul@codesourcery.com>
1870 * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
1873 2006-09-20 Janis Johnson <janis187@us.ibm.com>
1875 * doc/extend.texi (Decimal Float): Update for latest draft TR,
1876 clean up terminology.
1878 2006-09-20 Steve Ellcey <sje@cup.hp.com>
1881 * ifcvt.c (dead_or_predicable): Don't predicate then blocks
1882 with tablejumps in them.
1884 2006-09-20 Jakub Jelinek <jakub@redhat.com>
1887 * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
1888 wrap it into TARGET_EXPR.
1890 2006-09-20 Eric Christopher <echristo@apple.com>
1892 * config/i386/i386.c (x86_fisttp): Remove.
1893 * config/i386/i386.h (x86_fisttp): Ditto.
1894 (TARGET_FISTTP): Ditto.
1896 2006-09-19 Eric Christopher <echristo@apple.com>
1898 * doc/tm.texi (OBJC_JBLEN): Describe.
1899 * config/i386/darwin.h (OBJC_JBLEN): Define.
1900 * config/rs6000/darwin.h: Ditto.
1902 2006-09-19 Steven Bosscher <steven@gcc.gnu.org>
1904 PR rtl-optimization/21299
1905 * reload1.c (reload): Purge invalid ASMs in the final pass.
1907 2006-09-19 Steve Ellcey <sje@cup.hp.com>
1910 * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
1911 pointers as legitimate constants.
1913 2006-09-19 Paul Brook <paul@codesourcery.com>
1916 * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
1918 2006-09-17 Zdenek Dvorak <dvorakz@suse.cz>
1920 PR tree-optimization/28887
1921 * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
1922 component parts from the reference.
1923 (gather_memory_references_ref): Record the reference without the
1924 nonaddressable component parts.
1926 2006-09-17 Steven Bosscher <steven@gcc.gnu.org>
1929 * c-opts.c (c_common_handle_option): Ignore the -std options
1930 if the input language is assembly.
1932 2006-09-17 Ira Rosen <irar@il.ibm.com>
1935 * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
1937 (ptr_ptr_may_alias_p): Likewise.
1938 (record_record_differ_p): New function.
1939 (base_object_differ_p): Call record_record_differ_p.
1941 2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
1944 * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
1945 away for the expr argument.
1947 2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
1950 * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
1951 before using it for dumping after vectorizing loops.
1953 2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
1954 Jack Howarth <howarth@bromo.med.uc.edu>
1957 * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
1958 skip on error_mark_node.
1959 (rs6000_darwin64_record_arg_recurse): Likewise.
1961 2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
1963 * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
1964 * doc/rtl.texi: Remove related documentation.
1966 2006-09-16 Bernd Schmidt <bernd.schmidt@analog.com>
1968 * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
1971 2006-09-15 Jim Wilson <wilson@specifix.com>
1973 * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
1974 Handle symbol offsets same as they are handled in ia64_expand_move
1977 2006-09-16 Andreas Tobler <a.tobler@schweiz.org>
1979 * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
1980 Add forgotten parameter to the fprintf call.
1982 2006-09-15 Steve Ellcey <sje@cup.hp.com>
1984 * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
1986 2006-09-15 Uros Bizjak <uros@kss-loka.si>
1988 * doc/contrib.texi: Add my entry.
1990 2006-09-15 Nick Clifton <nickc@redhat.com>
1992 * doc/md.texi (Processor pipeline description): Fix typo in
1993 example of how to use the absence_set directive and reword the
1994 description to make it slightly easier to read.
1996 2006-09-15 Bernd Schmidt <bernd.schmidt@analog.com>
1998 * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
1999 * loop-doloop.c (doloop_optimize): Use it to limit costs of
2000 expanding the number of iterations.
2001 * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
2003 * cfgrtl.c (emit_insn_at_entry): New function.
2004 * rtl.h (emit_insn_at_entry): Declare it.
2005 * integrate.c (emit_initial_value_sets): Use it.
2007 * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
2009 * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
2011 (struct loop_work and related VEC declarations): Delete.
2012 (bfin_dump_loops): Print out new member bad.
2013 (bfin_bb_in_loop): Use plain bitmap test. Don't recurse.
2014 (bfin_scan_loop): Don't recurse.
2015 (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
2016 loops. No longer need to update outer loops if the current one is
2017 found bad. Move some validitiy checks to bfin_discover_loop.
2018 (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
2019 but changed not to check for nesting. Also changed to use the new bad
2021 (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
2022 time. Use bitmap based test to discover loop nesting.
2024 2006-09-15 Kazu Hirata <kazu@codesourcery.com>
2026 * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
2029 2006-09-14 Richard Guenther <rguenther@suse.de>
2030 Kazu Hirata <kazu@codesourcery.com>
2032 PR middle-end/28884.
2033 * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
2034 (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
2035 Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
2036 with TARGET_FUNCTION_VALUE.
2038 2006-09-14 Anatoly Sokolov <aesok@post.ru>
2041 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
2043 2006-09-13 Aldy Hernandez <aldyh@redhat.com>
2045 * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
2048 2006-09-13 Andrew Pinski <pinskia@physics.uc.edu>
2051 * dwarf2out.c (loc_descriptor_from_tree_1): Handle
2054 2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
2056 * basic_block.h (bb_has_eh_pred): Fix comment.
2058 2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
2060 * flow.c (calculate_global_regs_live): Invalidate eh registers
2061 on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
2062 (propagate_block): Handle eh registers as if they were set at basic
2064 * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
2066 * global.c (global_conflicts): Make eh registers to conflict with
2067 pseudos live at basic block begin.
2068 * basic_block.h (bb_has_eh_pred): New function.
2070 2006-09-13 Richard Sandiford <richard@codesourcery.com>
2072 PR rtl-optimization/28982
2073 * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
2074 index of a PRE_MODIFY or POST_MODIFY address.
2075 * reload1.c (inc_for_reload): Use find_replacement on the original
2076 base and index registers.
2078 2006-09-12 H.J. Lu <hongjiu.lu@intel.com>
2080 * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
2081 for -Os. Update __m128 alignment requirement.
2083 2006-09-13 Jan Hubicka <jh@suse.cz>
2085 * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
2087 2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
2089 PR rtl-optimization/28243
2090 * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
2091 the insn to which the note was originally attached.
2093 2006-09-12 Andrew Pinski <pinskia@physics.uc.edu>
2094 Roger Sayle <roger@eyesopen.com>
2096 * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
2097 outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
2098 on platforms that don't use dwarf for debug info.
2100 2006-09-12 Jason Merrill <jason@redhat.com>
2103 * builtins.c (expand_builtin_setjmp_receiver): Clobber
2104 hard_frame_pointer_rtx after using it to update the frame pointer.
2106 2006-09-12 Roger Sayle <roger@eyesopen.com>
2108 * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
2109 (TARGET_ASM_CLOSE_PAREN): Likewise.
2110 * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
2111 (TARGET_ASM_CLOSE_PAREN): Likewise.
2113 2006-09-12 Roger Sayle <roger@eyesopen.com>
2116 * config/alpha/alpha.c (alpha_start_function): Don't emit stack
2117 frame information for frames larger than 512 Kbytes on Tru64 when
2118 using the native assembler.
2120 2006-09-12 Roger Sayle <roger@eyesopen.com>
2124 * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
2125 and symbols. Instead use the implementation from cse.c's hash_rtx.
2127 2006-09-12 Jan Hubicka <jh@suse.cz>
2129 PR rtl-optimization/28071
2130 * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
2131 (vect_transform_loop): Likewise.
2132 * tree-vectorizer.c (new_loop_vec_info): Likewise.
2133 (new_loop_vec_info): Likewise.
2134 (destroy_loop_vec_info): Likewise.
2135 * tree-dfa.c (create_var_ann): Use GCC_CNEW.
2136 (create_stmt_ann): Likewise.
2137 (create_tree_ann): Rename to ...
2138 (create_tree_common_ann): ... this one; allocate only the common part
2140 * tree-vn.c (set_value_handle): Use get_tree_common_ann.
2141 (get_value_handle): Likewise.
2142 * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
2143 get_tree_common_ann.
2144 * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
2145 (vinfo_for_stmt): Use stmt annotations.
2146 * tree-flow.h (tree_ann_common_t): New type.
2147 (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
2148 (tree_ann, get_tree_ann, create_tree_ann): New.
2149 * tree-flow-inline.h (get_function_ann): Do more type checking.
2150 (stmt_ann): Likewise.
2151 (tree_ann): Rename to ...
2152 (tree_common_ann): ... this one; return ony common_ann
2153 (get_tree_ann): Rename to ...
2154 (tree_common_ann): This one; return only common_ann.
2155 * tree-vect-patterns.c (vect_pattern_recog_1): Update call
2158 2006-09-11 Geoffrey Keating <geoffk@apple.com>
2160 * config.gcc (i[34567]86-*-darwin*): Set with_arch and
2161 with_cpu by default.
2163 * dwarf2out.c (dwarf_file_data): New.
2164 (enum dw_val_class): Add dw_val_class_file.
2165 (struct dw_val_struct): Add val_file.
2166 (file_table): Change to a hash table.
2167 (file_table_emitted): Delete.
2168 (file_table_last_lookup_index): Delete.
2169 (emitcount): Delete.
2170 (last_emitted_file): New.
2171 (lookup_filename): Change prototype to return a struct dwarf_file_data.
2172 (init_file_table): Delete.
2173 (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
2174 (AT_addr): Add comment.
2178 (print_die): Handle dw_val_class_file.
2179 (print_dwarf_line_table): Update for new file table structure.
2180 (attr_checksum): Do checksum a filename.
2181 (same_dw_val_p, same_attr_p): Do compare a filename.
2182 (size_of_die): Handle dw_val_class_file.
2183 (value_format): Likewise.
2184 (output_die): Likewise. Also, call maybe_emit_file here.
2185 (struct file_info): Constify filenames. Make file_idx a pointer
2186 to a struct dwarf_file_data.
2187 (struct dir_info): Constify directory names. Remove 'used' field.
2188 (struct file_name_acquire_data): New.
2189 (file_name_acquire): New.
2190 (output_file_names): Modify to handle new file data structures.
2191 (add_src_coords_attributes): Use add_AT_file.
2192 (add_call_src_coords_attributes): Likewise.
2193 (dwarf2out_imported_module_or_decl): Likewise.
2194 (gen_subprogram_die): Modify for new file data structures.
2195 (gen_variable_die): Likewise.
2196 (file_table_eq): New.
2197 (file_table_hash): New.
2198 (file_table_last_lookup): New.
2199 (lookup_filename): Rewrite to handle new file data structures.
2200 (maybe_emit_file): Rewrite to handle new file data structures.
2201 (dwarf2out_source_line): Always call lookup_filename and
2203 (dwarf2out_init): Create file_table here.
2204 (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
2205 (file_table_relative_p): New.
2206 (dwarf2out_finish): Change detection of relative filenames
2207 to work with new file data structures. Move output_line_info call
2208 after debug_info output.
2210 2006-09-11 H.J. Lu <hongjiu.lu@intel.com>
2215 * config/i386/i386.c (override_options): Always default to 16
2216 byte stack boundary.
2218 2006-09-11 Alexandre Oliva <aoliva@redhat.com>
2221 * var-tracking.c (dump_dataflow_set): Start dumping at
2223 (clobber_variable_part): Kill only the variable part in
2224 registers holding it, leaving other variables alone.
2226 2006-09-11 Josh Triplett <josh@freedesktop.org>
2228 * doc/extend.texi (Other Builtins): Actually use the macro
2229 argument in the documentation example for
2230 __builtin_types_compatible_p.
2232 2006-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
2234 PR rtl-optimization/28726
2235 * sched-deps.c (sched_analyze_reg): New function extracted from...
2236 (sched_analyze_1): ...here. Call it to analyze references to
2237 registers. Treat again writes to a stack register as writing to the
2239 (sched_analyze_2): ...and here. Call it to analyze references to
2240 registers. Treat again reads of a stack register as reading the
2243 2006-09-11 Guenter Roeck <guenter@roeck-us.net>
2244 David Edelsohn <edelsohn@gnu.org>
2247 * config/rs6000/spe.md (frob_df_di): Remove %H.
2248 (frob_di_df): Remove %H. Change evmergelo to mr.
2249 (frob_di_df_2): Remove %H. Change evldd to two loads.
2251 2006-09-11 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp>
2253 * doc/cpp.texi: Fix names of charset options.
2255 2006-09-10 Andrew Pinski <pinskia@physics.uc.edu>
2258 * config/i386/i386.c (override_options): Use 128-bit
2259 stack boundary always for 64bits.
2261 2006-09-10 Eric Botcazou <ebotcazou@libertysurf.fr>
2263 PR rtl-optimization/28636
2264 * combine.c (force_to_mode): Test for side-effects before
2265 substituting by zero.
2266 (simplify_shift_const): Likewise for zero or other constants.
2268 2006-09-10 Steven Bosscher <steven@gcc.gnu.org>
2271 * builtins.c (expand_builtin_setjmp): Force next_lab to be
2274 2006-09-10 Richard Sandiford <richard@codesourcery.com>
2277 * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
2278 * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
2279 returned by mode_for_size, rather than the mode of src itself,
2280 to choose between 32-bit and 64-bit patterns.
2281 (mips_mem_fits_mode_p): New function.
2282 * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
2283 that the size of the source matches the size of the destination.
2284 (mov_<store>l, mov_<store>r): Likewise.
2286 2006-09-10 Eric Christopher <echristo@apple.com>
2288 * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
2291 2006-09-09 Eric Christopher <echristo@apple.com>
2294 * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
2297 2006-09-09 Roger Sayle <roger@eyesopen.com>
2298 Nicolas Setton <setton@adacore.com>
2300 * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
2302 2006-09-10 Andreas Schwab <schwab@suse.de>
2304 * config/m68k/m68k.md (bungt_rev): New pattern.
2306 2006-09-09 Paolo Bonzini <bonzini@gnu.org>
2307 Dale Johannesen <dalej@apple.com>
2310 * regclass.c (struct reg_pref): Update documentation.
2311 (regclass): Set prefclass to NO_REGS if memory is the best option.
2312 (record_reg_classes): Cope with a prefclass set to NO_REGS.
2314 2006-09-08 Eric Christopher <echristo@apple.com>
2316 * config.gcc (i?86-*-darwin): Add 64-bit HWI support.
2317 * config/t-slibgcc-darwin: Support x86_64 multilib.
2318 * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
2319 Return 1 for x86_64-darwin.
2320 * config/i386/t-darwin: Add m64 multilib.
2321 (LIB2_SIDITI_CONV_FUNCS): Use.
2322 (LIB2FUNCS_EXTRA): Ditto.
2323 * config/i386/darwin.h: Support x86_64.
2324 * config/i386/i386.c (override_options): Turn on flag_pic
2325 for x86_64-darwin. Disable flag_omit_pointer.
2326 (get_pc_thunk_name): Assert !TARGET_64BIT.
2327 (legitimate_address_p): Disable machopic addressing for
2329 (legitimize_pic_address): Ditto.
2330 (ix86_expand_move): Ditto.
2331 (ix86_expand_call): Ditto.
2332 (machopic_output_stub): Ditto.
2333 * config/darwin.c (machopic_select_section): Support literal16.
2334 (machopic_select_rtx_section): Ditto.
2335 * config/darwin-sections.def: Ditto.
2336 * config/darwin-64.c: New.
2338 2006-09-08 Joseph S. Myers <joseph@codesourcery.com>
2341 * c-tree.h (struct c_arg_info): Add pending_sizes.
2342 * c-parser.c (c_parser_parms_declarator,
2343 c_parser_parms_list_declarator): Initialize pending_sizes.
2344 * c-decl.c (get_parm_info): Initialize pending_sizes.
2345 (get_parm_info): Set pending_sizes.
2346 (grokdeclarator): Call put_pending_sizes for parameters for
2347 function definition only.
2349 2006-09-07 Jason Merrill <jason@redhat.com>
2352 * varasm.c (output_constant): Only strip actual no-op conversions.
2355 * config/i386/i386.c (override_options): Use 128-bit
2356 stack boundary if -msse.
2358 2006-09-07 Eric Christopher <echristo@apple.com>
2360 * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
2362 * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
2365 2006-09-07 Geoffrey Keating <geoffk@apple.com>
2367 * dwarf2out.c: Remove strange characters from comment above
2368 dwarf2out_frame_debug_expr.
2370 2006-09-07 Eric Christopher <echristo@apple.com>
2372 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
2373 * config/darwin.h: ... to here.
2375 2006-09-07 H.J. Lu <hongjiu.lu@intel.com>
2377 * config/i386/i386.c (x86_partial_flag_reg_stall): New.
2379 * config/i386/i386.h (x86_partial_flag_reg_stall): New.
2380 (TARGET_PARTIAL_FLAG_REG_STALL): New.
2382 * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
2383 TARGET_PARTIAL_FLAG_REG_STALL.
2384 (*ashldi3_cconly_rex64): Likewise.
2385 (*ashlsi3_cmp): Likewise.
2386 (*ashlsi3_cconly): Likewise.
2387 (*ashlsi3_cmp_zext): Likewise.
2388 (*ashlhi3_cmp): Likewise.
2389 (*ashlhi3_cconly): Likewise.
2390 (*ashlqi3_cmp): Likewise.
2391 (*ashlqi3_cconly): Likewise.
2392 (*ashrdi3_cmp_rex64): Likewise.
2393 (*ashrdi3_cconly_rex64): Likewise.
2394 (*ashrsi3_cmp): Likewise.
2395 (*ashrsi3_cconly): Likewise.
2396 (*ashrsi3_cmp_zext): Likewise.
2397 (*ashrhi3_cmp): Likewise.
2398 (*ashrhi3_cconly): Likewise.
2399 (*ashrqi3_cmp): Likewise.
2400 (*ashrqi3_cconly): Likewise.
2401 (*lshrdi3_cmp_rex64): Likewise.
2402 (*lshrdi3_cconly_rex64): Likewise.
2403 (*lshrsi3_cmp): Likewise.
2404 (*lshrsi3_cconly): Likewise.
2405 (*lshrsi3_cmp_zext): Likewise.
2406 (*lshrhi3_cmp): Likewise.
2407 (*lshrhi3_cconly): Likewise.
2408 (*lshrqi2_cmp): Likewise.
2409 (*lshrqi2_cconly): Likewise.
2411 2006-09-07 Uros Bizjak <uros@kss-loka.si>
2414 * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
2415 "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
2416 "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
2417 "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
2418 "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
2419 "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
2420 "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
2421 "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
2422 "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
2423 implement only CC setting effects of shift instructions.
2425 2006-09-07 Martin Michlmayr <tbm@cyrius.com>
2427 * doc/contrib.texi: Add myself.
2429 2006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
2432 * stor-layout.c (relayout_decl): Don't zero the alignment if it
2433 was set by the user.
2435 2006-09-07 Paolo Bonzini <bonzini@gnu.org>
2438 * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
2439 (divsi_inv_m1): Use them.
2440 (UNSPEC_DIV_INV_TABLE): New constant.
2442 2006-09-06 James E Wilson <wilson@specifix.com>
2445 * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
2446 then call count_or_remove_death_notes.
2448 2006-09-06 Jason Merrill <jason@redhat.com>
2451 * tree-inline.c (copy_result_decl_to_var): New fn.
2452 (declare_return_variable): Use it. Call declare_inline_vars here.
2453 (expand_call_inline): Not here.
2455 2006-09-06 Diego Novillo <dnovillo@redhat.com>
2457 * doc/contrib.texi: Update my entry.
2459 2006-09-06 Nick Clifton <nickc@redhat.com>
2461 * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
2463 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
2466 * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
2467 (canonicalize_induction_variables): Likewise.
2468 (tree_unroll_loops_completely): Likewise.
2469 (tree_ssa_prefetch_arrays): Likewise.
2470 (remove_empty_loops): Likewise.
2471 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
2472 TODO_cleanup_cfg instead of directly calling
2473 cleanup_tree_cfg_loop.
2474 * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
2476 (tree_unroll_loops_completely): Likewise.
2477 (remove_empty_loops): Likewise.
2478 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
2479 * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
2480 of tree_ssa_unswitch_loops.
2481 (tree_ssa_loop_ivcanon): Use the return value of
2482 canonicalize_induction_variables.
2483 (tree_ssa_empty_loop): Use the return value of
2485 (tree_complete_unroll): Use the return value of
2486 tree_unroll_loops_completely.
2487 (tree_ssa_loop_prefetch): Use the return value of
2488 tree_ssa_prefetch_arrays.
2489 * passes.c (execute_todo): Before Cleanup CFG, set
2490 updating_used_alone and after cleanup CFG, call
2491 recalculate_used_alone.
2493 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
2496 * tree-vect-transform.c (vectorizable_condition): Move the check
2497 for the type after the check for simple condition.
2499 2006-09-05 J"orn Rennecke <joern.rennecke@st.com>
2500 Kaz Kojima <kkojima@gcc.gnu.org>
2503 * mode-switching.c (optimize_mode_switching): Make the destination
2504 block of an abnormal edge have no anticipatable mode. Don't
2505 insert mode switching code at the end of the source block of
2508 2006-09-05 Paolo Bonzini <bonzini@gnu.org>
2510 PR rtl-optimization/26847
2511 * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
2512 (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
2513 (simplify_plus_minus): Count n_constants while filling ops. Replace
2514 qsort with insertion sort. Before going through the array to simplify
2515 pairs, sort it. Delay early exit until after the first sort, exiting
2516 only if no swaps occurred. Simplify pairs in reversed order, without
2517 special-casing the first iteration. Pack ops after simplifying pairs.
2519 2006-09-05 Anatoly Sokolov <aesok@post.ru>
2521 * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
2522 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
2523 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
2524 (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
2526 2006-09-05 Richard Guenther <rguenther@suse.de>
2528 PR tree-optimization/28900
2529 * tree-if-conv.c (find_phi_replacement_condition): Gimplify
2530 compound conditional before creating COND_EXPR condition.
2532 2006-09-05 Richard Guenther <rguenther@suse.de>
2534 PR tree-optimization/28905
2535 * tree-vrp.c (fix_equivalence_set): Manually implement
2536 !value_ranges_intersect_p to also handle symbolic ranges.
2538 2006-09-05 Richard Guenther <rguenther@suse.de>
2541 * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
2544 2006-09-04 Eric Botcazou <ebotcazou@libertysurf.fr>
2546 PR rtl-optimization/27616
2547 * cse.c (table_size): New static variable.
2548 (new_basic_block): Initialize it to 0.
2549 (remove_from_table): Decrement it.
2550 (insert): Increment it.
2551 (fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
2552 (fold_rtx_mem): Enforce a cap on the recursion depth. Call
2553 fold_rtx_mem_1 if under the cap.
2554 (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
2555 the lookup of the equivalent expression and test for equality of the
2556 first operand of the equivalent expression before in turn looking up
2557 an equivalent constant for the second operand.
2559 2006-09-02 Geoffrey Keating <geoffk@apple.com>
2562 2006-03-17 Alexandre Oliva <aoliva@redhat.com>
2563 * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
2564 pointer, instead of assuming it is possible to derive the
2565 correct args size from a call insn.
2567 2006-09-02 Jakub Jelinek <jakub@redhat.com>
2570 * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
2571 (fold_builtin_mempcpy): Rename to...
2572 (fold_builtin_memory_op): ... this. Optimize one element copy
2574 (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
2576 (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
2577 (expand_builtin_memcpy, expand_builtin_mempcpy,
2578 expand_builtin_memmove): Likewise. Use fold_builtin_memory_op.
2579 (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
2580 BUILT_IN_BCOPY. Use fold_builtin_memory_op for
2581 BUILT_IN_MEM{CPY,PCPY,MOVE}.
2583 2006-09-01 DJ Delorie <dj@redhat.com>
2585 * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
2586 (stzx_16): Likewise.
2587 ("stzx_24_<mode>"): Likewise.
2588 ("stzx_reversed_<mode>"): Likewise, and make mode-specific.
2589 ("cmp<mode>_op"): New.
2590 (cmp<mode>): Change to expander; just save operands.
2592 (b<code>): Change to expander, emit compare here.
2593 (s<code>_op): Change to use split and expander.
2594 (s<code>_24_op): Likewise.
2595 (s<code>_<mode>): New.
2596 (s<code>_<mode>_24): New.
2597 (movqicc_<code>_<mode): New.
2598 (movhicc_<code>_<mode>): New.
2601 * config/m32c/m32c.c (compare_op0, compare_op1): New.
2602 (m32c_pend_compare): New.
2603 (m32c_unpend_compare): New.
2604 (m32c_expand_scc): New.
2605 (m32c_expand_movcc): Emit the compare also.
2606 * config/m32c/predicates.md (mra_nopp_operand): New.
2608 2006-09-01 J"orn Rennecke <joern.rennecke@st.com>
2609 Richard Guenther <rguenther@suse.de>
2610 Adam Nemet <anemet@caviumnetworks.com>
2613 * builtins.c (get_pointer_alignment): Handle more forms
2614 of base addresses that can be used to derive more precise
2615 information about alignment.
2617 2006-09-01 Jason Merrill <jason@redhat.com>
2620 * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle
2623 * gimplify.c (voidify_wrapper_expr): Handle null type.
2625 2006-09-01 Josh Conner <jconner@apple.com>
2628 * tree-nrv.c (dest_safe_for_nrv_p): New function.
2629 (execute_return_slot_opt): Use it.
2631 2006-08-31 Josh Conner <jconner@apple.com>
2634 * tree-gimple.c (is_gimple_mem_rhs): Recognize functions
2635 returning aggregates.
2637 2006-08-31 Zdenek Dvorak <dvorakz@suse.cz>
2639 PR tree-optimization/28839
2640 * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in
2641 blocks in that phi arguments appear.
2643 2006-08-31 Roger Sayle <roger@eyesopen.com>
2646 * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
2647 NULL, otherwise use an advance_loc4 to adjust relative to the
2649 (output_cfi) <DW_CFA_set_loc>: Update the current label.
2650 (dwarf2out_switch_text_section): Reset the current label to avoid
2651 using advance_loc4 over section boundaries.
2653 2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com>
2656 * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
2657 r12 + SYMBOLIC_CONST.
2659 2006-08-30 Richard Guenther <rguenther@suse.de>
2661 * Makefile.in (see.o): Add $(EXPR_H) dependency.
2663 2006-08-30 Zdenek Dvorak <dvorakz@suse.cz>
2665 PR rtl-optimization/27735
2666 * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
2667 Add new argument to keep track of whether an irreducible region
2668 was affected. All callers changed.
2669 (fix_irreducible_loops): Removed.
2670 (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
2671 flags were invalidated.
2673 2006-08-29 H.J. Lu <hongjiu.lu@intel.com>
2675 * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands
2676 instead of SF operands.
2677 (*fop_df_comm_sse): Likewise.
2678 (*fop_df_comm_i387): Likewise.
2679 (*fop_df_1_mixed): Likewise.
2680 (*fop_df_1_sse): Likewise.
2682 2006-08-29 Andrew Pinski <pinskia@physics.uc.edu>
2683 J"orn Rennecke <joern.rennecke@st.com>
2685 PR tree-optimization/17506
2686 * tree-ssa.c (warn_uninit): If warning about a location outside of
2687 the current function, note where the variable was declared.
2689 2006-08-28 Zdenek Dvorak <dvorakz@suse.cz>
2691 PR tree-optimization/28411
2692 * double-int.c (double_int_div): Use double_int_divmod.
2693 (double_int_divmod, double_int_sdivmod, double_int_udivmod,
2694 double_int_mod, double_int_smod, double_int_umod): New functions.
2695 * double-int.h (double_int_divmod, double_int_sdivmod,
2696 double_int_udivmod, double_int_mod, double_int_smod, double_int_umod):
2698 * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result
2700 (get_computation_aff, get_computation_cost_at): Handle double_int
2701 return type of constant_multiple_of.
2703 2006-08-28 Kazu Hirata <kazu@codesourcery.com>
2706 * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on
2707 an implicit conversion.
2709 2006-08-28 Prafulla Thakare <prafullat@kpitcummins.com>
2711 * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New.
2713 2006-08-27 Roger Sayle <roger@eyesopen.com>
2715 * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
2718 2006-08-27 Kazu Hirata <kazu@codesourcery.com>
2720 * config/i386/crtfastmath.c: Fix a comment typo.
2722 2006-08-26 Roger Sayle <roger@eyesopen.com>
2724 * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating
2725 temporary visit flags on CASE_LABEL_EXPRs.
2726 * c-common.c (match_case_to_enum): Add function comment. Avoid
2727 O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN.
2728 (c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and
2729 CASE_HIGH_SEEN for enumerated types. If the switch expression is
2730 a constant, only warn if that constant value isn't handled.
2732 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
2735 * input.h (restore_input_file_stack): Declare.
2736 (INPUT_FILE_STACK_BITS): Define.
2737 * toplev.c (fs_p, input_file_stack_history,
2738 input_file_stack_restored, restore_input_file_stack): New.
2739 (push_srcloc, pop_srcloc): Check for input_file_stack_tick
2740 overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack.
2741 (pop_srcloc): Don't free old state of stack.
2743 2006-08-26 David Edelsohn <edelsohn@gnu.org>
2746 * doc/extend.texi (PowerPC Variable Attributes): Mention altivec.
2747 (PowerPC Type Attributes): New.
2749 2006-08-26 Bob Wilson <bob.wilson@acm.org>
2751 * config/xtensa/xtensa.c (function_arg_boundary): New.
2752 (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to
2754 * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new
2755 function_arg_boundary function that limits alignment to STACK_BOUNDARY.
2757 2006-08-26 Jakub Jelinek <jakub@redhat.com>
2760 * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
2763 2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2765 * flow.c (verify_wide_reg): Use internal_error for consistency failure.
2766 (verify_local_live_at_start): Likewise.
2768 2006-08-25 Joseph S. Myers <joseph@codesourcery.com>
2771 * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval,
2772 omp_add_variable): Treat sizes as variable whenever not
2775 2006-08-26 Richard Guenther <rguenther@suse.de>
2778 * fold-const.c (fold_binary): Fold temporary to correct
2779 type before constructing new comparison.
2781 2006-08-25 Fariborz Jahanian <fjahanian@apple.com>
2784 * c-gimplify.c (gimplify_compound_literal_expr): Don't add
2785 variable again if DECL_SEEN_IN_BIND_EXPR_P.
2787 2006-08-25 Joseph S. Myers <joseph@codesourcery.com>
2790 * c-decl.c (start_function): Don't try to process prototype
2791 information from old declaration that isn't a function.
2793 2006-08-25 Jan Hubicka <jh@suse.cz>
2796 * config/i386/crtfastmath.c (set_fast_math): Force stack alignment.
2798 2006-08-25 Alan Modra <amodra@bigpond.net.au>
2801 * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
2804 2006-08-25 J"orn Rennecke <joern.rennecke@st.com>
2806 PR tree-optimization/16876
2807 * c-typeck.c (c_convert_parm_for_inlining): Don't take early
2808 exit if PARM doesn't match VALUE.
2810 2006-08-25 Bob Wilson <bob.wilson@acm.org>
2812 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a
2813 literal_prefix directive.
2814 (XTENSA_DECLARE_FUNCTION_SIZE): Delete.
2815 * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
2816 * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
2818 2006-08-25 David Edelsohn <edelsohn@gnu.org>
2821 * config/rs6000/rs6000.md (movcc_internal1): Change operand 1
2822 predicate to general_operand. Add 0->y and I->r alternatives.
2824 2006-08-25 Kazu Hirata <kazu@codesourcery.com>
2826 * doc/tm.texi: Fix a typo.
2827 * predict.c: Fix comment typos.
2829 2006-08-25 Nick Clifton <nickc@redhat.com>
2831 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
2832 assertions of "cpu" and "machine".
2834 2006-08-24 Andrew Pinski <pinskia@physics.uc.edu>
2837 * tree-ssa-operands.c (access_can_touch_variable): Don't say
2838 the access through a base which has an alias set of 0 cannot
2841 2006-08-24 Bill Wendling <wendling@apple.com>
2843 * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
2845 2006-08-24 Jan Hubicka <jh@suse.cz>
2847 * reload1.c (emit_reload_insns): Fix yet another typo in my patch.
2849 2006-08-24 Jan Hubicka <jh@suse.cz>
2852 * cgraph.c: Fix comments.
2853 (cgraph_varpool_mark_needed_node): Mark only variables not already
2855 * cgraphunit.c: Update comments; include gt-cgraphunit.h
2856 (cgraph_varpool_assembled_nodes_queue): New static variable.
2857 (cgraph_varpool_assemble_decl): Record output decls for debug out code.
2858 (cgraph_varpool_output_debug_info): New function.
2859 (cgraph_finalize_compilation_unit, cgraph_optimize): Call it.
2860 * Makefile.in: Add gt-cgraphunit.h
2862 2006-08-24 Jan Hubicka <jh@suse.cz>
2864 * predict.c (probability_reliable_p): New predicate.
2865 (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise.
2866 (predict_loops): Do not predict loop exit with less than 2%
2868 * basic-block.h (edge_probability_reliable_p,
2869 br_prob_note_reliable_p): Declare.
2870 * ia64.h (ia64_print_operand): Do not disable on-chip branch
2871 prediction when static predictor is not reliable.
2872 * rs6000.c (output_cbranch): Likewise.
2874 2006-08-23 Stuart Hastings <stuart@apple.com>
2877 * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate,
2878 ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test.
2880 2006-08-21 Geoffrey Keating <geoffk@apple.com>
2883 * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for
2884 complex values, nor for generic vector values.
2886 2006-08-22 Richard Guenther <rguenther@suse.de>
2889 * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt
2890 parameter. Convert arguments to arithmetic expression to the
2892 (analyze_scalar_evolution_1): Adjust caller.
2894 2006-08-22 Jan Hubicka <jh@suse.cz>
2896 Patch by Paolo Bonzini
2897 * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by
2900 2006-08-22 Daniel Berlin <dberlin@dberlin.org>
2902 PR tree-optimization/28003
2903 * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered
2904 before grouping aliases.
2906 2006-08-22 Roger Sayle <roger@eyesopen.com>
2908 * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG
2909 if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE.
2911 2006-08-21 Jason Merrill <jason@redhat.com>
2914 * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a
2915 wrapper. Loop to handle nested wrappers.
2916 (gimplify_bind_expr): Remove temp parameter.
2917 (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR
2918 and STATEMENT_LIST on the rhs.
2919 (gimplify_statement_list): Voidify the STATEMENT_LIST.
2920 (gimplify_expr): Pass pre_p to gimplify_statement_list.
2921 (gimplify_target_expr): Remove special BIND_EXPR handling.
2923 2006-08-21 J"orn Rennecke <joern.rennecke@st.com>
2925 * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with
2928 2006-08-21 Olivier Hainque <hainque@adacore.com>
2930 * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>:
2931 Arrange for the temporary captures of components overlapping the lhs
2932 to happen before the lhs is possibly cleared.
2934 2006-08-21 Mark Shinwell <shinwell@codesourcery.com>
2936 * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in
2937 necessary places to pass the correct "number of registers" values
2940 2006-08-20 Jan Hubicka <jh@suse.cz>
2942 * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function.
2943 (create_name_tags): Instead of quadratic checking use hashtable.
2944 * bitmap.h: Include hashtab.h.
2945 (bitmap_hash): Declare.
2946 * bitmap.c (bitmap_hash): New function.
2948 2006-08-20 Jan Hubicka <jh@suse.cz>
2950 PR rtl-optimization/28071
2951 * tree-optimize.c (tree_rest_of_compilation): Do not remove edges
2953 * tree-inline.c (copy_bb): Use cgraph_set_call_stmt.
2954 * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument.
2955 (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function,
2956 cgraph_decide_inlining_incrementally): Update use of
2957 cgraph_check_inline_limits.
2958 * cgraph.c (edge_hash, edge_eq): New function.
2959 (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge,
2960 cgraph_edge_remove_caller, cgraph_node_remove_callees,
2961 cgraph_remove_node): Maintain call site hash.
2962 * cgraph.h (struct cgraph_node): Add call_site_hash.
2963 (cgraph_set_call_stmt): New function.
2965 2006-08-20 Jan Hubicka <jh@suse.cz>
2967 PR rtl-optimization/28071
2968 * reload1.c (reg_has_output_reload): Turn into regset.
2969 (reload_as_needed, forget_old_reloads_1, forget_marked_reloads,
2970 choose_reload_regs, emit_reload_insns): Update to new
2971 reg_has_output_reload.
2973 2006-08-20 Jan Hubicka <jh@suse.cz>
2976 * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute
2977 function body sizes.
2978 * cgraphunit.c (cgraph_analyze_function): Don't do so.
2980 2006-08-20 Danny Smith <dannysmith@users.sourceforge.net>
2983 * tree.c (handle_dll_attribute): Return early if not a
2984 var or function decl.
2986 2006-08-18 Joseph Myers <joseph@codesourcery.com>
2989 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
2990 alignment of SPE vector types.
2992 2006-08-18 Christophe Jaillet <christophe.jaillet@wanadoo.fr>
2994 * tree.c (is_attribute_with_length_p): Remove a duplicated assert.
2996 2006-08-17 Jakub Jelinek <jakub@redhat.com>
2999 * cgraph.h (struct cgraph_node): Remove externally_visible
3001 * cgraphunit.c (process_function_and_variable_attributes): Set
3002 local.externally_visible rather than externally_visible.
3005 * c-common.c (handle_externally_visible_attribute): First look
3006 at TREE_CODE and only if it is function or var decl, check for
3007 non-public objects. Don't warn for DECL_EXTERNAL.
3008 * cgraphunit.c (process_function_and_variable_attributes): Warn
3009 if externally_visible attribute is used on non-public object.
3011 2006-08-17 Jan Hubicka <jh@suse.cz>
3013 PR tree-optimization/27865
3014 * reload1.c (forget_marked_reloads): New function.
3015 (forget_old_reloads_1): When data are passed, just mark the registers
3017 (reload_as_needed): Use the new mechanizm.
3019 2006-08-17 Alexandre Oliva <aoliva@redhat.com>
3022 * reload.h (reg_equiv_alt_mem_list): New declaration.
3023 * reload1.c (reg_equiv_alt_mem_list): New definition.
3024 (reload): Initialize it and release it.
3025 (delete_output_reload): Use it.
3026 * reload.c (push_reg_equiv_alt_mem): New function.
3027 (find_reloads_toplev): Call it.
3028 (find_reloads_address, find_reloads_address_1): Likewise.
3029 (find_reloads_subreg_address): Likewise.
3031 2006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
3033 PR rtl-optimization/28489
3034 * sched-ebb.c (begin_schedule_ready): Create basic block
3036 (advance_target_bb): Skip empty blocks.
3037 * haifa-sched.c (bb_note): Make global.
3038 * sched-int.h (bb_note): Add prototype.
3040 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
3042 PR tree-optimization/27865
3043 * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE
3045 * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p,
3046 fold_used_pointer, pointer_used_p): New functions.
3047 (analyze_scalar_evolution_1): Use fold_used_pointer.
3048 * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly.
3049 * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type
3052 2006-08-17 Paolo Bonzini <bonzini@gnu.org>
3055 * c-common.c (fold_offsetof_1): Add an argument and recurse down to it
3056 or the INTEGER_CST. Fail on a CALL_EXPR.
3057 (fold_offsetof): Pass new argument to fold_offsetof_1.
3058 * c-parser.c (c_parser_postfix_expression): Don't include a NULL
3059 operand into an INDIRECT_REF.
3060 * c-typeck.c (build_unary_op): Adjust call to fold_offsetof.
3062 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
3064 PR gcov/profile/26570
3065 * value-prof.c (static_values): Removed.
3066 (tree_find_values_to_profile): Do not set static_values.
3067 (find_values_to_profile): Do not free static_values.
3068 * profile.c (instrument_values): Do not free the values.
3069 (branch_prob): Free the values.
3071 2006-08-16 Naveen.H.S <naveenh@kpitcummins.com>
3073 * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest.
3075 2006-08-16 Joseph S. Myers <joseph@codesourcery.com>
3078 * c-typeck.c (build_component_ref): Combine qualifiers of
3079 structure or union and field.
3081 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
3083 PR rtl-optimization/28071
3084 * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare.
3085 * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions.
3086 * tree-into-ssa.c (struct dom_dfsnum): New.
3087 (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New
3089 (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of
3090 compute_global_livein.
3091 (prepare_block_for_update, prepare_use_sites_for): Mark the uses
3092 in phi nodes in the correct blocks.
3094 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
3096 PR tree-optimization/28364
3097 * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero
3099 (fold_affine_expr): New function.
3100 (may_eliminate_iv): Use fold_affine_expr.
3102 2006-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3105 * c-typeck.c (c_start_case): Handle invalid orig_type correctly.
3108 2006-08-16 Mike Stump <mrs@apple.com>
3110 * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref.
3111 * doc/cppopts.texi (-MD): Likewise.
3113 2006-08-15 Danny Smith <dannysmith@users.sourceforge.net>
3116 * c-common.c (handle_weak_attribute): Ignore and warn if
3117 not a FUNCTION_ or VAR_DECL.
3119 2006-07-15 Mike Stump <mrs@apple.com>
3122 * c-parser.c (c_parser_typeof_specifier): Don't use
3123 c_finish_expr_stmt, open code desired semantics instead.
3125 2006-08-15 Nick Clifton <nickc@redhat.com>
3127 * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile
3128 fragment to tmake_file only if threads are enabled.
3129 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to...
3130 * config/i386/t-gthr-win32: New file. ... here.
3132 2006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3135 * c-parser.c (c_parser_compound_statement_nostart): Reset
3136 parser->error after each statement.
3138 2006-08-15 Jakub Jelinek <jakub@redhat.com>
3141 * omp-low.c (lower_omp_parallel): Convert t to
3142 receiver_decl's type.
3143 (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR
3144 source before comparison.
3147 * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival
3148 to itype in assignment to oldival2.
3150 2006-07-14 Andrew Pinski <pinksia@physics.uc.edu>
3154 * c-typeck.c (build_compound_expr): If the second expression
3155 is an error mark, then just return an error mark instead of
3156 creating a COMPOUND_EXPR.
3158 2006-07-14 Mike Stump <mrs@apple.com>
3160 * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES.
3162 2006-08-14 Kazu Hirata <kazu@codesourcery.com>
3164 * c-decl.c, var-tracking.c: Fix comment typos.
3166 2006-08-14 Richard Sandiford <richard@codesourcery.com>
3168 PR rtl-optimization/28634
3169 * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A
3170 for floating-point modes unless flag_unsafe_math_optimizations.
3172 2006-08-13 Alexandre Oliva <aoliva@redhat.com>
3173 Andrew Pinski <pinskia@physics.uc.edu>
3176 * tree.c (build_array_type): Unify array types with
3177 unspecified index_type.
3178 * c-decl.c (grokdeclarator): Make sure we do not modify a
3179 unified incomplete array type.
3180 * c-typeck.c (store_init_value): Create distinct type before
3181 filling in the index type in an initializer from a compound
3184 * c-decl.c (grokdeclarator): Remove code where we copy the
3187 2006-08-13 Andrew Pinski <pinskia@physics.uc.edu>
3189 * tree-pass.h (TODO_update_ssa): Fix which bit is used to take
3190 into account for TODO_dump_cgraph.
3191 (TODO_update_ssa_no_phi): Likewise.
3192 (TODO_update_ssa_full_phi): Likewise.
3193 (TODO_update_ssa_only_virtuals): Likewise.
3194 (TODO_remove_unused_locals): Likewise.
3195 (TODO_set_props): Likewise.
3196 (TODO_update_stmt_usage): Likewise.
3198 2006-08-13 Dirk Mueller <dmueller@suse.de>
3200 * c-common.c (strict_aliasing_warning): Fix formatting.
3202 2006-08-13 Matthias Klose <doko@debian.org>
3204 * doc/invoke.texi: Fix spelling errors.
3206 2006-08-11 Eric Botcazou <ebotcazou@libertysurf.fr>
3208 PR rtl-optimization/23454
3209 * reorg.c (relax_delay_slots): Update comment.
3211 2006-08-11 Richard Guenther <rguenther@suse.de>
3214 * simplify-rtx.c (simplify_const_relational_operation):
3215 Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison
3218 2006-08-10 Eric Botcazou <ebotcazou@adacore.com>
3220 * tree.c (build1_stat): Also propagate the TREE_CONSTANT and
3221 TREE_INVARIANT flags for a VIEW_CONVERT_EXPR.
3223 2006-08-10 Paul Brook <paul@codesourcery.com>
3225 * final.c (final_scan_insn): Clear current_insn_predicate before
3226 outputting inline asm.
3228 2006-08-10 Dorit Nuzman <dorit@il.ibm.com>
3230 PR tree-optimization/26197
3231 * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls
3232 get_ref_base_and_extent and overlap_subvar to add only relevant
3233 subvars as may-aliases.
3234 (add_may_alias_for_new_tag): New function, factored out of
3236 * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias
3237 with additional argument.
3238 * tree-flow.h (new_type_alias): Takes additional argument.
3240 2006-08-09 Nathan Sidwell <nathan@codesourcery.com>
3242 * gcov.c (no_data_file): New flag.
3243 (read_count_file): Set it if data file not present. Assume counts
3245 (output_lines): Don't name the data file, if there wasn't one.
3247 2006-08-09 Eric Botcazou <ebotcazou@adacore.com>
3249 * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust.
3250 (rs6000_generate_compare): Tweak comments.
3251 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment.
3253 2006-08-09 Alexandre Oliva <aoliva@redhat.com>
3255 * var-tracking.c (enum micro_operation_type): Add MO_COPY.
3256 (var_debug_decl): New function.
3257 (var_reg_set): Follow debug decl link. Add location even if
3258 reg is already known to hold some other variable.
3259 (var_mem_set): Follow debug decl link.
3260 (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug
3261 decl link. Delete other known locations of the variable part
3263 (var_reg_delete, var_mem_delete): Delete other known locations
3264 of the variable part if requested.
3265 (same_variable_part_p): New function.
3266 (add_stores): Select MO_COPY when appropriate.
3267 (vt_initialize): Handle it.
3268 (compute_bb_dataflow, emit_notes_in_bb): Likewise. Delete
3269 known locations for MO_SET and MO_CLOBBER.
3270 (find_variable_location_part): New function.
3271 (set_variable_part, delete_variable_part): Use it.
3272 (clobber_variable_part): New function.
3273 * dwarf2out.c (dwarf2out_var_location): Do not follow debug
3276 2006-08-07 Victor Kaplansky <victork@il.ibm.com>
3278 PR tree-optimization/26969
3279 * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
3280 with an empty list of PHIs.
3282 2006-08-06 Paolo Bonzini <bonzini@gnu.org>
3286 * conffig/i386/i386.md: Add peephole2 to avoid "fld %st"
3289 2006-08-06 Andreas Schwab <schwab@suse.de>
3291 * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format
3292 string. Whitespace and comment fixup.
3294 2006-08-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3297 * c-decl.c (validate_proto_after_old_defn): Return false on invalid
3301 * c-typeck.c (build_modify_expr): Test earlier for non-lvalues.
3304 * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify.
3306 2006-08-04 Jan Hubicka <jh@suse.cz>
3310 * reload.c (push_reload): Patch out the mismatching instruction;
3312 (find_reload): Bail out if the instruction was patched out.
3314 2006-08-04 Jan Hubicka <jh@suse.cz>
3316 PR tree-optimization/24888
3317 * tree-inline.c (expand_call_inline): Do not re-record variables.
3318 (declare_inline_vars): Add variable to unexpanded_var_list.
3320 2006-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3321 Roger Sayle <roger@eyesopen.com>
3323 PR rtl-optimization/26244
3324 * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
3325 inner_const are negative or greater than or equal to the bitsize of
3326 MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
3327 Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
3328 Simplify complicated if statement. For ASHIFT and LSHIFTRT, return
3329 CONST0_RTX (mode) when the new shift count is greater than or equal to
3330 to the bitsize of the object being shifted and XEXP (y, 0) has no side
3333 2006-08-04 Kazu Hirata <kazu@codesourcery.com>
3335 * tree-cfg.c: Fix a comment typo.
3337 2006-08-03 Mark Mitchell <mark@codesourcery.com>
3340 * varasm.c (output_constant): Give the front end another chance to
3341 expand constants, after stripping NOPs.
3343 2006-08-03 Jan Hubicka <jh@suse.cz>
3345 * domwalk.c (walk_dominator_tree): Reorganize to non-recursive
3348 2006-08-03 Dorit Nuzman <dorit@il.ibm.com>
3350 PR tree-optimization/27770
3351 * tree-vectorizer.h (get_vectype_for_scalar_type): Function
3352 declaration removed (moved to tree-flow.h).
3353 (vect_can_force_dr_alignment_p): Likewise.
3354 * tree-flow.h (get_vectype_for_scalar_type): New function declaration
3355 (moved from tree-vectorizer.h).
3356 (vect_can_force_dr_alignment_p): Likewise.
3357 * tree-vectorizer.c (vect_print_dump_info): Allow calling this function
3358 from outside the vectorizer - in particular from cgraph stage.
3359 * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase
3360 the alignment of global arrays when -fsection-anchors is enabled.
3361 * cgraphunit.c (cgraph_increase_alignment): New function.
3362 (cgraph_optimize): Call cgraph_increase_alignment.
3364 2006-08-03 David Edelsohn <edelsohn@gnu.org>
3367 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
3368 not reload a SPE symbol_ref into a lo_sum address.
3370 2006-08-02 Daniel Jacobowitz <dan@codesourcery.com>
3373 * dwarf2out.c (prune_unused_types_prune): Move call to
3374 prune_unused_types_update_strings to cover the parent DIE also.
3376 2006-08-02 Jan Hubicka <jh@suse.cz>
3378 PR gcov/profile/28480
3379 * tree-cfg.c (change_bb_for_stmt): New function.
3380 (tree_merge_blocks, tree_split_blocks): Use it.
3382 2006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3388 * toplev.c (compile_file): Return early on errorcount or sorrycount.
3389 * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
3390 (cgraph_optimize): Likewise.
3392 2006-08-01 Stuart Hastings <stuart@apple.com>
3394 * rtl.h (UINTVAL) New.
3395 * config/rs6000/rs6000.c (SMALL_INT) Use it.
3396 * testsuite/gcc.dg/20060801-1.c: New.
3398 2006-08-01 Daniel Jacobowitz <dan@codesourcery.com>
3401 * c-typeck.c (build_external_type): Mark used enum types.
3402 * dwarf2out.c (dwarf2out_abstract_function): Save and restore
3404 (gen_subprogram_die): Whitespace fix.
3406 2006-08-01 Jan Hubicka <jh@suse.cz>
3408 * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars
3409 bitmap when not needed.
3410 * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary
3413 2006-08-01 Dirk Mueller <dmueller@suse.de>
3415 * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
3417 2006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3419 * Makefile.in: Revert part of previous patch:
3420 Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H
3423 2006-07-30 Eric Christopher <echristo@apple.com>
3426 * doc/extend.texi (i386 Variable Attributes): Add anchor.
3427 (PowerPC Variable Attributes): New section.
3429 2006-07-30 Atsushi Nemoto <anemo@mba.ocn.ne.jp>
3431 PR target/28126 (partial fix)
3432 * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
3434 2006-07-28 Jan Hubicka <jh@suse.cz>
3436 PR rtl-optimization/28071
3437 * cfgrtl.c (rtl_delete_block): Free regsets.
3438 * flow.c (allocate_bb_life_data): Re-use regsets if available.
3440 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3442 * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies
3443 and variables used in dependencies.
3445 2006-07-27 Arjan van de Ven <arjan@linux.intel.com>
3447 * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than
3448 %fs for -mcmodel=kernel.
3449 (stack_tls_protect_test_di): Likewise.
3451 2006-07-27 Carlos O'Donell <carlos@codesourcery.com>
3453 * Makefile.in: Use mkinstalldirs.
3455 2006-07-27 H.J. Lu <hongjiu.lu@intel.com>
3458 * opts-common.c (prune_options): Skip joined switches.
3460 2006-07-27 Jan Hubicka <jh@suse.cz>
3462 PR rtl-optimization/28071
3463 * cselib.c (cselib_process_insn): Don't remove useless values too
3464 often for very large hashtables.
3466 2006-07-27 Jan Hubicka <jh@suse.cz>
3468 PR rtl-optimization/28071
3469 * global.c (greg_obstack): New obstack.
3470 (allocate_bb_info): Use it.
3471 (free_bb_info): Likewise.
3472 (modify_reg_pav): Likewise.
3474 2006-07-27 Roger Sayle <roger@eyesopen.com>
3476 * builtins.c (fold_fixed_mathfn): When long and long long are the
3477 same size, canonicalize llceil*, llfloor*, llround* and llrint*
3478 functions to their lceil*, lfloor*, lround* and lrint* forms.
3480 2006-07-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3483 * config/m32r/m32r.md (branch_insn): Reduce pc range for short
3485 (rev_branch_insn): Likewise.
3487 2006-07-27 Jan Hubicka <jh@suse.cz>
3489 PR rtl-optimization/28071
3490 * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour.
3491 (reg_set_in_bb, max_reg_computed): New static variables.
3492 (regmove_optimize): Free the new array.
3493 (fixup_match_1): Update call of reg_is_remote_constant_p.
3495 2006-07-26 Jan Hubicka <jh@suse.cz>
3497 PR tree-optimization/27882
3498 * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous