1 2006-10-21 H.J. Lu <hongjiu.lu@intel.com>
3 * config/i386/i386.md (UNSPEC_LDQQU): Renamed to ...
5 * config/i386/sse.md (sse3_lddqu): Updated.
7 2006-10-21 Richard Guenther <rguenther@suse.de>
9 * builtins.c (expand_builtin_int_roundingfn_2): New function.
10 (expand_builtin): Use it to expand lrint instead of
11 expand_builtin_mathfn.
13 2006-10-21 Uros Bizjak <uros@kss-loka.si>
16 * builtins.c (fold_builtin): Fold pow(x,1.0/3.0) as cbrt(x) if
17 flag_unsafe_math_optimizations is set.
19 2006-10-21 Uros Bizjak <uros@kss-loka.si>
22 * config/i386/i386.md (fix_trunc?f?i_sse): Add peephole2
23 patterns to use memory input operand in x87->mem->XMM
24 reload sequences. Skip transformation for TARGET_K8.
26 2006-10-21 Uros Bizjak <uros@kss-loka.si>
28 * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Do not
29 force operand1 to register if both operands are memory operands.
30 (*extendsfdf2_mixed, *extendsfdf2_sse, *extendsfdf2_i387)
31 (*extendsfxf2_i387, *extenddfxf2_i387): Do not disable pattern
32 if both operands are memory operands.
33 (truncdfsf2): Do not force operand1 to register if both operands
36 2006-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
38 * Makefile.in (LIBS): Add $(GMPLIBS).
39 * doc/install.texi: Update GMP and MPFR requirements.
40 * doc/sourcebuild.texi (need_gmp): Delete.
42 2006-10-21 Richard Guenther <rguenther@suse.de>
44 PR tree-optimization/3511
45 * tree-ssa-pre.c (phi_translate): Fold CALL_EXPRs that
46 got new invariant arguments during PHI translation.
48 2006-10-21 Richard Guenther <rguenther@suse.de>
51 * fold-const.c (fold_comparison): Fold signed comparisons
52 of the form X +- C1 CMP Y +- C2.
54 2006-10-21 Richard Guenther <rguenther@suse.de>
57 * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
58 if flag_unsafe_math_optimizations is specified. We have
59 flag_finite_math_only for that.
60 * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
61 or flag_unsafe_math_optimizations.
63 2006-10-21 Richard Guenther <rguenther@suse.de>
65 * builtins.c (fold_builtin_classify): Fix typo.
67 2006-10-21 Richard Guenther <rguenther@suse.de>
70 * simplify-rtx.c (simplify_const_relational_operation):
71 Do not constant-fold ORDERED and UNORDERED for
72 flag_unsafe_math_optimizations but only we do not need to
73 honor NaNs for the given mode.
75 2006-10-21 Richard Guenther <rguenther@suse.de>
78 * config/i386/i386.c (classify_argument): Remove redundant
79 walking of the BINFOs.
80 (contains_128bit_aligned_vector_p): Likewise.
82 2006-10-20 Mark Mitchell <mark@codesourcery.com>
84 * BASE-VER: Set to 4.3.0.
86 2006-10-20 Daniel Berlin <dberlin@dberlin.org>
88 * tree.h (DECL_PTA_ARTIFICIAL): Remove.
89 (tree_decl_with_vis): Remove artificial_pta_var flag.
90 * tree-flow.h (referenced_var_check_and_insert): Expose.
91 (nonlocal_all): New prototype.
92 * tree-ssa-structalias.c (nonlocal_for_type): Remove.
93 (nonlocal_all): Make global.
94 (nonlocal_lookup): Remove.
95 (nonlocal_insert): Ditto.
96 (create_nonlocal_var): Do not call nonlocal_insert.
97 (get_nonlocal_id_for_type): Remove.
98 (find_global_initializers): Mark new vars we find for renaming.
99 (intra_create_variable_infos): Only create one nonlocal.
100 (expand_nonlocal_solutions): Remove.
101 (compute_points_to_sets): Don't call it.
102 (ipa_pta_execute): Ditto.
103 (init_alias_heapvars): Don't create nonlocal_for_type.
104 (delete_alias_heapvars): Don't remove it.
105 * tree-ssa-operands.c (access_can_touch_variable): Don't prune
108 2006-10-19 Brooks Moses <bmoses@stanford.edu>
110 * doc/install.texi (Downloading GCC): Clarify mention of
111 Fortran in the "full distribution" description.
113 2006-10-19 Daniel Berlin <dberlin@dberlin.org>
115 Fix PR tree-optimization/28778
116 Fix PR tree-optimization/29156
117 Fix PR tree-optimization/29415
118 * tree.h (DECL_PTA_ARTIFICIAL): New macro.
119 (tree_decl_with_vis): Add artificial_pta_var flag.
120 * tree-ssa-alias.c (is_escape_site): Remove alias info argument,
122 * tree-ssa-structalias.c (nonlocal_for_type): New variable.
123 (nonlocal_all): Ditto.
124 (struct variable_info): Add directly_dereferenced member.
125 (var_escaped_vars): New variable.
126 (escaped_vars_tree): Ditto.
127 (escaped_vars_id): Ditto.
128 (nonlocal_vars_id): Ditto.
129 (new_var_info): Set directly_dereferenced.
130 (graph_size): New variable
131 (build_constraint_graph): Use graph_size.
132 (solve_graph): Don't process constraints that cannot change the
133 solution, don't try to propagate an empty solution to our
135 (process_constraint): Set directly_dereferenced.
136 (could_have_pointers): New function.
137 (get_constraint_for_component_ref): Don't process STRING_CST.
138 (nonlocal_lookup): New function.
139 (nonlocal_insert): Ditto.
140 (create_nonlocal_var): Ditto.
141 (get_nonlocal_id_for_type): Ditto.
142 (get_constraint_for): Allow results vector to be empty in the case
144 Handle results of calls properly.
145 (update_alias_info): Update alias info stats on number and type of
147 (find_func_aliases): Use could_have_pointers.
148 (make_constraint_from_escaped): Renamed from
149 make_constraint_to_anything, and changed to make constraints from
151 (make_constraint_to_escaped): New function.
152 (find_global_initializers): Ditto.
153 (create_variable_info_for): Make constraint from escaped to any
154 global variable, and from any global variable to the set of
156 (intra_create_variable_infos): Deal with escaped instead of
157 pointing to anything.
158 (set_uids_in_ptset): Do type pruning on directly dereferenced
160 (find_what_p_points_to): Adjust call to set_uids_with_ptset.
161 (init_base_vars): Fix comment, and initialize escaped_vars.
162 (need_to_solve): Removed.
163 (find_escape_constraints): New function.
164 (expand_nonlocal_solutions): Ditto.
165 (compute_points_to_sets): Call find_escape_constraints and
166 expand_nonlocal_solutions.
167 (delete_points_to_sets): Don't fall off the end of the graph.
168 (init_alias_heapvars): Initialize nonlocal_for_type and
170 (delete_alias_heapvars): Free nonlocal_for_type and null out
173 2006-10-19 Eric Botcazou <ebotcazou@adacore.com>
175 * fold-const.c (add_double): Rename to add_double_with_sign.
176 Add 'unsigned_p' parameter and take it into account for the overflow.
177 (mul_double): Rename to mul_double_with_sign.
178 Add 'unsigned_p' parameter and take it into account for the overflow.
179 (fold_div_compare): Call add_double_with_sign instead of add_double
180 and mul_double_with_sign instead of mul_double, passing them the
181 unsignedness of the type.
182 * tree.h (add_double): Macroize.
183 (add_double_with_sign): New prototype.
184 (mul_double): Macroize.
185 (mul_double_with_sign): New prototype.
187 2006-10-19 Chen Liqin <liqin@sunnorth.com.cn>
189 * config/score/crti.asm: New file.
190 * config/score/crtn.asm: New file.
191 * config/score/elf.h: New file.
192 * config/score/mac.md: New file.
193 * config/score/misc.md: New file.
194 * config/score/mul-div.S: New file.
195 * config/score/predicates.md: New file.
196 * config/score/score7.md: New file.
197 * config/score/score.c: New file.
198 * config/score/score-conv.h: New file.
199 * config/score/score.h: New file.
200 * config/score/score.md: New file.
201 * config/score/score-mdaux.c: New file.
202 * config/score/score-mdaux.h: New file.
203 * config/score/score-modes.def: New file.
204 * config/score/score.opt: New file.
205 * config/score/score-protos.h: New file.
206 * config/score/score-version.h: New file.
207 * config/score/t-score-elf: New file.
208 * config.gcc: Add score*-*-* configurations(Update before).
209 * doc/invoke.texi (Score Options): New section.
210 * doc/md.texi (Score family): New section to document constraints.
212 2006-10-19 Nick Clifton <nickc@redhat.com>
214 * config/arm/arm.c: Fix spelling typo.
216 2006-10-18 Tom Tromey <tromey@redhat.com>
218 * doc/install.texi (Prerequisites): Mention automake 1.9.6.
220 2006-10-18 Jan Hubicka <jh@suse.cz>
223 * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
226 2006-10-18 Marcin Dalecki <martin@dalecki.de>
228 * omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of
229 TSI_SAME_STMT, since that's the desired entity.
231 2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com>
233 * config/s390/contraints.md: New file.
234 * config/s390/s390-protos.h (s390_mem_constraint,
235 s390_O_constraint_str, s390_N_constraint_str,
236 s390_float_const_zero_p): Function prototypes added.
237 * config/s390/s390.c (s390_extra_constraint_str,
238 s390_const_double_ok_for_constraint_p,
239 s390_const_ok_for_constraint_p): Functions removed.
240 (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
241 s390_float_const_zero_p): New functions.
242 * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
243 CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
244 EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
245 Macro definitions removed.
246 (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
247 s390_extra_constraint_str): Functions removed.
249 2006-10-17 Andrew Pinsiki <pinskia@gmail.com>
250 Richard Sandiford <richard@codesourcery.com>
253 * config/mips/linux.h (SUBTARGET_CC1_SPEC): Override.
254 * config/mips/mips.h (CC1_SPEC): Override any earlier definition.
256 2006-10-16 Geoffrey Keating <geoffk@apple.com>
258 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h.
259 (DWARF2_FRAME_REG_OUT): Likewise.
260 * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h.
261 (DWARF2_FRAME_REG_OUT): Likewise.
263 2006-10-17 Paul Brook <paul@codesourcery.com>
265 * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate.
267 2006-10-16 Brooks Moses <bmoses@stanford.edu>
269 * doc/contrib.texi, doc/install.texi, doc/standards.texi:
270 Standardize on "GNU Fortran" as the official name of the Fortran
273 2006-10-16 Mike Stump <mrs@apple.com>
275 * doc/invoke.texi (Darwin Options): Document -mkernel.
276 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
278 (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support. Add
279 SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout.
280 (CC1_SPEC): Don't turn on -fPIC when -mkernel is given.
281 (OS_MISSING_ALTIVEC): Add.
282 * config/i386/i386.c (override_options): Add
283 SUBSUBTARGET_OVERRIDE_OPTIONS callout.
284 * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when
285 -mkernel, -static or -mdynamic-no-pic is given.
286 (C_COMMON_OVERRIDE_OPTIONS): Add.
287 * config/darwin.opt (fapple-kext): Add.
289 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add
290 -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and
292 (SUBSUBTARGET_OVERRIDE_OPTIONS): Add.
293 (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add.
294 (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here...
295 (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility.
296 (TARGET_CXX_CDTOR_RETURNS_THIS): Add.
298 (flag_apple_kext): Add.
299 (TARGET_KEXTABI): Add.
300 * config/darwin.c (darwin_handle_kext_attribute): Add.
301 (DARWIN_VTABLE_P): Add.
302 (darwin_binds_local_p): Add partial support for rebinding vtables
304 (darwin_kextabi_p): Add.
305 (darwin_override_options): Add.
306 * config/darwin-protos.h (darwin_handle_kext_attribute): Add.
307 (darwin_kextabi_p): Add.
308 (darwin_override_options): Add.
309 * config/darwin-c.c (darwin_cpp_builtins): ... move defines for
310 __DYNAMIC__ and __STATIC__ here.
312 2006-10-16 Brooks Moses <bmoses@stanford.edu>
314 * doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi:
315 Added mention of "make pdf" target, and Texinfo requirements for
318 2006-10-16 DJ Delorie <dj@redhat.com>
320 * config/s390/s390.c (s390_decompose_address): Allow symbol+offset
321 into the GOT in case we need a subreg of the address.
323 2006-10-16 Richard Guenther <rguenther@suse.de>
326 * doc/extend.texi (X86 Built-in Functions): Fix typos in
327 SSE builtin documentation. Document SSE2 builtins.
329 2006-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
331 * pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined
332 symbol in the output file for non-shared links when -nostdlib or
333 -nodefaultlibs isn't specified.
335 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to
336 posix thread support.
338 2006-10-15 Jan Hubicka <jh@suse.cz>
341 * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
342 declared always_inline even when not inlining.
344 2006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr>
345 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
346 Andrew Pinski <pinskia@gmail.com>
349 * builtins.c (get_pointer_alignment): Return 0 if TER is not run.
351 2006-10-15 Jan Hubicka <jh@suse.cz>
352 Richard Guenther <rguenther@suse.de>
355 * cgraphunit.c (cgraph_finalize_compilation_unit): Call
356 process_function_and_variable_attributes on all variables, including
357 those discovered during cgraph construction phase.
359 2006-10-15 Bernhard Fischer <aldot@gcc.gnu.org>
361 * final.c: Update Copyright year. Commentary typo fix. Fix whitespace
363 2006-10-14 Uros Bizjak <uros@kss-loka.si>
365 * config/i386/athlon.md (athlon_fist): Add fisttp.
367 2006-10-13 David Edelsohn <edelsohn@gnu.org>
368 Ian Lance Taylor <ian@airs.com>
371 * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
372 CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
375 2006-10-14 Kazu Hirata <kazu@codesourcery.com>
377 * config/score/score.c, config/score/score.h: Fix comment
380 2006-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
383 * Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of
386 2006-10-13 Eric Christopher <echristo@apple.com>
388 * config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
390 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
393 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
394 * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
395 alignment supported by 32-bit ELF.
397 2006-10-13 Eric Christopher <echristo@apple.com>
399 * config/darwin.c (darwin_emit_unwind_label): Strip
400 name encoding. Use DECL_ASSEMBLER_NAME_SET_P.
402 2006-10-13 Richard Guenther <rguenther@suse.de>
404 PR tree-optimization/29446
405 * tree-vrp.c (fix_equivalence_set): Remove.
406 (extract_range_from_assert): Do not call fix_equivalence_set.
407 (debug_value_range): Print a newline.
408 (compare_name_with_value): For equivalence sets with
409 inconsistent value ranges conservatively bail out.
410 (compare_names): Likewise.
412 2006-10-13 David Edelsohn <edelsohn@gnu.org>
414 * doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP
415 and MPFR for gfortran.
417 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
419 * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
420 alignment supported by 32-bit ELF.
422 2006-10-13 Paolo Bonzini <bonzini@gnu.org>
426 * c-typeck.c (digest_init): Always allow initializing vectors
427 that have static storage duration with compound literals.
428 * tree.c (build_type_attribute_qual_variant): New, based on
429 build_type_attribute_variant.
430 (build_type_attribute_variant): Rewrite using the former.
431 (make_vector_type): Use build_type_attribute_qual_variant to build
432 type variants. Use type_hash_canon on the others.
434 2006-10-13 Daniel Berlin <dberlin@dberlin.org>
435 Ramana Radhakrishnan <ramana.radhakrishnan@celunite.com>
437 * tree-flow-inline.h (zero_ssa_operands): Fix comment.
439 2006-10-12 Jan Hubicka <jh@suse.cz>
442 * c-decl.c (c_make_fname_decl): Do not segfault in case where
443 current_function_decl is set but current_function_scope is not.
445 2006-10-12 Jie Zhang <jie.zhang@analog.com>
447 * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of
448 emit_insn to emit eh_return_internal instruction.
449 (eh_return_internal): Explicitly set pc.
451 2006-10-11 Richard Guenther <rguenther@suse.de>
453 PR tree-optimization/28230
454 * tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling
455 to the correct place.
457 2006-10-11 Richard Guenther <rguenther@suse.de>
460 * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue
463 2006-10-10 Brooks Moses <bmoses@stanford.edu>
465 * configure.ac: Added pdf to "Make-hooks"
466 * Makefile.in: Added TEXI2PDF definition, and various pdf-file
467 targets and *.pdf file patterns in cleanup targets.
468 * configure: Regenerated.
470 2006-10-10 Anatoly Sokolov <aesok@post.ru>
472 * config/avr/predicates.md: New file.
473 * config/avr/avr.md: Include it.
474 (REG_SP): New constant.
475 (peepholes): Use predicates.
476 (sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch,
477 difficult_branch, difficult_rvbranch, cbi, sbi, sbix_branch,
478 sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto.
480 2006-10-10 Adam Nemet <anemet@caviumnetworks.com>
482 * config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to
485 2006-10-10 Jakub Jelinek <jakub@redhat.com>
488 * builtins.c (var_decl_component_p): New function.
489 (fold_builtin_memset, fold_builtin_memory_op): Restrict
490 single entry optimization to variables and components thereof.
492 2006-10-10 Richard Guenther <rguenther@suse.de>
494 PR rtl-optimization/29323
495 * except.c (set_nothrow_function_flags): For functions
496 that do not bind local bail out early.
498 2006-10-10 Ben Elliston <bje@au.ibm.com>
500 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the
503 2006-10-09 Richard Henderson <rth@redhat.com>
507 2006-10-09 Richard Guenther <rguenther@suse.de>
510 * cgraphunit.c (verify_cgraph_node): Bail out on earlier
513 2006-10-09 Steve Ellcey <sje@cup.hp.com>
516 * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
517 * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo.
518 * configure: Regenerate.
519 * config.in: Regenerate.
521 2006-10-09 Aldy Hernandez <aldyh@redhat.com>
523 * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
525 2006-10-08 Richard Sandiford <richard@codesourcery.com>
527 * config/mips/mips.c (mips_legitimize_tls_address): Implement
528 all TLS models in the same way as local exec if !TARGET_ABICALLS.
529 Remove stray newline.
531 2006-10-08 Richard Sandiford <richard@codesourcery.com>
533 * config/mips/mips.c (mips_classify_symbol): Do not return
534 SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK.
535 (mips_in_small_data_p): Tweak comments.
537 2006-10-08 Richard Sandiford <richard@codesourcery.com>
539 * config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define.
541 2006-10-07 Kazu Hirata <kazu@codesourcery.com>
543 * gimplify.c, sched-int.h: Fix comment typos.
545 * sched-int.h: Fix comment typos.
547 2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
549 * sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P):
551 * sched-ebb.c (begin_schedule_ready): Use them.
552 * haifa-sched.c (schedule_insn, move_insn, try_ready,
553 add_to_speculative_block, create_check_block_twin, speculate_insn,
554 fix_jump_move, move_block_after_check): Ditto.
555 * sched-rgn.c (new_ready): Ditto.
557 2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
559 PR rtl-optimization/29128
560 * sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro.
561 * sched-ebb.c (advance_target_bb): Use it to fix condition to
562 allow interblock movement of speculation checks.
564 2006-10-06 Zdenek Dvorak <dvorakz@suse.cz>
567 * tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers
568 casted to integer type.
569 (get_address_cost): Decrease cost of [symbol + index] addressing modes
570 if they are significantly more expensive than [reg + index] ones.
572 2006-10-06 Jakub Jelinek <jakub@redhat.com>
574 PR tree-optimization/29330
575 * tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro.
576 (initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer
577 on newly allocated ddrs.
578 (find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer
579 to VEC (loop_p, heap) pointer.
580 (compute_data_dependences_for_loop): Adjust caller.
581 (free_dependence_relations): Free DDR_LOOP_NEST.
583 * tree-loop-linear.c (linear_transform_loops): Don't forget to
584 free DEPENDENCE_RELATIONS and DATAREFS.
587 * builtins.c (expand_builtin_sync_operation,
588 expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set):
589 Use convert_to_mode to handle promoted arguments.
591 2006-10-06 J"orn Rennecke <joern.rennecke@st.com>
593 * print-tree.c (print_node_brief, print_node): Print sign of Inf.
595 2006-10-06 J"orn Rennecke <joern.rennecke@st.com>
597 * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define.
599 2006-10-05 Uros Bizjak <uros@kss-loka.si>
601 * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>",
602 "sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"):
603 Use <modeconstraint> instead of "r" as operand 1 constraint.
605 2006-10-06 Olivier Hainque <hainque@adacore.com>
607 * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]:
608 Don't recurse on the pointed-to type.
609 * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or
610 DECL context, attach an artificial TYPE_DECL to anonymous pointed-to
611 types with components of variable size.
613 2006-10-06 Danny Smith <dannysmith@users.sourceforge.net>
615 config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
617 2006-10-06 Jakub Jelinek <jakub@redhat.com>
619 PR tree-optimization/29290
620 * tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has
624 * config/i386/i386.c (legitimize_pic_address): Reject TLS symbols.
625 * config/i386/predicates.md (local_symbolic_operand): Likewise.
628 * varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than
629 the number of vector elements fill the rest with zeros.
631 2006-10-05 Richard Sandiford <richard@codesourcery.com>
633 * config/mips/mips.c (mips_pass_by_reference): Do not return false
634 for EABI if type is NULL. Use a size check based on GET_MODE_SIZE
637 2006-10-05 Bernd Schmidt <bernd.schmidt@analog.com>
639 * config/bfin/bfin.md (subsi3): Lose expander, change previously
640 unnamed pattern into subsi3. Use correct constraints/predicates.
641 * config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7".
642 * config/bfin/predicates.md (reg_or_neg7bit_operand_p): New.
644 2006-10-05 Ira Rosen <irar@il.ibm.com>
646 * doc/loop.texi: Add data references analysis description.
648 2006-10-04 Brooks Moses <bmoses@stanford.edu>
650 * doc/gcov.texi: Add formatting to "Invoking gcov" section head.
652 2006-10-04 Richard Henderson <rth@redhat.com>
653 Jakub Jelinek <jakub@redhat.com>
655 * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
656 * builtin-types.def (BT_WORD): Make unsigned.
657 (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
658 * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
659 (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
660 * c-decl.c (grokdeclarator): Don't error if !have_tls.
661 * c-parser.c (c_parser_omp_threadprivate): Likewise.
662 * cgraph.c (decide_is_variable_needed): Look at force_output.
663 Recurse for emulated tls.
664 * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
665 checks redundant with decide_is_variable_needed.
666 (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
667 * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
669 * expr.c (emutls_var_address): New.
670 (expand_expr_real_1): Expand emulated tls.
671 (expand_expr_addr_expr_1): Likewise.
672 * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
673 * output.h (emutls_finish): Declare.
674 * toplev.c (compile_file): Call it.
675 * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
676 address before wrapping in CONST.
677 * varasm.c (emutls_htab, emutls_object_type): New.
678 (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
679 (get_emutls_object_name, get_emutls_object_type): New.
680 (get_emutls_init_templ_addr, emutls_decl): New.
681 (emutls_common_1, emutls_finish): New.
682 (assemble_variable): When emulating tls, swap decls; generate
683 constructor for the emutls objects.
684 (do_assemble_alias): When emulating tls, swap decl and target name.
685 (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
687 * emutls.c: New file.
688 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
689 tls_object for real tls.
691 2006-10-04 Zack Weinberg <zackw@panix.com>
693 Fix bug in constraint-check generator, reported by Rask Ingemann
695 * genpreds.c (add_constraint): Don't remove anything from the
697 (write_tm_constrs_h): Detect whether "op" argument is used, and
698 mark it ARG_UNUSED if it isn't.
699 (write_insn_const_int_ok_for_constraint): Skip the part of the
700 expression that would test whether "op" (which is not available
701 here) is a CONST_INT.
703 2006-10-04 Ryan Mansfield <rmansfield@qnx.com>
706 * doc/invoke.texi (fdiagnostics-show-option): Fix typos.
708 2006-10-03 Geoffrey Keating <geoffk@apple.com>
710 * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
711 current Leopard versions.
712 * config/rs6000/darwin-libgcc.10.5.ver: Likewise.
714 2006-10-03 Kazu Hirata <kazu@codesourcery.com>
716 * doc/install.texi: Fix typos.
718 2006-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
720 * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
721 * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX.
722 * config/sparc/sparc.h (FRAME_ADDR_RTX): Define.
724 2006-10-02 Jack Howarth <howarth@bromo.med.uc.edu>
726 * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first
727 arg to be struct mach_header_64* instead.
729 2006-10-02 Jakub Jelinek <jakub@redhat.com>
732 * gimplify.c (gimplify_self_mod_expr): Run inner expression's post
733 side effects after the outer expression's post side effects.
735 2006-10-01 Sandra Loosemore <sandra@codesourcery.com>
737 * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix
738 comments to reflect actual behavior and relationship between
739 DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
741 * doc/c-tree.texi (Working with declarations): Fix documentation
742 of FIELD_DECL likewise.
744 2006-10-01 Ryan Mansfield <rmansfield@qnx.com>
747 * doc/extend.texi: Add used variable attribute description.
749 2006-09-30 Joseph S. Myers <joseph@codesourcery.com>
752 * c.opt (Woverride-init): New.
753 * c-opts.c (c_common_post_options): Default warn_override_init to
755 * c-typeck.c (add_pending_init, output_init_element): Warn for
756 overriding initializers without side effects.
757 * doc/invoke.texi (-Woverride-init): Document.
760 2006-09-30 Eric Botcazou <ebotcazou@libertysurf.fr>
762 PR rtl-optimization/28096
763 * ifcvt.c (check_cond_move_block): Return FALSE if the source of an
764 assignment has already been used as a destination earlier in the block.
766 2006-09-29 Eric Botcazou <ebotcazou@adacore.com>
768 * builtins.c (expand_builtin_setjmp): Delete.
769 (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
770 <BUILT_IN_SETJMP_SETUP>: New case.
771 <BUILT_IN_SETJMP_DISPATCHER>: Likewise.
772 <BUILT_IN_SETJMP_RECEIVER>: Likewise.
773 * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
774 (BUILT_IN_SETJMP_DISPATCHER): Likewise.
775 (BUILT_IN_SETJMP_RECEIVER): Likewise.
776 * gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
777 (lower_function_body): Initialize it to false. If it is set to true
778 at the end of the processing, emit the setjmp dispatcher.
779 (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
780 is __builtin_setjmp and set calls_builtin_setjmp to true as well.
781 <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
782 on the rhs of the assignment.
783 (lower_builtin_setjmp): New function.
784 * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
785 BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
786 * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
787 to detect calls that can go to non-local labels. Use specific
788 helper to create the abnormal edges associated with them.
789 <MODIFY_EXPR>: Likewise.
790 (make_abnormal_goto_edges): New function extracted from...
791 (make_goto_expr_edges): ...here. Call it for computed gotos.
792 (simple_goto_p): Minor tweak.
793 (tree_can_make_abnormal_goto): New predicate.
794 (tree_redirect_edge_and_branch): Return zero on all abnormal edges.
795 (tree_purge_dead_abnormal_call_edges): New function.
796 * tree-flow.h (tree_can_make_abnormal_goto): Declare.
797 (tree_purge_dead_abnormal_call_edges): Likewise.
798 (make_abnormal_goto_edges): Likewise.
799 * tree-inline.c (expand_call_inline): Simplify statement frobbing.
800 Purge all dead abnormal edges if the call was in the last statement.
801 * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
802 (execute_fixup_cfg): If there are non-local labels in the function,
803 scan the basic blocks and split them at calls that can go to non-local
804 labels or add missing abnormal call edges. Write down the CFG in the
806 (pass_fixup_cfg): Remove TODO_dump_func flag.
807 * unwind-sjlj.c: Poison setjmp.
808 * doc/install.texi (enable-sjlj-exceptions): Use more general wording.
809 * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
810 (TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
811 (DONT_USE_BUILTIN_SETJMP): Document it.
813 2006-09-28 Geoffrey Keating <geoffk@apple.com>
816 * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
817 to 1 when __ppc64__ is defined.
818 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
820 * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
822 2006-09-28 Steve Ellcey <sje@cup.hp.com>
824 * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
825 * config/ia64/unwind-hpux.c: Delete.
827 2006-09-28 Eric Botcazou <ebotcazou@adacore.com>
829 * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
830 on the element before gimplifying it, instead of punting if it is of
833 2006-09-28 Zdenek Dvorak <dvorakz@suse.cz>
835 * doc/loop.texi: New file.
836 * doc/gccint.texi: Reference loop.texi.
837 * Makefile.in (loop.texi): Add.
839 2006-09-27 Geoffrey Keating <geoffk@apple.com>
841 * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
843 * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
844 * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
846 2006-09-28 Kaz Kojima <kkojima@gcc.gnu.org>
848 * config/sh/sh.md (divsi_inv_m0): Remove unused variable.
850 2006-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
852 * doc/install.texi: Document required versions of GMP and MPFR.
854 2006-09-27 Paul Brook <paul@codesourcery.com>
857 * config/arm/arm.md (arith_adjacentmem): Handle large offsets.
859 2006-09-27 Richard Sandiford <richard@codesourcery.com>
861 * reload1.c (alter_reg): Require the alignment of the stack slot to
862 be at least reg_max_ref_width bytes.
863 (scan_paradoxical_subregs): Record the largest width in
866 2006-09-26 Jakub Jelinek <jakub@redhat.com>
870 * tree-nested.c (struct nesting_info): Added static_chain_added.
871 (convert_call_expr): Set static_chain_added when adding static
872 chain. Handle OMP_PARALLEL and OMP_SECTION.
874 2006-09-25 Matthias Klose <doko@debian.org>
876 * doc/invoke.texi: Add missing full stop.
878 2006-09-25 Richard Henderson <rth@redhat.com>
880 * cgraph.c (dump_cgraph_varpool_node): Don't crash if called
881 before cgraph_function_flags_ready.
883 2006-09-24 Zdenek Dvorak <dvorakz@suse.cz>
884 Adam Nemet <anemet@caviumnetworks.com>
886 * tree-ssa-loop-ivopts.c (aff_combination_convert,
887 determine_common_wider_type): New functions.
888 (get_computation_aff): Use them to simplify arithmetic between
889 UBASE and CBASE if they are shortened from the same type.
891 2006-09-24 Kazu Hirata <kazu@codesourcery.com>
894 * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
895 -2147483647 - 1 instead of 0x80000000.
897 2006-09-23 Revital1 Eres <ERES@il.ibm.com>
899 * flags.h (HONOR_NANS): Fix typo in comment.
901 2006-09-23 Uros Bizjak <uros@kss-loka.si>
903 * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
905 2006-09-23 Jakub Jelinek <jakub@redhat.com>
909 * tree.c (merge_attributes, attribute_list_contained): If both
910 TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
912 * c-typeck.c (comptypes_internal): Don't consider aggregates
913 in different TUs as compatible if there one set of attributes is
914 not a subset of the other type's attributes.
915 (composite_type): Try harder not to create a new aggregate type.
917 2006-09-22 Geoffrey Keating <geoffk@apple.com>
919 * config/i386/driver-i386.c: Always define host_detect_local_cpu.
920 * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
921 or x86_64 host. Define HAVE_LOCAL_CPU_DETECT.
922 (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
923 than replicating condition above.
924 * config.host (i[34567]86-*-*): Always use driver-i386.o.
926 * config/darwin.h (LINK_SYSROOT_SPEC): New.
927 (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
928 the linker by default.
930 2006-09-22 Mike Stump <mrs@apple.com>
932 * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
935 2006-09-22 Richard Guenther <rguenther@suse.de>
938 * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
939 sort of stack variables stable.
941 2006-09-22 Peter Bergner <bergner@vnet.ibm.com>
944 * explow.c (force_reg): Set REG_POINTER flag according to
947 2006-09-22 Zdenek Dvorak <dvorakz@suse.cz>
949 PR tree-optimization/28888
950 * tree-if-conv.c (combine_blocks): Rewritten.
951 * tree-cfg.c (tree_verify_flow_info): Check that edges with
952 EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
954 2006-09-22 Jakub Jelinek <jakub@redhat.com>
956 * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
959 2006-09-21 Richard Sandiford <richard@codesourcery.com>
961 * varasm.c (copy_constant): Fix reversed gcc_assert check.
963 2006-09-21 Janis Johnson <janis187@us.ibm.com>
965 * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
967 2006-09-21 Roger Sayle <roger@eyesopen.com>
970 * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
971 dw_fde_current_label, to be the start of the function, i.e. the same
972 value as dw_fde_begin.
974 2006-09-20 Richard Sandiford <richard@codesourcery.com>
976 * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
977 * config/mips/mips.md (UNSPEC_ABS_PS): New constant.
978 (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
979 (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
980 (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
981 (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
982 (abs<mode>2, neg<mode>2): Likewise.
983 * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
984 (*mips_abs_ps): New define_insn.
986 2006-09-20 Josh Conner <jconner@apple.com>
989 * calls.c (expand_call): Allow reuse of structure return stack
992 2006-09-20 Paul Brook <paul@codesourcery.com>
994 * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
997 2006-09-20 Janis Johnson <janis187@us.ibm.com>
999 * doc/extend.texi (Decimal Float): Update for latest draft TR,
1000 clean up terminology.
1002 2006-09-20 Steve Ellcey <sje@cup.hp.com>
1005 * ifcvt.c (dead_or_predicable): Don't predicate then blocks
1006 with tablejumps in them.
1008 2006-09-20 Jakub Jelinek <jakub@redhat.com>
1011 * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
1012 wrap it into TARGET_EXPR.
1014 2006-09-20 Eric Christopher <echristo@apple.com>
1016 * config/i386/i386.c (x86_fisttp): Remove.
1017 * config/i386/i386.h (x86_fisttp): Ditto.
1018 (TARGET_FISTTP): Ditto.
1020 2006-09-19 Eric Christopher <echristo@apple.com>
1022 * doc/tm.texi (OBJC_JBLEN): Describe.
1023 * config/i386/darwin.h (OBJC_JBLEN): Define.
1024 * config/rs6000/darwin.h: Ditto.
1026 2006-09-19 Steven Bosscher <steven@gcc.gnu.org>
1028 PR rtl-optimization/21299
1029 * reload1.c (reload): Purge invalid ASMs in the final pass.
1031 2006-09-19 Steve Ellcey <sje@cup.hp.com>
1034 * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
1035 pointers as legitimate constants.
1037 2006-09-19 Paul Brook <paul@codesourcery.com>
1040 * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
1042 2006-09-17 Zdenek Dvorak <dvorakz@suse.cz>
1044 PR tree-optimization/28887
1045 * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
1046 component parts from the reference.
1047 (gather_memory_references_ref): Record the reference without the
1048 nonaddressable component parts.
1050 2006-09-17 Steven Bosscher <steven@gcc.gnu.org>
1053 * c-opts.c (c_common_handle_option): Ignore the -std options
1054 if the input language is assembly.
1056 2006-09-17 Ira Rosen <irar@il.ibm.com>
1059 * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
1061 (ptr_ptr_may_alias_p): Likewise.
1062 (record_record_differ_p): New function.
1063 (base_object_differ_p): Call record_record_differ_p.
1065 2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
1068 * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
1069 away for the expr argument.
1071 2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
1074 * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
1075 before using it for dumping after vectorizing loops.
1077 2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
1078 Jack Howarth <howarth@bromo.med.uc.edu>
1081 * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
1082 skip on error_mark_node.
1083 (rs6000_darwin64_record_arg_recurse): Likewise.
1085 2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
1087 * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
1088 * doc/rtl.texi: Remove related documentation.
1090 2006-09-16 Bernd Schmidt <bernd.schmidt@analog.com>
1092 * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
1095 2006-09-15 Jim Wilson <wilson@specifix.com>
1097 * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
1098 Handle symbol offsets same as they are handled in ia64_expand_move
1101 2006-09-16 Andreas Tobler <a.tobler@schweiz.org>
1103 * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
1104 Add forgotten parameter to the fprintf call.
1106 2006-09-15 Steve Ellcey <sje@cup.hp.com>
1108 * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
1110 2006-09-15 Uros Bizjak <uros@kss-loka.si>
1112 * doc/contrib.texi: Add my entry.
1114 2006-09-15 Nick Clifton <nickc@redhat.com>
1116 * doc/md.texi (Processor pipeline description): Fix typo in
1117 example of how to use the absence_set directive and reword the
1118 description to make it slightly easier to read.
1120 2006-09-15 Bernd Schmidt <bernd.schmidt@analog.com>
1122 * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
1123 * loop-doloop.c (doloop_optimize): Use it to limit costs of
1124 expanding the number of iterations.
1125 * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
1127 * cfgrtl.c (emit_insn_at_entry): New function.
1128 * rtl.h (emit_insn_at_entry): Declare it.
1129 * integrate.c (emit_initial_value_sets): Use it.
1131 * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
1133 * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
1135 (struct loop_work and related VEC declarations): Delete.
1136 (bfin_dump_loops): Print out new member bad.
1137 (bfin_bb_in_loop): Use plain bitmap test. Don't recurse.
1138 (bfin_scan_loop): Don't recurse.
1139 (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
1140 loops. No longer need to update outer loops if the current one is
1141 found bad. Move some validitiy checks to bfin_discover_loop.
1142 (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
1143 but changed not to check for nesting. Also changed to use the new bad
1145 (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
1146 time. Use bitmap based test to discover loop nesting.
1148 2006-09-15 Kazu Hirata <kazu@codesourcery.com>
1150 * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
1153 2006-09-14 Richard Guenther <rguenther@suse.de>
1154 Kazu Hirata <kazu@codesourcery.com>
1156 PR middle-end/28884.
1157 * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
1158 (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
1159 Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
1160 with TARGET_FUNCTION_VALUE.
1162 2006-09-14 Anatoly Sokolov <aesok@post.ru>
1165 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
1167 2006-09-13 Aldy Hernandez <aldyh@redhat.com>
1169 * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
1172 2006-09-13 Andrew Pinski <pinskia@physics.uc.edu>
1175 * dwarf2out.c (loc_descriptor_from_tree_1): Handle
1178 2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
1180 * basic_block.h (bb_has_eh_pred): Fix comment.
1182 2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
1184 * flow.c (calculate_global_regs_live): Invalidate eh registers
1185 on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
1186 (propagate_block): Handle eh registers as if they were set at basic
1188 * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
1190 * global.c (global_conflicts): Make eh registers to conflict with
1191 pseudos live at basic block begin.
1192 * basic_block.h (bb_has_eh_pred): New function.
1194 2006-09-13 Richard Sandiford <richard@codesourcery.com>
1196 PR rtl-optimization/28982
1197 * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
1198 index of a PRE_MODIFY or POST_MODIFY address.
1199 * reload1.c (inc_for_reload): Use find_replacement on the original
1200 base and index registers.
1202 2006-09-12 H.J. Lu <hongjiu.lu@intel.com>
1204 * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
1205 for -Os. Update __m128 alignment requirement.
1207 2006-09-13 Jan Hubicka <jh@suse.cz>
1209 * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
1211 2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
1213 PR rtl-optimization/28243
1214 * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
1215 the insn to which the note was originally attached.
1217 2006-09-12 Andrew Pinski <pinskia@physics.uc.edu>
1218 Roger Sayle <roger@eyesopen.com>
1220 * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
1221 outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
1222 on platforms that don't use dwarf for debug info.
1224 2006-09-12 Jason Merrill <jason@redhat.com>
1227 * builtins.c (expand_builtin_setjmp_receiver): Clobber
1228 hard_frame_pointer_rtx after using it to update the frame pointer.
1230 2006-09-12 Roger Sayle <roger@eyesopen.com>
1232 * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
1233 (TARGET_ASM_CLOSE_PAREN): Likewise.
1234 * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
1235 (TARGET_ASM_CLOSE_PAREN): Likewise.
1237 2006-09-12 Roger Sayle <roger@eyesopen.com>
1240 * config/alpha/alpha.c (alpha_start_function): Don't emit stack
1241 frame information for frames larger than 512 Kbytes on Tru64 when
1242 using the native assembler.
1244 2006-09-12 Roger Sayle <roger@eyesopen.com>
1248 * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
1249 and symbols. Instead use the implementation from cse.c's hash_rtx.
1251 2006-09-12 Jan Hubicka <jh@suse.cz>
1253 PR rtl-optimization/28071
1254 * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
1255 (vect_transform_loop): Likewise.
1256 * tree-vectorizer.c (new_loop_vec_info): Likewise.
1257 (new_loop_vec_info): Likewise.
1258 (destroy_loop_vec_info): Likewise.
1259 * tree-dfa.c (create_var_ann): Use GCC_CNEW.
1260 (create_stmt_ann): Likewise.
1261 (create_tree_ann): Rename to ...
1262 (create_tree_common_ann): ... this one; allocate only the common part
1264 * tree-vn.c (set_value_handle): Use get_tree_common_ann.
1265 (get_value_handle): Likewise.
1266 * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
1267 get_tree_common_ann.
1268 * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
1269 (vinfo_for_stmt): Use stmt annotations.
1270 * tree-flow.h (tree_ann_common_t): New type.
1271 (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
1272 (tree_ann, get_tree_ann, create_tree_ann): New.
1273 * tree-flow-inline.h (get_function_ann): Do more type checking.
1274 (stmt_ann): Likewise.
1275 (tree_ann): Rename to ...
1276 (tree_common_ann): ... this one; return ony common_ann
1277 (get_tree_ann): Rename to ...
1278 (tree_common_ann): This one; return only common_ann.
1279 * tree-vect-patterns.c (vect_pattern_recog_1): Update call
1282 2006-09-11 Geoffrey Keating <geoffk@apple.com>
1284 * config.gcc (i[34567]86-*-darwin*): Set with_arch and
1285 with_cpu by default.
1287 * dwarf2out.c (dwarf_file_data): New.
1288 (enum dw_val_class): Add dw_val_class_file.
1289 (struct dw_val_struct): Add val_file.
1290 (file_table): Change to a hash table.
1291 (file_table_emitted): Delete.
1292 (file_table_last_lookup_index): Delete.
1293 (emitcount): Delete.
1294 (last_emitted_file): New.
1295 (lookup_filename): Change prototype to return a struct dwarf_file_data.
1296 (init_file_table): Delete.
1297 (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
1298 (AT_addr): Add comment.
1302 (print_die): Handle dw_val_class_file.
1303 (print_dwarf_line_table): Update for new file table structure.
1304 (attr_checksum): Do checksum a filename.
1305 (same_dw_val_p, same_attr_p): Do compare a filename.
1306 (size_of_die): Handle dw_val_class_file.
1307 (value_format): Likewise.
1308 (output_die): Likewise. Also, call maybe_emit_file here.
1309 (struct file_info): Constify filenames. Make file_idx a pointer
1310 to a struct dwarf_file_data.
1311 (struct dir_info): Constify directory names. Remove 'used' field.
1312 (struct file_name_acquire_data): New.
1313 (file_name_acquire): New.
1314 (output_file_names): Modify to handle new file data structures.
1315 (add_src_coords_attributes): Use add_AT_file.
1316 (add_call_src_coords_attributes): Likewise.
1317 (dwarf2out_imported_module_or_decl): Likewise.
1318 (gen_subprogram_die): Modify for new file data structures.
1319 (gen_variable_die): Likewise.
1320 (file_table_eq): New.
1321 (file_table_hash): New.
1322 (file_table_last_lookup): New.
1323 (lookup_filename): Rewrite to handle new file data structures.
1324 (maybe_emit_file): Rewrite to handle new file data structures.
1325 (dwarf2out_source_line): Always call lookup_filename and
1327 (dwarf2out_init): Create file_table here.
1328 (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
1329 (file_table_relative_p): New.
1330 (dwarf2out_finish): Change detection of relative filenames
1331 to work with new file data structures. Move output_line_info call
1332 after debug_info output.
1334 2006-09-11 H.J. Lu <hongjiu.lu@intel.com>
1339 * config/i386/i386.c (override_options): Always default to 16
1340 byte stack boundary.
1342 2006-09-11 Alexandre Oliva <aoliva@redhat.com>
1345 * var-tracking.c (dump_dataflow_set): Start dumping at
1347 (clobber_variable_part): Kill only the variable part in
1348 registers holding it, leaving other variables alone.
1350 2006-09-11 Josh Triplett <josh@freedesktop.org>
1352 * doc/extend.texi (Other Builtins): Actually use the macro
1353 argument in the documentation example for
1354 __builtin_types_compatible_p.
1356 2006-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
1358 PR rtl-optimization/28726
1359 * sched-deps.c (sched_analyze_reg): New function extracted from...
1360 (sched_analyze_1): ...here. Call it to analyze references to
1361 registers. Treat again writes to a stack register as writing to the
1363 (sched_analyze_2): ...and here. Call it to analyze references to
1364 registers. Treat again reads of a stack register as reading the
1367 2006-09-11 Guenter Roeck <guenter@roeck-us.net>
1368 David Edelsohn <edelsohn@gnu.org>
1371 * config/rs6000/spe.md (frob_df_di): Remove %H.
1372 (frob_di_df): Remove %H. Change evmergelo to mr.
1373 (frob_di_df_2): Remove %H. Change evldd to two loads.
1375 2006-09-11 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp>
1377 * doc/cpp.texi: Fix names of charset options.
1379 2006-09-10 Andrew Pinski <pinskia@physics.uc.edu>
1382 * config/i386/i386.c (override_options): Use 128-bit
1383 stack boundary always for 64bits.
1385 2006-09-10 Eric Botcazou <ebotcazou@libertysurf.fr>
1387 PR rtl-optimization/28636
1388 * combine.c (force_to_mode): Test for side-effects before
1389 substituting by zero.
1390 (simplify_shift_const): Likewise for zero or other constants.
1392 2006-09-10 Steven Bosscher <steven@gcc.gnu.org>
1395 * builtins.c (expand_builtin_setjmp): Force next_lab to be
1398 2006-09-10 Richard Sandiford <richard@codesourcery.com>
1401 * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
1402 * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
1403 returned by mode_for_size, rather than the mode of src itself,
1404 to choose between 32-bit and 64-bit patterns.
1405 (mips_mem_fits_mode_p): New function.
1406 * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
1407 that the size of the source matches the size of the destination.
1408 (mov_<store>l, mov_<store>r): Likewise.
1410 2006-09-10 Eric Christopher <echristo@apple.com>
1412 * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
1415 2006-09-09 Eric Christopher <echristo@apple.com>
1418 * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
1421 2006-09-09 Roger Sayle <roger@eyesopen.com>
1422 Nicolas Setton <setton@adacore.com>
1424 * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
1426 2006-09-10 Andreas Schwab <schwab@suse.de>
1428 * config/m68k/m68k.md (bungt_rev): New pattern.
1430 2006-09-09 Paolo Bonzini <bonzini@gnu.org>
1431 Dale Johannesen <dalej@apple.com>
1434 * regclass.c (struct reg_pref): Update documentation.
1435 (regclass): Set prefclass to NO_REGS if memory is the best option.
1436 (record_reg_classes): Cope with a prefclass set to NO_REGS.
1438 2006-09-08 Eric Christopher <echristo@apple.com>
1440 * config.gcc (i?86-*-darwin): Add 64-bit HWI support.
1441 * config/t-slibgcc-darwin: Support x86_64 multilib.
1442 * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
1443 Return 1 for x86_64-darwin.
1444 * config/i386/t-darwin: Add m64 multilib.
1445 (LIB2_SIDITI_CONV_FUNCS): Use.
1446 (LIB2FUNCS_EXTRA): Ditto.
1447 * config/i386/darwin.h: Support x86_64.
1448 * config/i386/i386.c (override_options): Turn on flag_pic
1449 for x86_64-darwin. Disable flag_omit_pointer.
1450 (get_pc_thunk_name): Assert !TARGET_64BIT.
1451 (legitimate_address_p): Disable machopic addressing for
1453 (legitimize_pic_address): Ditto.
1454 (ix86_expand_move): Ditto.
1455 (ix86_expand_call): Ditto.
1456 (machopic_output_stub): Ditto.
1457 * config/darwin.c (machopic_select_section): Support literal16.
1458 (machopic_select_rtx_section): Ditto.
1459 * config/darwin-sections.def: Ditto.
1460 * config/darwin-64.c: New.
1462 2006-09-08 Joseph S. Myers <joseph@codesourcery.com>
1465 * c-tree.h (struct c_arg_info): Add pending_sizes.
1466 * c-parser.c (c_parser_parms_declarator,
1467 c_parser_parms_list_declarator): Initialize pending_sizes.
1468 * c-decl.c (get_parm_info): Initialize pending_sizes.
1469 (get_parm_info): Set pending_sizes.
1470 (grokdeclarator): Call put_pending_sizes for parameters for
1471 function definition only.
1473 2006-09-07 Jason Merrill <jason@redhat.com>
1476 * varasm.c (output_constant): Only strip actual no-op conversions.
1479 * config/i386/i386.c (override_options): Use 128-bit
1480 stack boundary if -msse.
1482 2006-09-07 Eric Christopher <echristo@apple.com>
1484 * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
1486 * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
1489 2006-09-07 Geoffrey Keating <geoffk@apple.com>
1491 * dwarf2out.c: Remove strange characters from comment above
1492 dwarf2out_frame_debug_expr.
1494 2006-09-07 Eric Christopher <echristo@apple.com>
1496 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
1497 * config/darwin.h: ... to here.
1499 2006-09-07 H.J. Lu <hongjiu.lu@intel.com>
1501 * config/i386/i386.c (x86_partial_flag_reg_stall): New.
1503 * config/i386/i386.h (x86_partial_flag_reg_stall): New.
1504 (TARGET_PARTIAL_FLAG_REG_STALL): New.
1506 * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
1507 TARGET_PARTIAL_FLAG_REG_STALL.
1508 (*ashldi3_cconly_rex64): Likewise.
1509 (*ashlsi3_cmp): Likewise.
1510 (*ashlsi3_cconly): Likewise.
1511 (*ashlsi3_cmp_zext): Likewise.
1512 (*ashlhi3_cmp): Likewise.
1513 (*ashlhi3_cconly): Likewise.
1514 (*ashlqi3_cmp): Likewise.
1515 (*ashlqi3_cconly): Likewise.
1516 (*ashrdi3_cmp_rex64): Likewise.
1517 (*ashrdi3_cconly_rex64): Likewise.
1518 (*ashrsi3_cmp): Likewise.
1519 (*ashrsi3_cconly): Likewise.
1520 (*ashrsi3_cmp_zext): Likewise.
1521 (*ashrhi3_cmp): Likewise.
1522 (*ashrhi3_cconly): Likewise.
1523 (*ashrqi3_cmp): Likewise.
1524 (*ashrqi3_cconly): Likewise.
1525 (*lshrdi3_cmp_rex64): Likewise.
1526 (*lshrdi3_cconly_rex64): Likewise.
1527 (*lshrsi3_cmp): Likewise.
1528 (*lshrsi3_cconly): Likewise.
1529 (*lshrsi3_cmp_zext): Likewise.
1530 (*lshrhi3_cmp): Likewise.
1531 (*lshrhi3_cconly): Likewise.
1532 (*lshrqi2_cmp): Likewise.
1533 (*lshrqi2_cconly): Likewise.
1535 2006-09-07 Uros Bizjak <uros@kss-loka.si>
1538 * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
1539 "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
1540 "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
1541 "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
1542 "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
1543 "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
1544 "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
1545 "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
1546 "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
1547 implement only CC setting effects of shift instructions.
1549 2006-09-07 Martin Michlmayr <tbm@cyrius.com>
1551 * doc/contrib.texi: Add myself.
1553 2006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
1556 * stor-layout.c (relayout_decl): Don't zero the alignment if it
1557 was set by the user.
1559 2006-09-07 Paolo Bonzini <bonzini@gnu.org>
1562 * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
1563 (divsi_inv_m1): Use them.
1564 (UNSPEC_DIV_INV_TABLE): New constant.
1566 2006-09-06 James E Wilson <wilson@specifix.com>
1569 * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
1570 then call count_or_remove_death_notes.
1572 2006-09-06 Jason Merrill <jason@redhat.com>
1575 * tree-inline.c (copy_result_decl_to_var): New fn.
1576 (declare_return_variable): Use it. Call declare_inline_vars here.
1577 (expand_call_inline): Not here.
1579 2006-09-06 Diego Novillo <dnovillo@redhat.com>
1581 * doc/contrib.texi: Update my entry.
1583 2006-09-06 Nick Clifton <nickc@redhat.com>
1585 * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
1587 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
1590 * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
1591 (canonicalize_induction_variables): Likewise.
1592 (tree_unroll_loops_completely): Likewise.
1593 (tree_ssa_prefetch_arrays): Likewise.
1594 (remove_empty_loops): Likewise.
1595 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
1596 TODO_cleanup_cfg instead of directly calling
1597 cleanup_tree_cfg_loop.
1598 * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
1600 (tree_unroll_loops_completely): Likewise.
1601 (remove_empty_loops): Likewise.
1602 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
1603 * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
1604 of tree_ssa_unswitch_loops.
1605 (tree_ssa_loop_ivcanon): Use the return value of
1606 canonicalize_induction_variables.
1607 (tree_ssa_empty_loop): Use the return value of
1609 (tree_complete_unroll): Use the return value of
1610 tree_unroll_loops_completely.
1611 (tree_ssa_loop_prefetch): Use the return value of
1612 tree_ssa_prefetch_arrays.
1613 * passes.c (execute_todo): Before Cleanup CFG, set
1614 updating_used_alone and after cleanup CFG, call
1615 recalculate_used_alone.
1617 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
1620 * tree-vect-transform.c (vectorizable_condition): Move the check
1621 for the type after the check for simple condition.
1623 2006-09-05 J"orn Rennecke <joern.rennecke@st.com>
1624 Kaz Kojima <kkojima@gcc.gnu.org>
1627 * mode-switching.c (optimize_mode_switching): Make the destination
1628 block of an abnormal edge have no anticipatable mode. Don't
1629 insert mode switching code at the end of the source block of
1632 2006-09-05 Paolo Bonzini <bonzini@gnu.org>
1634 PR rtl-optimization/26847
1635 * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
1636 (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
1637 (simplify_plus_minus): Count n_constants while filling ops. Replace
1638 qsort with insertion sort. Before going through the array to simplify
1639 pairs, sort it. Delay early exit until after the first sort, exiting
1640 only if no swaps occurred. Simplify pairs in reversed order, without
1641 special-casing the first iteration. Pack ops after simplifying pairs.
1643 2006-09-05 Anatoly Sokolov <aesok@post.ru>
1645 * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
1646 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1647 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1648 (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
1650 2006-09-05 Richard Guenther <rguenther@suse.de>
1652 PR tree-optimization/28900
1653 * tree-if-conv.c (find_phi_replacement_condition): Gimplify
1654 compound conditional before creating COND_EXPR condition.
1656 2006-09-05 Richard Guenther <rguenther@suse.de>
1658 PR tree-optimization/28905
1659 * tree-vrp.c (fix_equivalence_set): Manually implement
1660 !value_ranges_intersect_p to also handle symbolic ranges.
1662 2006-09-05 Richard Guenther <rguenther@suse.de>
1665 * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
1668 2006-09-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1670 PR rtl-optimization/27616
1671 * cse.c (table_size): New static variable.
1672 (new_basic_block): Initialize it to 0.
1673 (remove_from_table): Decrement it.
1674 (insert): Increment it.
1675 (fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
1676 (fold_rtx_mem): Enforce a cap on the recursion depth. Call
1677 fold_rtx_mem_1 if under the cap.
1678 (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
1679 the lookup of the equivalent expression and test for equality of the
1680 first operand of the equivalent expression before in turn looking up
1681 an equivalent constant for the second operand.
1683 2006-09-02 Geoffrey Keating <geoffk@apple.com>
1686 2006-03-17 Alexandre Oliva <aoliva@redhat.com>
1687 * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
1688 pointer, instead of assuming it is possible to derive the
1689 correct args size from a call insn.
1691 2006-09-02 Jakub Jelinek <jakub@redhat.com>
1694 * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
1695 (fold_builtin_mempcpy): Rename to...
1696 (fold_builtin_memory_op): ... this. Optimize one element copy
1698 (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
1700 (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
1701 (expand_builtin_memcpy, expand_builtin_mempcpy,
1702 expand_builtin_memmove): Likewise. Use fold_builtin_memory_op.
1703 (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
1704 BUILT_IN_BCOPY. Use fold_builtin_memory_op for
1705 BUILT_IN_MEM{CPY,PCPY,MOVE}.
1707 2006-09-01 DJ Delorie <dj@redhat.com>
1709 * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
1710 (stzx_16): Likewise.
1711 ("stzx_24_<mode>"): Likewise.
1712 ("stzx_reversed_<mode>"): Likewise, and make mode-specific.
1713 ("cmp<mode>_op"): New.
1714 (cmp<mode>): Change to expander; just save operands.
1716 (b<code>): Change to expander, emit compare here.
1717 (s<code>_op): Change to use split and expander.
1718 (s<code>_24_op): Likewise.
1719 (s<code>_<mode>): New.
1720 (s<code>_<mode>_24): New.
1721 (movqicc_<code>_<mode): New.
1722 (movhicc_<code>_<mode>): New.
1725 * config/m32c/m32c.c (compare_op0, compare_op1): New.
1726 (m32c_pend_compare): New.
1727 (m32c_unpend_compare): New.
1728 (m32c_expand_scc): New.
1729 (m32c_expand_movcc): Emit the compare also.
1730 * config/m32c/predicates.md (mra_nopp_operand): New.
1732 2006-09-01 J"orn Rennecke <joern.rennecke@st.com>
1733 Richard Guenther <rguenther@suse.de>
1734 Adam Nemet <anemet@caviumnetworks.com>
1737 * builtins.c (get_pointer_alignment): Handle more forms
1738 of base addresses that can be used to derive more precise
1739 information about alignment.
1741 2006-09-01 Jason Merrill <jason@redhat.com>
1744 * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle
1747 * gimplify.c (voidify_wrapper_expr): Handle null type.
1749 2006-09-01 Josh Conner <jconner@apple.com>
1752 * tree-nrv.c (dest_safe_for_nrv_p): New function.
1753 (execute_return_slot_opt): Use it.
1755 2006-08-31 Josh Conner <jconner@apple.com>
1758 * tree-gimple.c (is_gimple_mem_rhs): Recognize functions
1759 returning aggregates.
1761 2006-08-31 Zdenek Dvorak <dvorakz@suse.cz>
1763 PR tree-optimization/28839
1764 * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in
1765 blocks in that phi arguments appear.
1767 2006-08-31 Roger Sayle <roger@eyesopen.com>
1770 * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
1771 NULL, otherwise use an advance_loc4 to adjust relative to the
1773 (output_cfi) <DW_CFA_set_loc>: Update the current label.
1774 (dwarf2out_switch_text_section): Reset the current label to avoid
1775 using advance_loc4 over section boundaries.
1777 2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com>
1780 * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
1781 r12 + SYMBOLIC_CONST.
1783 2006-08-30 Richard Guenther <rguenther@suse.de>
1785 * Makefile.in (see.o): Add $(EXPR_H) dependency.
1787 2006-08-30 Zdenek Dvorak <dvorakz@suse.cz>
1789 PR rtl-optimization/27735
1790 * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
1791 Add new argument to keep track of whether an irreducible region
1792 was affected. All callers changed.
1793 (fix_irreducible_loops): Removed.
1794 (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
1795 flags were invalidated.
1797 2006-08-29 H.J. Lu <hongjiu.lu@intel.com>
1799 * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands
1800 instead of SF operands.
1801 (*fop_df_comm_sse): Likewise.
1802 (*fop_df_comm_i387): Likewise.
1803 (*fop_df_1_mixed): Likewise.
1804 (*fop_df_1_sse): Likewise.
1806 2006-08-29 Andrew Pinski <pinskia@physics.uc.edu>
1807 J"orn Rennecke <joern.rennecke@st.com>
1809 PR tree-optimization/17506
1810 * tree-ssa.c (warn_uninit): If warning about a location outside of
1811 the current function, note where the variable was declared.
1813 2006-08-28 Zdenek Dvorak <dvorakz@suse.cz>
1815 PR tree-optimization/28411
1816 * double-int.c (double_int_div): Use double_int_divmod.
1817 (double_int_divmod, double_int_sdivmod, double_int_udivmod,
1818 double_int_mod, double_int_smod, double_int_umod): New functions.
1819 * double-int.h (double_int_divmod, double_int_sdivmod,
1820 double_int_udivmod, double_int_mod, double_int_smod, double_int_umod):
1822 * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result
1824 (get_computation_aff, get_computation_cost_at): Handle double_int
1825 return type of constant_multiple_of.
1827 2006-08-28 Kazu Hirata <kazu@codesourcery.com>
1830 * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on
1831 an implicit conversion.
1833 2006-08-28 Prafulla Thakare <prafullat@kpitcummins.com>
1835 * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New.
1837 2006-08-27 Roger Sayle <roger@eyesopen.com>
1839 * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
1842 2006-08-27 Kazu Hirata <kazu@codesourcery.com>
1844 * config/i386/crtfastmath.c: Fix a comment typo.
1846 2006-08-26 Roger Sayle <roger@eyesopen.com>
1848 * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating
1849 temporary visit flags on CASE_LABEL_EXPRs.
1850 * c-common.c (match_case_to_enum): Add function comment. Avoid
1851 O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN.
1852 (c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and
1853 CASE_HIGH_SEEN for enumerated types. If the switch expression is
1854 a constant, only warn if that constant value isn't handled.
1856 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
1859 * input.h (restore_input_file_stack): Declare.
1860 (INPUT_FILE_STACK_BITS): Define.
1861 * toplev.c (fs_p, input_file_stack_history,
1862 input_file_stack_restored, restore_input_file_stack): New.
1863 (push_srcloc, pop_srcloc): Check for input_file_stack_tick
1864 overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack.
1865 (pop_srcloc): Don't free old state of stack.
1867 2006-08-26 David Edelsohn <edelsohn@gnu.org>
1870 * doc/extend.texi (PowerPC Variable Attributes): Mention altivec.
1871 (PowerPC Type Attributes): New.
1873 2006-08-26 Bob Wilson <bob.wilson@acm.org>
1875 * config/xtensa/xtensa.c (function_arg_boundary): New.
1876 (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to
1878 * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new
1879 function_arg_boundary function that limits alignment to STACK_BOUNDARY.
1881 2006-08-26 Jakub Jelinek <jakub@redhat.com>
1884 * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
1887 2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1889 * flow.c (verify_wide_reg): Use internal_error for consistency failure.
1890 (verify_local_live_at_start): Likewise.
1892 2006-08-25 Joseph S. Myers <joseph@codesourcery.com>
1895 * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval,
1896 omp_add_variable): Treat sizes as variable whenever not
1899 2006-08-26 Richard Guenther <rguenther@suse.de>
1902 * fold-const.c (fold_binary): Fold temporary to correct
1903 type before constructing new comparison.
1905 2006-08-25 Fariborz Jahanian <fjahanian@apple.com>
1908 * c-gimplify.c (gimplify_compound_literal_expr): Don't add
1909 variable again if DECL_SEEN_IN_BIND_EXPR_P.
1911 2006-08-25 Joseph S. Myers <joseph@codesourcery.com>
1914 * c-decl.c (start_function): Don't try to process prototype
1915 information from old declaration that isn't a function.
1917 2006-08-25 Jan Hubicka <jh@suse.cz>
1920 * config/i386/crtfastmath.c (set_fast_math): Force stack alignment.
1922 2006-08-25 Alan Modra <amodra@bigpond.net.au>
1925 * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
1928 2006-08-25 J"orn Rennecke <joern.rennecke@st.com>
1930 PR tree-optimization/16876
1931 * c-typeck.c (c_convert_parm_for_inlining): Don't take early
1932 exit if PARM doesn't match VALUE.
1934 2006-08-25 Bob Wilson <bob.wilson@acm.org>
1936 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a
1937 literal_prefix directive.
1938 (XTENSA_DECLARE_FUNCTION_SIZE): Delete.
1939 * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
1940 * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
1942 2006-08-25 David Edelsohn <edelsohn@gnu.org>
1945 * config/rs6000/rs6000.md (movcc_internal1): Change operand 1
1946 predicate to general_operand. Add 0->y and I->r alternatives.
1948 2006-08-25 Kazu Hirata <kazu@codesourcery.com>
1950 * doc/tm.texi: Fix a typo.
1951 * predict.c: Fix comment typos.
1953 2006-08-25 Nick Clifton <nickc@redhat.com>
1955 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
1956 assertions of "cpu" and "machine".
1958 2006-08-24 Andrew Pinski <pinskia@physics.uc.edu>
1961 * tree-ssa-operands.c (access_can_touch_variable): Don't say
1962 the access through a base which has an alias set of 0 cannot
1965 2006-08-24 Bill Wendling <wendling@apple.com>
1967 * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
1969 2006-08-24 Jan Hubicka <jh@suse.cz>
1971 * reload1.c (emit_reload_insns): Fix yet another typo in my patch.
1973 2006-08-24 Jan Hubicka <jh@suse.cz>
1976 * cgraph.c: Fix comments.
1977 (cgraph_varpool_mark_needed_node): Mark only variables not already
1979 * cgraphunit.c: Update comments; include gt-cgraphunit.h
1980 (cgraph_varpool_assembled_nodes_queue): New static variable.
1981 (cgraph_varpool_assemble_decl): Record output decls for debug out code.
1982 (cgraph_varpool_output_debug_info): New function.
1983 (cgraph_finalize_compilation_unit, cgraph_optimize): Call it.
1984 * Makefile.in: Add gt-cgraphunit.h
1986 2006-08-24 Jan Hubicka <jh@suse.cz>
1988 * predict.c (probability_reliable_p): New predicate.
1989 (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise.
1990 (predict_loops): Do not predict loop exit with less than 2%
1992 * basic-block.h (edge_probability_reliable_p,
1993 br_prob_note_reliable_p): Declare.
1994 * ia64.h (ia64_print_operand): Do not disable on-chip branch
1995 prediction when static predictor is not reliable.
1996 * rs6000.c (output_cbranch): Likewise.
1998 2006-08-23 Stuart Hastings <stuart@apple.com>
2001 * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate,
2002 ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test.
2004 2006-08-21 Geoffrey Keating <geoffk@apple.com>
2007 * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for
2008 complex values, nor for generic vector values.
2010 2006-08-22 Richard Guenther <rguenther@suse.de>
2013 * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt
2014 parameter. Convert arguments to arithmetic expression to the
2016 (analyze_scalar_evolution_1): Adjust caller.
2018 2006-08-22 Jan Hubicka <jh@suse.cz>
2020 Patch by Paolo Bonzini
2021 * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by
2024 2006-08-22 Daniel Berlin <dberlin@dberlin.org>
2026 PR tree-optimization/28003
2027 * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered
2028 before grouping aliases.
2030 2006-08-22 Roger Sayle <roger@eyesopen.com>
2032 * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG
2033 if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE.
2035 2006-08-21 Jason Merrill <jason@redhat.com>
2038 * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a
2039 wrapper. Loop to handle nested wrappers.
2040 (gimplify_bind_expr): Remove temp parameter.
2041 (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR
2042 and STATEMENT_LIST on the rhs.
2043 (gimplify_statement_list): Voidify the STATEMENT_LIST.
2044 (gimplify_expr): Pass pre_p to gimplify_statement_list.
2045 (gimplify_target_expr): Remove special BIND_EXPR handling.
2047 2006-08-21 J"orn Rennecke <joern.rennecke@st.com>
2049 * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with
2052 2006-08-21 Olivier Hainque <hainque@adacore.com>
2054 * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>:
2055 Arrange for the temporary captures of components overlapping the lhs
2056 to happen before the lhs is possibly cleared.
2058 2006-08-21 Mark Shinwell <shinwell@codesourcery.com>
2060 * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in
2061 necessary places to pass the correct "number of registers" values
2064 2006-08-20 Jan Hubicka <jh@suse.cz>
2066 * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function.
2067 (create_name_tags): Instead of quadratic checking use hashtable.
2068 * bitmap.h: Include hashtab.h.
2069 (bitmap_hash): Declare.
2070 * bitmap.c (bitmap_hash): New function.
2072 2006-08-20 Jan Hubicka <jh@suse.cz>
2074 PR rtl-optimization/28071
2075 * tree-optimize.c (tree_rest_of_compilation): Do not remove edges
2077 * tree-inline.c (copy_bb): Use cgraph_set_call_stmt.
2078 * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument.
2079 (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function,
2080 cgraph_decide_inlining_incrementally): Update use of
2081 cgraph_check_inline_limits.
2082 * cgraph.c (edge_hash, edge_eq): New function.
2083 (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge,
2084 cgraph_edge_remove_caller, cgraph_node_remove_callees,
2085 cgraph_remove_node): Maintain call site hash.
2086 * cgraph.h (struct cgraph_node): Add call_site_hash.
2087 (cgraph_set_call_stmt): New function.
2089 2006-08-20 Jan Hubicka <jh@suse.cz>
2091 PR rtl-optimization/28071
2092 * reload1.c (reg_has_output_reload): Turn into regset.
2093 (reload_as_needed, forget_old_reloads_1, forget_marked_reloads,
2094 choose_reload_regs, emit_reload_insns): Update to new
2095 reg_has_output_reload.
2097 2006-08-20 Jan Hubicka <jh@suse.cz>
2100 * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute
2101 function body sizes.
2102 * cgraphunit.c (cgraph_analyze_function): Don't do so.
2104 2006-08-20 Danny Smith <dannysmith@users.sourceforge.net>
2107 * tree.c (handle_dll_attribute): Return early if not a
2108 var or function decl.
2110 2006-08-18 Joseph Myers <joseph@codesourcery.com>
2113 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
2114 alignment of SPE vector types.
2116 2006-08-18 Christophe Jaillet <christophe.jaillet@wanadoo.fr>
2118 * tree.c (is_attribute_with_length_p): Remove a duplicated assert.
2120 2006-08-17 Jakub Jelinek <jakub@redhat.com>
2123 * cgraph.h (struct cgraph_node): Remove externally_visible
2125 * cgraphunit.c (process_function_and_variable_attributes): Set
2126 local.externally_visible rather than externally_visible.
2129 * c-common.c (handle_externally_visible_attribute): First look
2130 at TREE_CODE and only if it is function or var decl, check for
2131 non-public objects. Don't warn for DECL_EXTERNAL.
2132 * cgraphunit.c (process_function_and_variable_attributes): Warn
2133 if externally_visible attribute is used on non-public object.
2135 2006-08-17 Jan Hubicka <jh@suse.cz>
2137 PR tree-optimization/27865
2138 * reload1.c (forget_marked_reloads): New function.
2139 (forget_old_reloads_1): When data are passed, just mark the registers
2141 (reload_as_needed): Use the new mechanizm.
2143 2006-08-17 Alexandre Oliva <aoliva@redhat.com>
2146 * reload.h (reg_equiv_alt_mem_list): New declaration.
2147 * reload1.c (reg_equiv_alt_mem_list): New definition.
2148 (reload): Initialize it and release it.
2149 (delete_output_reload): Use it.
2150 * reload.c (push_reg_equiv_alt_mem): New function.
2151 (find_reloads_toplev): Call it.
2152 (find_reloads_address, find_reloads_address_1): Likewise.
2153 (find_reloads_subreg_address): Likewise.
2155 2006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
2157 PR rtl-optimization/28489
2158 * sched-ebb.c (begin_schedule_ready): Create basic block
2160 (advance_target_bb): Skip empty blocks.
2161 * haifa-sched.c (bb_note): Make global.
2162 * sched-int.h (bb_note): Add prototype.
2164 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
2166 PR tree-optimization/27865
2167 * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE
2169 * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p,
2170 fold_used_pointer, pointer_used_p): New functions.
2171 (analyze_scalar_evolution_1): Use fold_used_pointer.
2172 * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly.
2173 * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type
2176 2006-08-17 Paolo Bonzini <bonzini@gnu.org>
2179 * c-common.c (fold_offsetof_1): Add an argument and recurse down to it
2180 or the INTEGER_CST. Fail on a CALL_EXPR.
2181 (fold_offsetof): Pass new argument to fold_offsetof_1.
2182 * c-parser.c (c_parser_postfix_expression): Don't include a NULL
2183 operand into an INDIRECT_REF.
2184 * c-typeck.c (build_unary_op): Adjust call to fold_offsetof.
2186 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
2188 PR gcov/profile/26570
2189 * value-prof.c (static_values): Removed.
2190 (tree_find_values_to_profile): Do not set static_values.
2191 (find_values_to_profile): Do not free static_values.
2192 * profile.c (instrument_values): Do not free the values.
2193 (branch_prob): Free the values.
2195 2006-08-16 Naveen.H.S <naveenh@kpitcummins.com>
2197 * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest.
2199 2006-08-16 Joseph S. Myers <joseph@codesourcery.com>
2202 * c-typeck.c (build_component_ref): Combine qualifiers of
2203 structure or union and field.
2205 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
2207 PR rtl-optimization/28071
2208 * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare.
2209 * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions.
2210 * tree-into-ssa.c (struct dom_dfsnum): New.
2211 (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New
2213 (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of
2214 compute_global_livein.
2215 (prepare_block_for_update, prepare_use_sites_for): Mark the uses
2216 in phi nodes in the correct blocks.
2218 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
2220 PR tree-optimization/28364
2221 * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero
2223 (fold_affine_expr): New function.
2224 (may_eliminate_iv): Use fold_affine_expr.
2226 2006-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2229 * c-typeck.c (c_start_case): Handle invalid orig_type correctly.
2232 2006-08-16 Mike Stump <mrs@apple.com>
2234 * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref.
2235 * doc/cppopts.texi (-MD): Likewise.
2237 2006-08-15 Danny Smith <dannysmith@users.sourceforge.net>
2240 * c-common.c (handle_weak_attribute): Ignore and warn if
2241 not a FUNCTION_ or VAR_DECL.
2243 2006-07-15 Mike Stump <mrs@apple.com>
2246 * c-parser.c (c_parser_typeof_specifier): Don't use
2247 c_finish_expr_stmt, open code desired semantics instead.
2249 2006-08-15 Nick Clifton <nickc@redhat.com>
2251 * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile
2252 fragment to tmake_file only if threads are enabled.
2253 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to...
2254 * config/i386/t-gthr-win32: New file. ... here.
2256 2006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2259 * c-parser.c (c_parser_compound_statement_nostart): Reset
2260 parser->error after each statement.
2262 2006-08-15 Jakub Jelinek <jakub@redhat.com>
2265 * omp-low.c (lower_omp_parallel): Convert t to
2266 receiver_decl's type.
2267 (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR
2268 source before comparison.
2271 * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival
2272 to itype in assignment to oldival2.
2274 2006-07-14 Andrew Pinski <pinksia@physics.uc.edu>
2278 * c-typeck.c (build_compound_expr): If the second expression
2279 is an error mark, then just return an error mark instead of
2280 creating a COMPOUND_EXPR.
2282 2006-07-14 Mike Stump <mrs@apple.com>
2284 * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES.
2286 2006-08-14 Kazu Hirata <kazu@codesourcery.com>
2288 * c-decl.c, var-tracking.c: Fix comment typos.
2290 2006-08-14 Richard Sandiford <richard@codesourcery.com>
2292 PR rtl-optimization/28634
2293 * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A
2294 for floating-point modes unless flag_unsafe_math_optimizations.
2296 2006-08-13 Alexandre Oliva <aoliva@redhat.com>
2297 Andrew Pinski <pinskia@physics.uc.edu>
2300 * tree.c (build_array_type): Unify array types with
2301 unspecified index_type.
2302 * c-decl.c (grokdeclarator): Make sure we do not modify a
2303 unified incomplete array type.
2304 * c-typeck.c (store_init_value): Create distinct type before
2305 filling in the index type in an initializer from a compound
2308 * c-decl.c (grokdeclarator): Remove code where we copy the
2311 2006-08-13 Andrew Pinski <pinskia@physics.uc.edu>
2313 * tree-pass.h (TODO_update_ssa): Fix which bit is used to take
2314 into account for TODO_dump_cgraph.
2315 (TODO_update_ssa_no_phi): Likewise.
2316 (TODO_update_ssa_full_phi): Likewise.
2317 (TODO_update_ssa_only_virtuals): Likewise.
2318 (TODO_remove_unused_locals): Likewise.
2319 (TODO_set_props): Likewise.
2320 (TODO_update_stmt_usage): Likewise.
2322 2006-08-13 Dirk Mueller <dmueller@suse.de>
2324 * c-common.c (strict_aliasing_warning): Fix formatting.
2326 2006-08-13 Matthias Klose <doko@debian.org>
2328 * doc/invoke.texi: Fix spelling errors.
2330 2006-08-11 Eric Botcazou <ebotcazou@libertysurf.fr>
2332 PR rtl-optimization/23454
2333 * reorg.c (relax_delay_slots): Update comment.
2335 2006-08-11 Richard Guenther <rguenther@suse.de>
2338 * simplify-rtx.c (simplify_const_relational_operation):
2339 Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison
2342 2006-08-10 Eric Botcazou <ebotcazou@adacore.com>
2344 * tree.c (build1_stat): Also propagate the TREE_CONSTANT and
2345 TREE_INVARIANT flags for a VIEW_CONVERT_EXPR.
2347 2006-08-10 Paul Brook <paul@codesourcery.com>
2349 * final.c (final_scan_insn): Clear current_insn_predicate before
2350 outputting inline asm.
2352 2006-08-10 Dorit Nuzman <dorit@il.ibm.com>
2354 PR tree-optimization/26197
2355 * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls
2356 get_ref_base_and_extent and overlap_subvar to add only relevant
2357 subvars as may-aliases.
2358 (add_may_alias_for_new_tag): New function, factored out of
2360 * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias
2361 with additional argument.
2362 * tree-flow.h (new_type_alias): Takes additional argument.
2364 2006-08-09 Nathan Sidwell <nathan@codesourcery.com>
2366 * gcov.c (no_data_file): New flag.
2367 (read_count_file): Set it if data file not present. Assume counts
2369 (output_lines): Don't name the data file, if there wasn't one.
2371 2006-08-09 Eric Botcazou <ebotcazou@adacore.com>
2373 * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust.
2374 (rs6000_generate_compare): Tweak comments.
2375 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment.
2377 2006-08-09 Alexandre Oliva <aoliva@redhat.com>
2379 * var-tracking.c (enum micro_operation_type): Add MO_COPY.
2380 (var_debug_decl): New function.
2381 (var_reg_set): Follow debug decl link. Add location even if
2382 reg is already known to hold some other variable.
2383 (var_mem_set): Follow debug decl link.
2384 (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug
2385 decl link. Delete other known locations of the variable part
2387 (var_reg_delete, var_mem_delete): Delete other known locations
2388 of the variable part if requested.
2389 (same_variable_part_p): New function.
2390 (add_stores): Select MO_COPY when appropriate.
2391 (vt_initialize): Handle it.
2392 (compute_bb_dataflow, emit_notes_in_bb): Likewise. Delete
2393 known locations for MO_SET and MO_CLOBBER.
2394 (find_variable_location_part): New function.
2395 (set_variable_part, delete_variable_part): Use it.
2396 (clobber_variable_part): New function.
2397 * dwarf2out.c (dwarf2out_var_location): Do not follow debug
2400 2006-08-07 Victor Kaplansky <victork@il.ibm.com>
2402 PR tree-optimization/26969
2403 * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
2404 with an empty list of PHIs.
2406 2006-08-06 Paolo Bonzini <bonzini@gnu.org>
2410 * conffig/i386/i386.md: Add peephole2 to avoid "fld %st"
2413 2006-08-06 Andreas Schwab <schwab@suse.de>
2415 * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format
2416 string. Whitespace and comment fixup.
2418 2006-08-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2421 * c-decl.c (validate_proto_after_old_defn): Return false on invalid
2425 * c-typeck.c (build_modify_expr): Test earlier for non-lvalues.
2428 * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify.
2430 2006-08-04 Jan Hubicka <jh@suse.cz>
2434 * reload.c (push_reload): Patch out the mismatching instruction;
2436 (find_reload): Bail out if the instruction was patched out.
2438 2006-08-04 Jan Hubicka <jh@suse.cz>
2440 PR tree-optimization/24888
2441 * tree-inline.c (expand_call_inline): Do not re-record variables.
2442 (declare_inline_vars): Add variable to unexpanded_var_list.
2444 2006-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2445 Roger Sayle <roger@eyesopen.com>
2447 PR rtl-optimization/26244
2448 * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
2449 inner_const are negative or greater than or equal to the bitsize of
2450 MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
2451 Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
2452 Simplify complicated if statement. For ASHIFT and LSHIFTRT, return
2453 CONST0_RTX (mode) when the new shift count is greater than or equal to
2454 to the bitsize of the object being shifted and XEXP (y, 0) has no side
2457 2006-08-04 Kazu Hirata <kazu@codesourcery.com>
2459 * tree-cfg.c: Fix a comment typo.
2461 2006-08-03 Mark Mitchell <mark@codesourcery.com>
2464 * varasm.c (output_constant): Give the front end another chance to
2465 expand constants, after stripping NOPs.
2467 2006-08-03 Jan Hubicka <jh@suse.cz>
2469 * domwalk.c (walk_dominator_tree): Reorganize to non-recursive
2472 2006-08-03 Dorit Nuzman <dorit@il.ibm.com>
2474 PR tree-optimization/27770
2475 * tree-vectorizer.h (get_vectype_for_scalar_type): Function
2476 declaration removed (moved to tree-flow.h).
2477 (vect_can_force_dr_alignment_p): Likewise.
2478 * tree-flow.h (get_vectype_for_scalar_type): New function declaration
2479 (moved from tree-vectorizer.h).
2480 (vect_can_force_dr_alignment_p): Likewise.
2481 * tree-vectorizer.c (vect_print_dump_info): Allow calling this function
2482 from outside the vectorizer - in particular from cgraph stage.
2483 * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase
2484 the alignment of global arrays when -fsection-anchors is enabled.
2485 * cgraphunit.c (cgraph_increase_alignment): New function.
2486 (cgraph_optimize): Call cgraph_increase_alignment.
2488 2006-08-03 David Edelsohn <edelsohn@gnu.org>
2491 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
2492 not reload a SPE symbol_ref into a lo_sum address.
2494 2006-08-02 Daniel Jacobowitz <dan@codesourcery.com>
2497 * dwarf2out.c (prune_unused_types_prune): Move call to
2498 prune_unused_types_update_strings to cover the parent DIE also.
2500 2006-08-02 Jan Hubicka <jh@suse.cz>
2502 PR gcov/profile/28480
2503 * tree-cfg.c (change_bb_for_stmt): New function.
2504 (tree_merge_blocks, tree_split_blocks): Use it.
2506 2006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2512 * toplev.c (compile_file): Return early on errorcount or sorrycount.
2513 * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
2514 (cgraph_optimize): Likewise.
2516 2006-08-01 Stuart Hastings <stuart@apple.com>
2518 * rtl.h (UINTVAL) New.
2519 * config/rs6000/rs6000.c (SMALL_INT) Use it.
2520 * testsuite/gcc.dg/20060801-1.c: New.
2522 2006-08-01 Daniel Jacobowitz <dan@codesourcery.com>
2525 * c-typeck.c (build_external_type): Mark used enum types.
2526 * dwarf2out.c (dwarf2out_abstract_function): Save and restore
2528 (gen_subprogram_die): Whitespace fix.
2530 2006-08-01 Jan Hubicka <jh@suse.cz>
2532 * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars
2533 bitmap when not needed.
2534 * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary
2537 2006-08-01 Dirk Mueller <dmueller@suse.de>
2539 * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
2541 2006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2543 * Makefile.in: Revert part of previous patch:
2544 Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H
2547 2006-07-30 Eric Christopher <echristo@apple.com>
2550 * doc/extend.texi (i386 Variable Attributes): Add anchor.
2551 (PowerPC Variable Attributes): New section.
2553 2006-07-30 Atsushi Nemoto <anemo@mba.ocn.ne.jp>
2555 PR target/28126 (partial fix)
2556 * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
2558 2006-07-28 Jan Hubicka <jh@suse.cz>
2560 PR rtl-optimization/28071
2561 * cfgrtl.c (rtl_delete_block): Free regsets.
2562 * flow.c (allocate_bb_life_data): Re-use regsets if available.
2564 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2566 * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies
2567 and variables used in dependencies.
2569 2006-07-27 Arjan van de Ven <arjan@linux.intel.com>
2571 * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than
2572 %fs for -mcmodel=kernel.
2573 (stack_tls_protect_test_di): Likewise.
2575 2006-07-27 Carlos O'Donell <carlos@codesourcery.com>
2577 * Makefile.in: Use mkinstalldirs.
2579 2006-07-27 H.J. Lu <hongjiu.lu@intel.com>
2582 * opts-common.c (prune_options): Skip joined switches.
2584 2006-07-27 Jan Hubicka <jh@suse.cz>
2586 PR rtl-optimization/28071
2587 * cselib.c (cselib_process_insn): Don't remove useless values too
2588 often for very large hashtables.
2590 2006-07-27 Jan Hubicka <jh@suse.cz>
2592 PR rtl-optimization/28071
2593 * global.c (greg_obstack): New obstack.
2594 (allocate_bb_info): Use it.
2595 (free_bb_info): Likewise.
2596 (modify_reg_pav): Likewise.
2598 2006-07-27 Roger Sayle <roger@eyesopen.com>
2600 * builtins.c (fold_fixed_mathfn): When long and long long are the
2601 same size, canonicalize llceil*, llfloor*, llround* and llrint*
2602 functions to their lceil*, lfloor*, lround* and lrint* forms.
2604 2006-07-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2607 * config/m32r/m32r.md (branch_insn): Reduce pc range for short
2609 (rev_branch_insn): Likewise.
2611 2006-07-27 Jan Hubicka <jh@suse.cz>
2613 PR rtl-optimization/28071
2614 * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour.
2615 (reg_set_in_bb, max_reg_computed): New static variables.
2616 (regmove_optimize): Free the new array.
2617 (fixup_match_1): Update call of reg_is_remote_constant_p.
2619 2006-07-26 Jan Hubicka <jh@suse.cz>
2621 PR tree-optimization/27882
2622 * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous
2624 * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill
2626 (cgraph_analyze_compilation_unit): Likewise.
2627 * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
2628 * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise.
2629 (cgraph_early_inlinine): Make order garbage collected.
2630 * Makefile.in (gt-ipa-inline): New garbagecollected file.
2632 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
2634 * dbxout.c (output_types_sort): Add a comment.
2635 (output_used_types): Free the VEC.
2637 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
2639 * function.c (reorder_fix_fragments): Delete.
2640 (reorder_blocks): Don't call it.
2641 (reorder_blocks_1): Put all subblocks under the origin block.
2643 2006-07-26 Zdenek Dvorak <dvorakz@suse.cz>
2645 PR rtl-optimization/27907
2646 * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and
2649 2006-07-25 Roger Sayle <roger@eyesopen.com>
2652 * convert.c (convert_to_integer): When transforming (T)foo(x) into
2653 bar(x) check that bar's result type can represent all the values of T.
2655 2006-07-25 Zdenek Dvorak <dvorakz@suse.cz>
2657 * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure.
2659 2006-07-25 Nick Clifton <nickc@redhat.com>
2661 * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the
2662 size_lookup[] array.
2663 (ggc_alloc_stat): Use NUM_SIZE_LOOKUP.
2664 (ggc_pch_count_object): Likewise.
2665 (ggc_pch_alloc_object): Likewise.
2666 (ggc_pch_write_object): Likewise.
2667 (init_ggc): Do not attempt to initialize entries in the
2668 size_lookup[] array for objects whose size is greater than than
2669 the length of the array.
2671 2006-07-25 Daniel Jacobowitz <dan@codesourcery.com>
2673 * dbxout.c (output_used_types_helper): Push queued types
2675 (output_types_sort): New.
2676 (output_used_types): Collect used types on a VEC and sort them
2679 2006-07-24 Richard Guenther <rguenther@suse.de>
2682 * cgraph.c (cgraph_remove_node): Do not check if dumps
2684 * cgraphunit.c (cgraph_optimize): Likewise.
2686 2006-07-24 Jan Hubicka <jh@suse.cz>
2688 PR rtl-optimization/28071
2689 * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes.
2690 * tree-iterator.c (tsi_split_statement_list_before): Do not crash when
2691 splitting before first stmt.
2693 2006-07-24 Jan Hubicka <jh@suse.cz>
2695 PR rtl-optimization/28071
2696 * ipa-inline.c (update_caller_keys): Remove edges that
2697 are no longer inline candidates.
2699 2006-07-23 Daniel Jacobowitz <dan@codesourcery.com>
2702 * dbxout.c (output_used_types_helper, output_used_types): New.
2703 (dbxout_symbol): Call output_used_types.
2705 2006-07-23 Jan Hubicka <jh@suse.cz>
2709 * cgraph.c (cgraph_varpool_nodes): Export.
2710 (decide_is_variable_needed): Ignored "used" attribute in
2711 unit-at-a-time mode.
2712 * cgraph.h (cgraph_varpool_nodes): Declare.
2713 * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in
2714 unit-at-a-time mode.
2716 2006-07-23 Roger Sayle <roger@eyesopen.com>
2719 * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and
2720 mutex_destroy even when !_LIBOOBJC. Remove duplicate prototype of
2721 the __gthrw form of thr_keycreate.
2722 (__gthread_key_delete): Silence the unused argument warning.
2724 2006-07-23 Steven Bosscher <steven@gcc.gnu.org>
2727 * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
2728 Cache the last found '\0' marker to avoid quadratic behavior.
2730 2006-07-23 Jan Hubicka <jh@suse.cz>
2732 * i386.md (subsi_3_zext): Fix output template.
2734 2006-07-21 Mike Stump <mrs@apple.com>
2736 * doc/invoke.texi (C++ Dialect Options): Note that
2737 -fvisibility-inlines-hidden doesn't affect explicitly
2738 instantiationed inline methods.
2740 2006-07-20 Roger Sayle <roger@eyesopen.com>
2742 * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file
2743 if the target assembler is GNU binutils' gas.
2744 * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine
2745 whether to pass GNU gas or native as command line options.
2747 2006-07-20 Jason Merrill <jason@redhat.com>
2749 * tree.c (remove_attribute): New fn.
2750 * tree.h: Declare it.
2752 2006-07-20 Paul Brook <paul@codesourcery.com>
2755 * cse.c (cse_insn): Add destination addresses to hash table. Check if
2756 they are invalidated by this instruction.
2758 2006-07-21 Danny Smith <dannysmith@users.sourceforge.net>
2761 * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
2763 2006-07-20 Eric Christopher <echristo@apple.com>
2766 * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder.
2768 2006-07-19 Eric Christopher <echristo@apple.com>
2770 * config/t-slibgcc-darwin (stmp-lipo): Remove.
2771 Rewrite dependencies for libgcc_s.1.dylib.
2773 2006-07-19 Jakub Jelinek <jakub@redhat.com>
2775 * except.c (duplicate_eh_regions_1): Clear next_peer.
2777 2006-07-17 Nathan Sidwell <nathan@codesourcery.com>
2779 * doc/invoke.texi (RS/6000 and PowerPC Options): Document that
2780 -mlongcall does not guarantee all calls will be long.
2781 * doc/extend.texi (long_call/short_call): Document that longcall
2782 does not guarantee a long call will be used.
2783 (longcall/shortcall): Likewise.
2785 2006-07-18 Roger Sayle <roger@eyesopen.com>
2788 * expmed.c (expand_shift): Additionally check that the shift_cost
2789 is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
2790 before implementing a LSHIFT_EXPR as a sequence of additions.
2791 * config/sh/sh.c (shift_costs): Return MAX_COST to inform the
2792 middle-end that DImode shifts need to be synthesized by expand.
2794 2006-07-18 Diego Novillo <dnovillo@redhat.com>
2797 * tree-ssa-operands.c (access_can_touch_variable): Update
2799 Return true if ALIAS is .GLOBAL_VAR.
2801 2006-07-18 David Daney <ddaney@avtrex.com>
2803 * gcc.c (display_help): Fix typo in help text.
2805 2006-07-18 Olivier Hainque <hainque@adacore.com>
2807 * tree.h (categorize_ctor_elements): Adjust prototype and add
2808 descriptive comment, both in accordance with the interface change
2810 * varasm.c (constructor_static_from_elts_p): New function.
2811 Whether a constructor node is a valid static constant initializer
2812 if all its elements are.
2813 (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
2814 * output.h: Declare it.
2815 * expr.c (categorize_ctor_elements_1): Return whether the constructor
2816 is a valid constant initializer instead of computing the number of
2817 non-constant elements. Use constructor_static_from_elts_p for this
2818 purpose. Replace the head comment with an indication that this is a
2819 helper for categorize_ctor_elements.
2820 (categorize_ctor_elements): Same interface change as for the _1
2821 helper. Former head comment from this helper moved here, adjusted to
2822 account for the interface changes.
2823 (mostly_zeros_p): Adjust call to categorize_ctor_elements.
2824 (all_zeros_p): Likewise.
2825 * gimplify.c (gimplify_init_constructor): Decide whether we can make
2826 static versions of the constructor from the categorize_ctor_elements
2827 return value instead of the formerly computed number of non-constant
2830 2006-07-18 Paolo Bonzini <bonzini@gnu.org>
2832 * configure: Regenerate.
2833 * Makefile.in (build_libsubdir): New configure substitution
2834 (build_libobjdir): New variable.
2835 (BUILD_LIBIBERTY): Use it.
2837 2006-07-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2840 * c-pragma.c (handle_pragma_pack): Handle invalid constants.
2842 2006-07-18 Alexandre Oliva <aoliva@redhat.com>
2845 * c-common.c (handle_weakref_attribute): Ignore attribute in
2846 the same conditions the alias attribute is ignored.
2848 2006-07-17 Carlos O'Donell <carlos@codesourcery.com>
2850 * dbxout.c (dbxout_function_end): Do not increment scope_labelno.
2851 (dbxout_begin_prologue): Increment scope_labelno.
2853 2006-07-17 Richard Henderson <rth@redhat.com>
2856 * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
2859 2006-07-17 Roger Sayle <roger@eyesopen.com>
2860 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2862 * config/i386/gmon-sol2.c: Silence compilation warnings by partially
2863 synchronizing code with config/sparc/gmon-sol2.c. Remove #if 0
2864 blocks. #include "tconfig.h" and "tsystem.h" to prototype system
2865 functions such as sbrk, write, etc.. Add function prototypes.
2866 Convert function declarations from K&R to ISO C. Cast pointers
2867 to "long" and "unsigned long" instead of "int" and "unsigned int".
2868 Convert tokens following #endif into comments.
2870 2006-07-17 Toon Moene <toon@moene.indiv.nluug.nl>
2872 * invoke.texi: Remove mention of f77; Reformat table for
2873 inline parameter options correctly; mention that -malign-double
2874 is default on x86-64 targets.
2876 2006-07-17 Zdenek Dvorak <dvorakz@suse.cz>
2878 * tree-chrec.c (avoid_arithmetics_in_type_p): New.
2879 (convert_affine_scev, chrec_convert_aggressive): Use
2880 avoid_arithmetics_in_type_p. Do not check for the subtypes
2883 2006-07-17 Richard Sandiford <richard@codesourcery.com>
2886 * optabs.c (expand_doubleword_shift): Wrap the call to
2887 do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.
2889 2006-07-17 Richard Sandiford <richard@codesourcery.com>
2892 * optabs.c (expand_binop): Pass next_methods rather than methods
2893 to expand_doubleword_shift.
2895 2006-07-17 J"orn Rennecke <joern.rennecke@st.com>
2898 * tree.h (dump_addr): Declare.
2899 * print-tree.c (dump_addr): New function.
2900 (print_node_brief, print_node): Use it.
2901 * print-rtl.c (print_rtx): Likewise.
2902 * common.opt (-fdump-noaddr): New option.
2903 * doc/invoke.texi (-fdump-noaddr): Document.
2904 * loop-unroll.c (si_info_hash): Make hash independent of addresses.
2905 (ve_info_hash): Likewise.
2907 2006-07-13 Andrew Haley <aph@redhat.com>
2909 PR tree-optimization/19505
2910 * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
2911 edge leaving this block, make sure that the destination of this
2912 block has only one predecessor.
2914 2006-07-17 Richard Guenther <rguenther@suse.de>
2916 PR tree-optimization/28238
2917 * tree-inline.c (copy_bb): Check if we produced valid
2918 gimple copying and substituting a stmt. If not, gimplify
2921 2006-07-16 Eric Botcazou <ebotcazou@adacore.com>
2923 * optabs.c (maybe_encapsulate_block): New function extracted from...
2924 (emit_libcall_block): ...here. Invoke it on the block of insns to
2925 maybe emit REG_LIBCALL/REG_RETVAL notes around the block.
2926 (emit_no_conflict_block): Likewise.
2928 2006-07-16 Eric Botcazou <ebotcazou@libertysurf.fr>
2930 * doc/install.texi (sparc-sun-solaris2*): Add GMP version number.
2932 2006-07-15 Roger Sayle <roger@eyesopen.com>
2934 * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into
2935 a new NOP_EXPR case of the switch statement.
2937 2006-07-15 Kaz Kojima <kkojima@gcc.gnu.org>
2940 * stor-layout.c (place_field): Take the bit field with
2941 an excessive size into account in the ms-bitfiled case.
2944 * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of
2945 the previous bit field.
2947 2006-07-14 Eliot Dresselhaus <eliot@sonic.net>
2950 * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
2952 2006-07-14 Ulrich Weigand <uweigand@de.ibm.com>
2954 * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect
2955 signal frames correctly even when the signal was installed with
2958 2006-07-14 Carlos O'Donell <carlos@codesourcery.com>
2960 * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start.
2961 (dbxout_function_end): Use local label LFBB. Remove hook
2963 (dbxout_source_line): Use local label LFBB.
2964 (dbxout_block): Likewise.
2965 (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC.
2966 (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC.
2967 * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC,
2968 and DBX_OUTPUT_NFUN.
2970 2006-07-13 Janis Johnson <janis187@us.ibm.com>
2972 * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail.
2974 2006-07-13 Jan Hubicka <jh@suse.cz>
2976 * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call
2978 * output.h (align_variable): Declare.
2979 * varasm.c (align_variable): Export.
2980 * value-prof.c (tree_value_profile_transformations): Recompute iterator
2981 when basic block changed.
2983 2006-07-13 Nick Clifton <nickc@redhat.com>
2985 * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst
2986 walking the LOG_LINKS chain.
2988 2006-07-12 Geoffrey Keating <geoffk@apple.com>
2990 * doc/invoke.texi (C++ Dialect Options): Explain difference
2991 between -fvisibility-inlines-hidden and setting hidden
2992 visibility explicitly.
2994 2006-07-12 Eric Christopher <echristo@apple.com>
2996 * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo.
2997 (stmp-lipo): Depend on libgcc.a.
2999 2006-07-12 Kazu Hirata <kazu@codesourcery.com>
3001 * tree.c: Fix a comment typo.
3003 2006-07-12 Naveen.H.S <naveenh@kpitcummins.com>
3005 * config/m32c/muldiv.md (umulhisi3_c): Use only registers for
3007 (umulhisi3_r): Likewise.
3009 2006-07-12 Paolo Carlini <pcarlini@suse.de>
3012 * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x,
3013 x < 19, vs wchar_t support.
3015 2006-07-12 Nick Clifton <nickc@redhat.com>
3017 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up
3018 instead of -isa=sh4.
3020 2006-07-12 Mike Stump <mrs@apple.com>
3022 * protoize.c (edit_fn_definition): Add volatile to clean_text_p.
3024 2006-07-10 Eric Christopher <echristo@apple.com>
3026 * config/t-slibgcc-darwin: Rewrite.
3028 2006-07-10 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3031 * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4
3034 2006-07-08 Matthias Klose <doko@debian.org>
3036 * doc/sourcebuild.texi: Fix typo.
3038 2006-07-07 Mike Stump <mrs@apple.com>
3040 * toplev.c (process_options): Don't give -ffunction-sections may
3041 affect debugging warning for Mach-O.
3043 2006-07-07 James E Wilson <wilson@specifix.com>
3045 * config/mips/mips.md (cpu): Add sb1a.
3046 * config/mips/sb1.md: Modify almost all patterns to accept sb1a in
3047 addition to sb1. Adjust comments to clarify SB-1A differences from
3049 (ir_sb1a_load): New. Modify bypasses to use it.
3050 (ir_sb1a_simple_alu): Likewise.
3051 * config/mips/mips.c (mips_cpu_info_table): Add sb1a.
3052 (mips_rtx_cost_data): Add PROCESSOR_SB1A support.
3053 (mips_issue_rate): Add PROCESSOR_SB1A.
3054 (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1.
3055 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A.
3056 (TARGET_SB1): Add PROCESSOR_SB1A check.
3057 (TUNE_SB1): Likewise.
3059 * config/mips/mips-protos.h (mips_store_data_bypass_p): New.
3060 * config/mips/mips.c (mips_store_data_bypass_p): New.
3061 * config/mips/sb1.md: Use mips_store_data_bypass_p instead of
3062 store_data_bypass_p.
3064 2006-07-08 Paul Brook <paul@codesourcery.com>
3067 * config/m68k/m68k.md: Add r-m patterns for 68881 movxf.
3069 2006-07-07 Richard Guenther <rguenther@suse.de>
3072 * tree.h (build_one_cst): Declare.
3073 * tree.c (build_one_cst): New function.
3074 * tree-ssa-math-opts.c (get_constant_one): Remove.
3075 (insert_reciprocals): Use build_one_cst.
3076 * fold-const.c (fold_plusminus_mult): Likewise.
3078 2006-07-07 Roger Sayle <roger@eyesopen.com>
3080 * pointer-set.c (pointer_set_destroy): Correct whitespace.
3081 * cfgloopanal.c (dump_graph): Likewise.
3082 * dojump.c (discard_pending_stack_adjust): Likewise.
3083 * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES):
3085 * alloc-pool.c (dump_alloc_pool_statistics): Likewise.
3086 * function.c (finalize_block_changes): Likewise.
3087 * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise.
3088 * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise.
3089 * rtl.c (dump_rtx_statistics): Likewise.
3090 * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars):
3092 * varray.c (dump_varray_statistics): Likewise.
3093 * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
3094 decode_decimal64, encode_decimal128, decode_decimal128,
3095 decimal_real_to_decimal): Likewise.
3097 2006-07-07 Richard Guenther <rguenther@suse.de>
3099 PR tree-optimization/28187
3100 * tree-vrp.c (vrp_operand_equal_p): New function.
3101 (vrp_bitmap_equal_p): Likewise.
3102 (update_value_range): Use them to compare old and new
3105 2006-07-06 Roger Sayle <roger@eyesopen.com>
3107 * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add
3108 a default case to switch statement to silence compiler warnings.
3110 2006-07-06 Roger Sayle <roger@eyesopen.com>
3113 * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether
3114 the configured assembler supports the x87's ffreep mnemonic.
3115 * configure: Regenerate.
3116 * config.in: Regenerate.
3118 * config/i386/i386.c (output_387_ffreep): New function.
3119 (output_fp_compare): Use output_387_ffreep to emit ffreep insns.
3120 (output_387_reg_move): Likewise.
3122 2006-07-06 Paul Eggert <eggert@cs.ucla.edu>
3124 Port to hosts whose 'sort' and 'tail' implementations
3125 treat operands with leading '+' as file names, as POSIX
3126 has required since 2001. However, make sure the code still
3127 works on pre-POSIX hosts.
3128 * Makefile.in (slowcompare): Port to POSIX 1003.1-2001,
3129 which says you should use "tail -c +N" rather than "tail +Nc".
3130 Fix a bug: the old code incorrectly skipped 15 bytes, not 16.
3132 2006-07-06 Zdenek Dvorak <dvorakz@suse.cz>
3134 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in
3137 2006-07-06 David Edelsohn <edelsohn@gnu.org>
3140 * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
3141 PRE_{INC,DEC} of TFmode.
3143 2006-07-06 David Edelsohn <edelsohn@gnu.org>
3144 Alan Modra <amodra@bigpond.net.au>
3147 * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
3150 2006-07-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3153 * config/alpha/predicates.md (alpha_swapped_comparison_operator):
3154 Remove duplicate gtu.
3156 2006-07-05 Jason Merrill <jason@redhat.com>
3160 * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
3161 * c-common.c (handle_packed_attribute): So don't copy it here.
3162 * c-decl.c (finish_struct): Don't copy TYPE_ALIGN.
3164 2006-07-05 Mike Stump <mrs@apple.com>
3166 * doc/invoke.texi (Invoking G++): Clarify prose for g++.
3168 2006-07-05 H.J. Lu <hongjiu.lu@intel.com>
3171 * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*.
3173 2006-07-05 Richard Guenther <rguenther@suse.de>
3176 * config/i386/i386.md (*negdf2_1): Restrict pattern to
3177 TARGET_SSE2 targets if using SSE math.
3178 (*absdf2_1): Likewise.
3180 2006-07-05 Richard Guenther <rguenther@suse.de>
3182 PR tree-optimization/28162
3183 * fold-const.c (fold_binary): For (-A) * (-B) -> A * B
3184 make sure to convert the operands to the correct type.
3186 2006-07-04 Paolo Bonzini <bonzini@gnu.org>
3188 PR tree-optimization/28218
3190 * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls
3191 to calculate and free the dominator information.
3193 2006-07-04 Peter O'Gorman <peter@pogma.com>
3195 * mklibgcc.in: chmod 644 before ranlib during install.
3197 2006-07-04 Andrew Stubbs <andrew.stubbs@st.com>
3198 J"orn Rennecke <joern.rennecke@st.com>
3200 * configure.ac (.eh_frame data check): Use diff -b.
3202 2006-07-04 Eric Botcazou <ebotcazou@libertysurf.fr>
3205 * Makefile.in (BUILD_RTL): Add build/vec.o.
3206 (build/gencondmd.o): Filter out -fkeep-inline-functions.
3207 (build/genextract): Delete.
3208 (build/genautomata): Likewise.
3210 2006-07-04 Alan Modra <amodra@bigpond.net.au>
3213 * config/rs6000/rs6000.c (function_arg_boundary): Double-word align
3214 128-bit IBM long doubles for ABI_V4.
3216 2006-07-03 Eric Botcazou <ebotcazou@adacore.com>
3218 * tree.c (range_in_array_bounds_p): New predicate.
3219 * tree.h (range_in_array_bounds_p): Declare it.
3220 * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to
3221 return a less conservative answer.
3222 * tree-sra.c (struct sra_elt): Add new pointer field 'groups'
3223 and flag 'is_group'.
3224 (IS_ELEMENT_FOR_GROUP): New macro.
3225 (FOR_EACH_ACTUAL_CHILD): Likewise.
3226 (next_child_for_group): New helper function.
3227 (can_completely_scalarize_p): Take into account groups.
3228 (sra_hash_tree): Handle RANGE_EXPR.
3229 (sra_elt_eq): Likewise.
3230 (lookup_element): Be prepared for handling groups.
3231 (is_valid_const_index): Delete.
3232 (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p
3233 instead of is_valid_const_index.
3234 <ARRAY_RANGE_REF>: New case.
3235 (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of
3236 is_valid_const_index.
3237 <ARRAY_RANGE_REF>: Do not unconditionally punt.
3238 (scan_dump): Dump info for groups too.
3239 (decide_instantiation_1): Likewise.
3240 (decide_block_copy): Assert that the element is not a group.
3241 Propagate decision to groups.
3242 (generate_one_element_ref): Handle RANGE_EXPR.
3243 (mark_no_warning): Iterate over actual childs.
3244 (generate_copy_inout): Likewise.
3245 (generate_element_copy): Likewise.
3246 (generate_element_zero): Likewise.
3247 (generate_element_init_1): Likewise.
3248 (dump_sra_elt_name): Handle RANGE_EXPR.
3250 2006-07-03 Roger Sayle <roger@eyesopen.com>
3252 PR tree-optimization/26251
3253 * tree-ssa-threadupdate.c (redirection_block_p): New function.
3254 (thread_block): When optimizing for size refuse to thread jumps
3255 that would require duplication of blocks other than redirection
3258 2006-07-03 Paolo Bonzini <bonzini@gnu.org>
3260 * configure.ac: Fix thinko in previous check-in.
3261 * configure: Regenerate.
3263 2006-07-03 Paolo Bonzini <bonzini@gnu.org>
3266 * configure.ac (for lang...): Simplify nesting of conditionals.
3267 Test subdir_requires for non-enabled languages. Move processing
3268 of lang_opt_files and lang_tree_fiels below that test.
3269 * configure: Regenerate.
3270 * doc/sourcebuild.texi (Front End Config): Document subdir_requires.
3272 2006-07-01 Martin Michlmayr <tbm@cyrius.com>
3274 * doc/gcov.texi (Invoking Gcov): Add a missing word.
3276 2006-06-30 Kazu Hirata <kazu@codesourcery.com>
3278 * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix
3281 2006-06-29 Jason Merrill <jason@redhat.com>
3288 * tree.c (build_decl_stat): Don't hande #pragma visibility here.
3289 * c-common.c (c_determine_visibility): Handle it here.
3290 * c-decl.c (finish_decl): Call c_determine_visibility for
3292 * flags.h (enum symbol_visibility): Sort from most to least visibility.
3294 * varasm.c (default_assemble_visibility): Likewise.
3295 * c-common.c (handle_visibility_attribute): Complain about trying
3296 to give visibility to an already defined class, or trying to change
3297 declared visibility. Always attach the attribute.
3302 * attribs.c (decl_attributes): Ignore type-in-place attributes
3303 once the type has been defined.
3305 2006-06-29 Roger Sayle <roger@eyesopen.com>
3308 * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
3309 to indicate the cpplib has issued an error message for us.
3311 2006-06-29 Asher Langton <langton2@llnl.gov>
3314 * config/i386/i386.c (ix86_output_function_epilogue): Don't
3315 insert a label at the end of an function under Mach-O.
3317 2006-06-29 Eric Christopher <echristo@apple.com>
3318 Evan Cheng <evan.cheng@apple.com>
3320 * predicates.md (vector_all_ones_operand): New.
3321 (nonimmediate_or_sse_const_operand): Ditto.
3322 * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare.
3323 * config/i386/i386.c (standard_sse_constant_opcode): Define.
3324 (standard_sse_mode_p): Ditto.
3325 (standard_sse_constant_p): Add case for -1 vector.
3326 (ix86_expand_vector_move): Try to use.
3327 * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand.
3328 Call standard_sse_constant_opcode.
3329 (*movv4sf_internal): Ditto.
3330 (*movv2df_internal): Ditto.
3332 2006-06-29 Roger Sayle <roger@eyesopen.com>
3334 * genpreds.c (write_match_code_switch): Correctly use XSTR instead
3335 of XEXP to extract the operands of a MATCH_CODE rtx.
3337 2006-06-28 Andrew Pinski <pinskia@gmail.com>
3339 * tree.c (tree_size): Do not waste tail padding in
3340 struct tree_string and make the size be the same as
3341 build_string will generate.
3343 2006-06-28 Jason Merrill <jason@redhat.com>
3346 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
3347 may_aliases already in the tag's annotations to the bitmap.
3349 2006-06-28 Roger Sayle <roger@eyesopen.com>
3351 * genpreds.c (write_predicate_stmts) <IOR>: Add missing break.
3353 2006-06-28 Roger Sayle <roger@eyesopen.com>
3355 * genpreds.c (generate_switch_p): New function.
3356 (add_mode_tests): Push the new mode test down inside an AND expr
3357 if this allows the switch-suitable MATCH_CODE to be near the root.
3358 (write_match_code_switch): New function to write a MATCH_CODE as
3360 (write_predicate_stmts): New function to write a predicate RTX
3361 expression as a sequence of statements.
3362 (write_one_predicate_function): Use write_predicate_stmts.
3363 (write_tm_constrs_h): Likewise.
3365 2006-06-26 Fred Fish <fnf@specifix.com>
3367 * config/mips/t-sb1: New file.
3368 * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to
3371 2006-06-26 DJ Delorie <dj@redhat.com>
3373 * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic.
3375 2006-06-26 Naveen H.S <naveenh@kpitcummins.com>
3376 Jayant Sonar <jayants@kpitcummins.com>
3377 Jaydeep Vipradas <jaydeepv@kpitcummins.com>
3379 * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New.
3380 (subsi3, subsi3_1, subsi3_2): New.
3381 * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New.
3382 * config/m32c/mov.md (SI mov peephole): New.
3383 * config/m32c/m32.c (m32c_immd_dbl_mov): New.
3384 * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New.
3386 2006-06-26 Olivier Hainque <hainque@adacore.com>
3388 * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on
3389 a CALL_EXPR target function declaration.
3391 2006-06-26 Richard Guenther <rguenther@suse.de>
3393 * tree.c (build_string): Do not waste tail padding in
3396 2006-06-26 Richard Guenther <rguenther@suse.de>
3398 * ggc-page.c (init_ggc): Add missing element to size_lookup
3402 2006-06-23 Richard Guenther <rguenther@suse.de>
3404 * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
3405 sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
3406 alignment requests instead. Add verification code.
3407 Add struct tree_function_decl and struct tree_binfo size to
3408 extra_order_size_table. Add missing element to size_lookup
3411 2006-06-25 Eric Botcazou <ebotcazou@adacore.com>
3414 * fold-const.c (const_binop): Be prepared for self returning zero.
3415 Simplify code handling complex values.
3417 2006-06-24 Olivier Hainque <hainque@adacore.com>
3419 * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function.
3420 (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode
3423 2006-06-24 Olivier Hainque <hainque@adacore.com>
3425 * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as
3426 ARRAY_REF, so have the callback called for the low bound expression.
3428 2006-06-23 Janis Johnson <janis187@us.ibm.com>
3430 * tree.h (DECIMAL_FLOAT_TYPE_P): New.
3431 * c-typeck.c (c_common_type): Disallow operations on decimal float
3432 types and other float types.
3433 * convert.c (convert_to_real): Don't ignore conversions involving
3434 decimal float types.
3436 2006-06-23 Olivier Hainque <hainque@adacore.com>
3438 * tree.c (max_int_size_in_bytes): New function, inspired from
3439 code in function.c:assign_temp.
3440 * tree.h (max_int_size_in_bytes): Declare.
3441 * function.c (assign_temp): Use it.
3442 * gimplify.c (create_tmp_var): Relax the assertions on the type
3443 properties, not mandating constant size any more.
3444 (force_constant_size): New static function.
3445 (gimple_add_tmp_var): Use it, forcing variable size to a
3446 constant upper bound if it is not constant on entry.
3448 2006-06-23 Danny Smith <dannysmith@users.sourceforge.net>
3451 * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check
3452 for initialization and setting of one_only flag to ...
3453 (i386_pe_encode_section_info): ...here.
3454 (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also.
3455 Recheck that the symbol has not been defined.
3457 2006-06-23 Richard Guenther <rguenther@suse.de>
3459 * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
3460 sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
3461 alignment requests instead. Add verification code.
3462 Add struct tree_function_decl and struct tree_binfo size to
3463 extra_order_size_table. Add missing element to size_lookup
3466 2006-06-22 Roger Sayle <roger@eyesopen.com>
3467 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3470 * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the
3471 call to lang_hooks.types.type_for_mode returned NULL_TREE.
3473 2006-06-23 Ben Elliston <bje@au.ibm.com>
3475 * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to
3476 negate dn -- manipulate it directly.
3478 2006-06-22 Roger Sayle <roger@eyesopen.com>
3479 Steven Bosscher <stevenb.gcc@gmail.com>
3482 * reload1.c (gen_reload): Call mark_jump_label on the new insns
3483 generated by gen_move_insn to add REG_LABEL notes if necessary.
3485 2006-06-22 Bob Wilson <bob.wilson@acm.org>
3487 * config/xtensa/lib1funcs.asm (MIN_ESA): Delete.
3488 (leaf_entry): Remove use of MIN_ESA.
3490 2006-06-22 Zdenek Dvorak <dvorakz@suse.cz>
3492 PR rtl-optimization/28121
3493 * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
3496 2006-06-21 DJ Delorie <dj@redhat.com>
3498 * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest
3500 (mulhisi3_r): Likewise.
3502 2006-06-21 Richard Sandiford <richard@codesourcery.com>
3505 * coverage.c (coverage_counter_alloc): Leave the index type
3507 (coverage_counter_alloc): Use null arguments for operands 2 and 3
3510 2006-06-21 Andrew Pinski <pinskia@physics.uc.edu>
3512 * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect"
3513 section from the "Options for Code Generation Conventions".
3515 2006-06-21 Richard Henderson <rth@redhat.com>
3519 * config/alpha/predicates.md (small_symbolic_operand): Deny weak
3521 (global_symbolic_operand): Allow weak symbols, even if local_p.
3523 2006-06-21 Eric Botcazou <ebotcazou@adacore.com>
3525 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function.
3526 (find_interesting_uses_address): Punt if above function returns true.
3528 2006-06-21 Richard Guenther <rguenther@suse.de>