]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Daily bump.
[gcc.git] / gcc / ChangeLog
CommitLineData
374716e7
BM
12006-10-19 Brooks Moses <bmoses@stanford.edu>
2
3 * doc/install.texi (Downloading GCC): Clarify mention of
4 Fortran in the "full distribution" description.
5
21392f19
DB
62006-10-19 Daniel Berlin <dberlin@dberlin.org>
7
8 Fix PR tree-optimization/28778
9 Fix PR tree-optimization/29156
10 Fix PR tree-optimization/29415
11 * tree.h (DECL_PTA_ARTIFICIAL): New macro.
12 (tree_decl_with_vis): Add artificial_pta_var flag.
13 * tree-ssa-alias.c (is_escape_site): Remove alias info argument,
14 pushed into callers.
15 * tree-ssa-structalias.c (nonlocal_for_type): New variable.
16 (nonlocal_all): Ditto.
17 (struct variable_info): Add directly_dereferenced member.
18 (var_escaped_vars): New variable.
19 (escaped_vars_tree): Ditto.
20 (escaped_vars_id): Ditto.
21 (nonlocal_vars_id): Ditto.
22 (new_var_info): Set directly_dereferenced.
23 (graph_size): New variable
24 (build_constraint_graph): Use graph_size.
25 (solve_graph): Don't process constraints that cannot change the
26 solution, don't try to propagate an empty solution to our
27 successors.
28 (process_constraint): Set directly_dereferenced.
29 (could_have_pointers): New function.
30 (get_constraint_for_component_ref): Don't process STRING_CST.
31 (nonlocal_lookup): New function.
32 (nonlocal_insert): Ditto.
33 (create_nonlocal_var): Ditto.
34 (get_nonlocal_id_for_type): Ditto.
35 (get_constraint_for): Allow results vector to be empty in the case
36 of string constants.
37 Handle results of calls properly.
38 (update_alias_info): Update alias info stats on number and type of
39 calls.
40 (find_func_aliases): Use could_have_pointers.
41 (make_constraint_from_escaped): Renamed from
42 make_constraint_to_anything, and changed to make constraints from
43 escape variable.
44 (make_constraint_to_escaped): New function.
45 (find_global_initializers): Ditto.
46 (create_variable_info_for): Make constraint from escaped to any
47 global variable, and from any global variable to the set of
48 escaped vars.
49 (intra_create_variable_infos): Deal with escaped instead of
50 pointing to anything.
51 (set_uids_in_ptset): Do type pruning on directly dereferenced
52 variables.
53 (find_what_p_points_to): Adjust call to set_uids_with_ptset.
54 (init_base_vars): Fix comment, and initialize escaped_vars.
55 (need_to_solve): Removed.
56 (find_escape_constraints): New function.
57 (expand_nonlocal_solutions): Ditto.
58 (compute_points_to_sets): Call find_escape_constraints and
59 expand_nonlocal_solutions.
60 (delete_points_to_sets): Don't fall off the end of the graph.
61 (init_alias_heapvars): Initialize nonlocal_for_type and
62 nonlocal_all.
63 (delete_alias_heapvars): Free nonlocal_for_type and null out
64 nonlocal_all.
65
6b7283ac
EB
662006-10-19 Eric Botcazou <ebotcazou@adacore.com>
67
68 * fold-const.c (add_double): Rename to add_double_with_sign.
69 Add 'unsigned_p' parameter and take it into account for the overflow.
70 (mul_double): Rename to mul_double_with_sign.
71 Add 'unsigned_p' parameter and take it into account for the overflow.
72 (fold_div_compare): Call add_double_with_sign instead of add_double
73 and mul_double_with_sign instead of mul_double, passing them the
74 unsignedness of the type.
75 * tree.h (add_double): Macroize.
76 (add_double_with_sign): New prototype.
77 (mul_double): Macroize.
78 (mul_double_with_sign): New prototype.
79
93ef7c1f
CL
802006-10-19 Chen Liqin <liqin@sunnorth.com.cn>
81
82 * config/score/crti.asm: New file.
83 * config/score/crtn.asm: New file.
84 * config/score/elf.h: New file.
85 * config/score/mac.md: New file.
86 * config/score/misc.md: New file.
87 * config/score/mul-div.S: New file.
88 * config/score/predicates.md: New file.
89 * config/score/score7.md: New file.
90 * config/score/score.c: New file.
91 * config/score/score-conv.h: New file.
92 * config/score/score.h: New file.
93 * config/score/score.md: New file.
94 * config/score/score-mdaux.c: New file.
95 * config/score/score-mdaux.h: New file.
96 * config/score/score-modes.def: New file.
97 * config/score/score.opt: New file.
98 * config/score/score-protos.h: New file.
99 * config/score/score-version.h: New file.
100 * config/score/t-score-elf: New file.
101 * config.gcc: Add score*-*-* configurations(Update before).
102 * doc/invoke.texi (Score Options): New section.
103 * doc/md.texi (Score family): New section to document constraints.
104
afc0a4ba
NC
1052006-10-19 Nick Clifton <nickc@redhat.com>
106
107 * config/arm/arm.c: Fix spelling typo.
108
2d142abd
TT
1092006-10-18 Tom Tromey <tromey@redhat.com>
110
111 * doc/install.texi (Prerequisites): Mention automake 1.9.6.
112
1368453c
JH
1132006-10-18 Jan Hubicka <jh@suse.cz>
114
115 PR middle-end/29299
116 * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
117 are used.
118
2174b867
MD
1192006-10-18 Marcin Dalecki <martin@dalecki.de>
120
121 * omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of
122 TSI_SAME_STMT, since that's the desired entity.
123
cd8dc1f9
WG
1242006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com>
125
126 * config/s390/contraints.md: New file.
127 * config/s390/s390-protos.h (s390_mem_constraint,
128 s390_O_constraint_str, s390_N_constraint_str,
129 s390_float_const_zero_p): Function prototypes added.
130 * config/s390/s390.c (s390_extra_constraint_str,
131 s390_const_double_ok_for_constraint_p,
132 s390_const_ok_for_constraint_p): Functions removed.
133 (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
134 s390_float_const_zero_p): New functions.
135 * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
136 CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
137 EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
138 Macro definitions removed.
139 (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
140 s390_extra_constraint_str): Functions removed.
141
120311ec
AP
1422006-10-17 Andrew Pinsiki <pinskia@gmail.com>
143 Richard Sandiford <richard@codesourcery.com>
144
e4fd3c84 145 PR target/29413
120311ec
AP
146 * config/mips/linux.h (SUBTARGET_CC1_SPEC): Override.
147 * config/mips/mips.h (CC1_SPEC): Override any earlier definition.
148
ed1cf8ff
GK
1492006-10-16 Geoffrey Keating <geoffk@apple.com>
150
151 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h.
152 (DWARF2_FRAME_REG_OUT): Likewise.
153 * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h.
154 (DWARF2_FRAME_REG_OUT): Likewise.
155
26da58dd
PB
1562006-10-17 Paul Brook <paul@codesourcery.com>
157
158 * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate.
159
92922512
BM
1602006-10-16 Brooks Moses <bmoses@stanford.edu>
161
162 * doc/contrib.texi, doc/install.texi, doc/standards.texi:
163 Standardize on "GNU Fortran" as the official name of the Fortran
164 compiler.
165
f475fd3c
MS
1662006-10-16 Mike Stump <mrs@apple.com>
167
57164024 168 * doc/invoke.texi (Darwin Options): Document -mkernel.
f475fd3c
MS
169 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
170 -mkernel support.
171 (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support. Add
172 SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout.
173 (CC1_SPEC): Don't turn on -fPIC when -mkernel is given.
174 (OS_MISSING_ALTIVEC): Add.
175 * config/i386/i386.c (override_options): Add
176 SUBSUBTARGET_OVERRIDE_OPTIONS callout.
177 * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when
178 -mkernel, -static or -mdynamic-no-pic is given.
179 (C_COMMON_OVERRIDE_OPTIONS): Add.
180 * config/darwin.opt (fapple-kext): Add.
181 (mkernel): Add.
182 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add
183 -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and
184 -mkernel support.
185 (SUBSUBTARGET_OVERRIDE_OPTIONS): Add.
186 (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add.
187 (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here...
188 (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility.
189 (TARGET_CXX_CDTOR_RETURNS_THIS): Add.
190 (flag_mkernel): Add.
191 (flag_apple_kext): Add.
192 (TARGET_KEXTABI): Add.
193 * config/darwin.c (darwin_handle_kext_attribute): Add.
194 (DARWIN_VTABLE_P): Add.
195 (darwin_binds_local_p): Add partial support for rebinding vtables
196 in kexts.
197 (darwin_kextabi_p): Add.
198 (darwin_override_options): Add.
199 * config/darwin-protos.h (darwin_handle_kext_attribute): Add.
200 (darwin_kextabi_p): Add.
201 (darwin_override_options): Add.
202 * config/darwin-c.c (darwin_cpp_builtins): ... move defines for
203 __DYNAMIC__ and __STATIC__ here.
204
cc5c2741
BM
2052006-10-16 Brooks Moses <bmoses@stanford.edu>
206
207 * doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi:
208 Added mention of "make pdf" target, and Texinfo requirements for
209 same.
210
0c6385dc
DD
2112006-10-16 DJ Delorie <dj@redhat.com>
212
213 * config/s390/s390.c (s390_decompose_address): Allow symbol+offset
214 into the GOT in case we need a subreg of the address.
215
d7aa4788
RG
2162006-10-16 Richard Guenther <rguenther@suse.de>
217
218 PR target/25519
219 * doc/extend.texi (X86 Built-in Functions): Fix typos in
220 SSE builtin documentation. Document SSE2 builtins.
221
27ca3a61
JDA
2222006-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
223
c05b4438
JDA
224 * pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined
225 symbol in the output file for non-shared links when -nostdlib or
226 -nodefaultlibs isn't specified.
227
27ca3a61
JDA
228 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to
229 posix thread support.
230
ba19ceae
JH
2312006-10-15 Jan Hubicka <jh@suse.cz>
232
233 PR middle-end/29241
234 * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
235 declared always_inline even when not inlining.
236
af4a46a9
EB
2372006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr>
238 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
239 Andrew Pinski <pinskia@gmail.com>
240
241 PR middle-end/29111
242 * builtins.c (get_pointer_alignment): Return 0 if TER is not run.
243
61e00a5e
JH
2442006-10-15 Jan Hubicka <jh@suse.cz>
245 Richard Guenther <rguenther@suse.de>
246
247 PR middle-end/29299
248 * cgraphunit.c (cgraph_finalize_compilation_unit): Call
249 process_function_and_variable_attributes on all variables, including
250 those discovered during cgraph construction phase.
251
b0efb46b
BF
2522006-10-15 Bernhard Fischer <aldot@gcc.gnu.org>
253
254 * final.c: Update Copyright year. Commentary typo fix. Fix whitespace
255
f6096891
UB
2562006-10-14 Uros Bizjak <uros@kss-loka.si>
257
258 * config/i386/athlon.md (athlon_fist): Add fisttp.
259
dc10a47e
DE
2602006-10-13 David Edelsohn <edelsohn@gnu.org>
261 Ian Lance Taylor <ian@airs.com>
262
263 PR middle-end/29250
264 * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
265 CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
266 recursing.
267
875e256a
KH
2682006-10-14 Kazu Hirata <kazu@codesourcery.com>
269
270 * config/score/score.c, config/score/score.h: Fix comment
271 typos.
272
0c472e4e
KG
2732006-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
274
275 PR bootstrap/29402
276 * Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of
277 shell pipeline.
278
ee4ae285
EC
2792006-10-13 Eric Christopher <echristo@apple.com>
280
281 * config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
282
5793c070
CD
2832006-10-13 Carlos O'Donell <carlos@codesourcery.com>
284
285 Revert this change:
286 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
287 * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
288 alignment supported by 32-bit ELF.
289
44ef77c1
EC
2902006-10-13 Eric Christopher <echristo@apple.com>
291
292 * config/darwin.c (darwin_emit_unwind_label): Strip
293 name encoding. Use DECL_ASSEMBLER_NAME_SET_P.
294
96644aba
RG
2952006-10-13 Richard Guenther <rguenther@suse.de>
296
297 PR tree-optimization/29446
298 * tree-vrp.c (fix_equivalence_set): Remove.
299 (extract_range_from_assert): Do not call fix_equivalence_set.
300 (debug_value_range): Print a newline.
301 (compare_name_with_value): For equivalence sets with
302 inconsistent value ranges conservatively bail out.
303 (compare_names): Likewise.
304
d3a95f27
DE
3052006-10-13 David Edelsohn <edelsohn@gnu.org>
306
307 * doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP
308 and MPFR for gfortran.
309
d407b27d
CD
3102006-10-13 Carlos O'Donell <carlos@codesourcery.com>
311
312 * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
313 alignment supported by 32-bit ELF.
314
ca58211b
PB
3152006-10-13 Paolo Bonzini <bonzini@gnu.org>
316
317 PR c/29092
318
670a1b1f 319 * c-typeck.c (digest_init): Always allow initializing vectors
ca58211b
PB
320 that have static storage duration with compound literals.
321 * tree.c (build_type_attribute_qual_variant): New, based on
322 build_type_attribute_variant.
323 (build_type_attribute_variant): Rewrite using the former.
324 (make_vector_type): Use build_type_attribute_qual_variant to build
325 type variants. Use type_hash_canon on the others.
326
e1bb14ca
DB
3272006-10-13 Daniel Berlin <dberlin@dberlin.org>
328 Ramana Radhakrishnan <ramana.radhakrishnan@celunite.com>
329
330 * tree-flow-inline.h (zero_ssa_operands): Fix comment.
331
1a4259dc
JH
3322006-10-12 Jan Hubicka <jh@suse.cz>
333
334 PR c/28419
335 * c-decl.c (c_make_fname_decl): Do not segfault in case where
336 current_function_decl is set but current_function_scope is not.
337
1e96b1c3
JZ
3382006-10-12 Jie Zhang <jie.zhang@analog.com>
339
340 * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of
341 emit_insn to emit eh_return_internal instruction.
342 (eh_return_internal): Explicitly set pc.
343
377d569b
RG
3442006-10-11 Richard Guenther <rguenther@suse.de>
345
346 PR tree-optimization/28230
347 * tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling
348 to the correct place.
349
ba38541a
RG
3502006-10-11 Richard Guenther <rguenther@suse.de>
351
352 PR inline-asm/29119
353 * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue
354 addressable.
355
b5422ad7
BM
3562006-10-10 Brooks Moses <bmoses@stanford.edu>
357
358 * configure.ac: Added pdf to "Make-hooks"
359 * Makefile.in: Added TEXI2PDF definition, and various pdf-file
360 targets and *.pdf file patterns in cleanup targets.
361 * configure: Regenerated.
362
413fc59a
AS
3632006-10-10 Anatoly Sokolov <aesok@post.ru>
364
365 * config/avr/predicates.md: New file.
366 * config/avr/avr.md: Include it.
367 (REG_SP): New constant.
368 (peepholes): Use predicates.
369 (sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch,
370 difficult_branch, difficult_rvbranch, cbi, sbi, sbix_branch,
371 sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto.
372
48a0c3d4
AN
3732006-10-10 Adam Nemet <anemet@caviumnetworks.com>
374
375 * config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to
376 avoid alias set 0.
377
599a964a
JJ
3782006-10-10 Jakub Jelinek <jakub@redhat.com>
379
380 PR middle-end/29272
381 * builtins.c (var_decl_component_p): New function.
382 (fold_builtin_memset, fold_builtin_memory_op): Restrict
383 single entry optimization to variables and components thereof.
384
be0436d7
RG
3852006-10-10 Richard Guenther <rguenther@suse.de>
386
387 PR rtl-optimization/29323
388 * except.c (set_nothrow_function_flags): For functions
389 that do not bind local bail out early.
390
07d83dad
BE
3912006-10-10 Ben Elliston <bje@au.ibm.com>
392
393 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the
394 -mdlmzb option.
395
a98d4769
RH
3962006-10-09 Richard Henderson <rth@redhat.com>
397
398 Revert emutls patch.
399
5771bd91
RG
4002006-10-09 Richard Guenther <rguenther@suse.de>
401
402 PR middle-end/29254
403 * cgraphunit.c (verify_cgraph_node): Bail out on earlier
404 errors.
405
e64f5acf
SE
4062006-10-09 Steve Ellcey <sje@cup.hp.com>
407
408 PR target/27880
409 * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
410 * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo.
411 * configure: Regenerate.
412 * config.in: Regenerate.
413
f4935db5
AH
4142006-10-09 Aldy Hernandez <aldyh@redhat.com>
415
670a1b1f 416 * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
f4935db5 417
4afa41f1
RS
4182006-10-08 Richard Sandiford <richard@codesourcery.com>
419
420 * config/mips/mips.c (mips_legitimize_tls_address): Implement
421 all TLS models in the same way as local exec if !TARGET_ABICALLS.
422 Remove stray newline.
423
3ac25120
RS
4242006-10-08 Richard Sandiford <richard@codesourcery.com>
425
426 * config/mips/mips.c (mips_classify_symbol): Do not return
427 SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK.
428 (mips_in_small_data_p): Tweak comments.
429
b994ed9b
RS
4302006-10-08 Richard Sandiford <richard@codesourcery.com>
431
432 * config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define.
433
f63645be
KH
4342006-10-07 Kazu Hirata <kazu@codesourcery.com>
435
436 * gimplify.c, sched-int.h: Fix comment typos.
437
73d1943a
KH
438 * sched-int.h: Fix comment typos.
439
d7bfd907
MK
4402006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
441
442 * sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P):
443 New macros.
444 * sched-ebb.c (begin_schedule_ready): Use them.
445 * haifa-sched.c (schedule_insn, move_insn, try_ready,
446 add_to_speculative_block, create_check_block_twin, speculate_insn,
447 fix_jump_move, move_block_after_check): Ditto.
448 * sched-rgn.c (new_ready): Ditto.
449
7ea84dc4
MK
4502006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
451
452 PR rtl-optimization/29128
453 * sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro.
454 * sched-ebb.c (advance_target_bb): Use it to fix condition to
455 allow interblock movement of speculation checks.
456
975626a7
ZD
4572006-10-06 Zdenek Dvorak <dvorakz@suse.cz>
458
459 PR middle-end/29256
460 * tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers
461 casted to integer type.
462 (get_address_cost): Decrease cost of [symbol + index] addressing modes
463 if they are significantly more expensive than [reg + index] ones.
464
c6647507
JJ
4652006-10-06 Jakub Jelinek <jakub@redhat.com>
466
3ac57120
JJ
467 PR tree-optimization/29330
468 * tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro.
469 (initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer
470 on newly allocated ddrs.
471 (find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer
472 to VEC (loop_p, heap) pointer.
473 (compute_data_dependences_for_loop): Adjust caller.
474 (free_dependence_relations): Free DDR_LOOP_NEST.
475
476 * tree-loop-linear.c (linear_transform_loops): Don't forget to
477 free DEPENDENCE_RELATIONS and DATAREFS.
478
c6647507
JJ
479 PR target/28924
480 * builtins.c (expand_builtin_sync_operation,
481 expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set):
482 Use convert_to_mode to handle promoted arguments.
483
a192f4ae
R
4842006-10-06 J"orn Rennecke <joern.rennecke@st.com>
485
486 * print-tree.c (print_node_brief, print_node): Print sign of Inf.
487
0a087518
R
4882006-10-06 J"orn Rennecke <joern.rennecke@st.com>
489
490 * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define.
491
662e96c5
UB
4922006-10-05 Uros Bizjak <uros@kss-loka.si>
493
494 * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>",
495 "sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"):
496 Use <modeconstraint> instead of "r" as operand 1 constraint.
497
706c4bb7 4982006-10-06 Olivier Hainque <hainque@adacore.com>
44ef77c1 499
706c4bb7
OH
500 * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]:
501 Don't recurse on the pointed-to type.
502 * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or
503 DECL context, attach an artificial TYPE_DECL to anonymous pointed-to
504 types with components of variable size.
505
4d51dc9e
DS
5062006-10-06 Danny Smith <dannysmith@users.sourceforge.net>
507
508 config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
509
86a0f642
JJ
5102006-10-06 Jakub Jelinek <jakub@redhat.com>
511
9731a71c
JJ
512 PR tree-optimization/29290
513 * tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has
514 multiple exits.
515
c1a46941
JJ
516 PR target/29198
517 * config/i386/i386.c (legitimize_pic_address): Reject TLS symbols.
518 * config/i386/predicates.md (local_symbolic_operand): Likewise.
519
86a0f642
JJ
520 PR c/29091
521 * varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than
522 the number of vector elements fill the rest with zeros.
523
c671c146
RS
5242006-10-05 Richard Sandiford <richard@codesourcery.com>
525
526 * config/mips/mips.c (mips_pass_by_reference): Do not return false
527 for EABI if type is NULL. Use a size check based on GET_MODE_SIZE
528 instead.
529
d4e85050
BS
5302006-10-05 Bernd Schmidt <bernd.schmidt@analog.com>
531
532 * config/bfin/bfin.md (subsi3): Lose expander, change previously
533 unnamed pattern into subsi3. Use correct constraints/predicates.
534 * config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7".
535 * config/bfin/predicates.md (reg_or_neg7bit_operand_p): New.
536
7251a8d1
IR
5372006-10-05 Ira Rosen <irar@il.ibm.com>
538
539 * doc/loop.texi: Add data references analysis description.
540
4afc7adf
BM
5412006-10-04 Brooks Moses <bmoses@stanford.edu>
542
543 * doc/gcov.texi: Add formatting to "Invoking gcov" section head.
544
e701a32a
RH
5452006-10-04 Richard Henderson <rth@redhat.com>
546 Jakub Jelinek <jakub@redhat.com>
547
548 * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
670a1b1f
AP
549 * builtin-types.def (BT_WORD): Make unsigned.
550 (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
551 * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
552 (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
553 * c-decl.c (grokdeclarator): Don't error if !have_tls.
554 * c-parser.c (c_parser_omp_threadprivate): Likewise.
e701a32a
RH
555 * cgraph.c (decide_is_variable_needed): Look at force_output.
556 Recurse for emulated tls.
557 * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
558 checks redundant with decide_is_variable_needed.
559 (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
670a1b1f
AP
560 * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
561 emulated tls.
562 * expr.c (emutls_var_address): New.
e701a32a
RH
563 (expand_expr_real_1): Expand emulated tls.
564 (expand_expr_addr_expr_1): Likewise.
670a1b1f
AP
565 * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
566 * output.h (emutls_finish): Declare.
567 * toplev.c (compile_file): Call it.
e701a32a
RH
568 * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
569 address before wrapping in CONST.
670a1b1f
AP
570 * varasm.c (emutls_htab, emutls_object_type): New.
571 (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
e701a32a
RH
572 (get_emutls_object_name, get_emutls_object_type): New.
573 (get_emutls_init_templ_addr, emutls_decl): New.
574 (emutls_common_1, emutls_finish): New.
670a1b1f 575 (assemble_variable): When emulating tls, swap decls; generate
e701a32a
RH
576 constructor for the emutls objects.
577 (do_assemble_alias): When emulating tls, swap decl and target name.
670a1b1f
AP
578 (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
579 for emulated tls.
e701a32a 580 * emutls.c: New file.
670a1b1f
AP
581 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
582 tls_object for real tls.
e701a32a 583
9e826585
ZW
5842006-10-04 Zack Weinberg <zackw@panix.com>
585
586 Fix bug in constraint-check generator, reported by Rask Ingemann
587 Lambertsen:
588 * genpreds.c (add_constraint): Don't remove anything from the
589 expression here.
590 (write_tm_constrs_h): Detect whether "op" argument is used, and
591 mark it ARG_UNUSED if it isn't.
592 (write_insn_const_int_ok_for_constraint): Skip the part of the
593 expression that would test whether "op" (which is not available
594 here) is a CONST_INT.
595
1576e2be
RM
5962006-10-04 Ryan Mansfield <rmansfield@qnx.com>
597
598 PR c++/28448
599 * doc/invoke.texi (fdiagnostics-show-option): Fix typos.
600
ee1d3dc0
GK
6012006-10-03 Geoffrey Keating <geoffk@apple.com>
602
603 * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
604 current Leopard versions.
605 * config/rs6000/darwin-libgcc.10.5.ver: Likewise.
606
baf2c258
KH
6072006-10-03 Kazu Hirata <kazu@codesourcery.com>
608
609 * doc/install.texi: Fix typos.
610
224869d9
EB
6112006-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
612
613 * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
614 * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX.
615 * config/sparc/sparc.h (FRAME_ADDR_RTX): Define.
616
2834a5fe
JH
6172006-10-02 Jack Howarth <howarth@bromo.med.uc.edu>
618
619 * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first
620 arg to be struct mach_header_64* instead.
621
82181741
JJ
6222006-10-02 Jakub Jelinek <jakub@redhat.com>
623
624 PR c/29154
625 * gimplify.c (gimplify_self_mod_expr): Run inner expression's post
626 side effects after the outer expression's post side effects.
627
a40776a2
SL
6282006-10-01 Sandra Loosemore <sandra@codesourcery.com>
629
630 * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix
631 comments to reflect actual behavior and relationship between
632 DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
633
634 * doc/c-tree.texi (Working with declarations): Fix documentation
635 of FIELD_DECL likewise.
636
5f79d643
RM
6372006-10-01 Ryan Mansfield <rmansfield@qnx.com>
638
639 PR c/20533
9e826585 640 * doc/extend.texi: Add used variable attribute description.
5f79d643 641
7ed322d7
JM
6422006-09-30 Joseph S. Myers <joseph@codesourcery.com>
643
644 PR c/24010
645 * c.opt (Woverride-init): New.
646 * c-opts.c (c_common_post_options): Default warn_override_init to
647 extra_warnings.
648 * c-typeck.c (add_pending_init, output_init_element): Warn for
649 overriding initializers without side effects.
650 * doc/invoke.texi (-Woverride-init): Document.
651 (-Wextra): Update.
652
2d722423
EB
6532006-09-30 Eric Botcazou <ebotcazou@libertysurf.fr>
654
655 PR rtl-optimization/28096
656 * ifcvt.c (check_cond_move_block): Return FALSE if the source of an
657 assignment has already been used as a destination earlier in the block.
658
6592006-09-29 Eric Botcazou <ebotcazou@adacore.com>
4f6c2131
EB
660
661 * builtins.c (expand_builtin_setjmp): Delete.
662 (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
663 <BUILT_IN_SETJMP_SETUP>: New case.
664 <BUILT_IN_SETJMP_DISPATCHER>: Likewise.
665 <BUILT_IN_SETJMP_RECEIVER>: Likewise.
666 * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
667 (BUILT_IN_SETJMP_DISPATCHER): Likewise.
668 (BUILT_IN_SETJMP_RECEIVER): Likewise.
669 * gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
670 (lower_function_body): Initialize it to false. If it is set to true
671 at the end of the processing, emit the setjmp dispatcher.
672 (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
673 is __builtin_setjmp and set calls_builtin_setjmp to true as well.
674 <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
675 on the rhs of the assignment.
676 (lower_builtin_setjmp): New function.
677 * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
678 BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
679 * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
680 to detect calls that can go to non-local labels. Use specific
681 helper to create the abnormal edges associated with them.
682 <MODIFY_EXPR>: Likewise.
683 (make_abnormal_goto_edges): New function extracted from...
684 (make_goto_expr_edges): ...here. Call it for computed gotos.
685 (simple_goto_p): Minor tweak.
686 (tree_can_make_abnormal_goto): New predicate.
687 (tree_redirect_edge_and_branch): Return zero on all abnormal edges.
688 (tree_purge_dead_abnormal_call_edges): New function.
689 * tree-flow.h (tree_can_make_abnormal_goto): Declare.
690 (tree_purge_dead_abnormal_call_edges): Likewise.
691 (make_abnormal_goto_edges): Likewise.
692 * tree-inline.c (expand_call_inline): Simplify statement frobbing.
693 Purge all dead abnormal edges if the call was in the last statement.
694 * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
695 (execute_fixup_cfg): If there are non-local labels in the function,
696 scan the basic blocks and split them at calls that can go to non-local
697 labels or add missing abnormal call edges. Write down the CFG in the
698 dump file.
699 (pass_fixup_cfg): Remove TODO_dump_func flag.
700 * unwind-sjlj.c: Poison setjmp.
701 * doc/install.texi (enable-sjlj-exceptions): Use more general wording.
702 * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
703 (TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
704 (DONT_USE_BUILTIN_SETJMP): Document it.
705
67796c1f
GK
7062006-09-28 Geoffrey Keating <geoffk@apple.com>
707
708 PR target/28617
709 * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
710 to 1 when __ppc64__ is defined.
711 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
712 darwin-64.c.
713 * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
714
811b6bea
SE
7152006-09-28 Steve Ellcey <sje@cup.hp.com>
716
717 * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
718 * config/ia64/unwind-hpux.c: Delete.
719
0461b801
EB
7202006-09-28 Eric Botcazou <ebotcazou@adacore.com>
721
722 * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
723 on the element before gimplifying it, instead of punting if it is of
724 variable size.
725
01e0ef5a
ZD
7262006-09-28 Zdenek Dvorak <dvorakz@suse.cz>
727
728 * doc/loop.texi: New file.
729 * doc/gccint.texi: Reference loop.texi.
730 * Makefile.in (loop.texi): Add.
731
c6c621d4
GK
7322006-09-27 Geoffrey Keating <geoffk@apple.com>
733
734 * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
735 __sysctl.
736 * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
737 * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
738
d2dfcc07
KK
7392006-09-28 Kaz Kojima <kkojima@gcc.gnu.org>
740
741 * config/sh/sh.md (divsi_inv_m0): Remove unused variable.
742
e48d66a9
SK
7432006-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
744
745 * doc/install.texi: Document required versions of GMP and MPFR.
746
bcf640f7
PB
7472006-09-27 Paul Brook <paul@codesourcery.com>
748
749 PR target/29230
750 * config/arm/arm.md (arith_adjacentmem): Handle large offsets.
751
63a7a62b
RS
7522006-09-27 Richard Sandiford <richard@codesourcery.com>
753
754 * reload1.c (alter_reg): Require the alignment of the stack slot to
755 be at least reg_max_ref_width bytes.
756 (scan_paradoxical_subregs): Record the largest width in
757 reg_max_ref_width.
758
a70ad3bb
JJ
7592006-09-26 Jakub Jelinek <jakub@redhat.com>
760
761 PR middle-end/25261
762 PR middle-end/28790
763 * tree-nested.c (struct nesting_info): Added static_chain_added.
764 (convert_call_expr): Set static_chain_added when adding static
765 chain. Handle OMP_PARALLEL and OMP_SECTION.
766
bc49e371
MK
7672006-09-25 Matthias Klose <doko@debian.org>
768
769 * doc/invoke.texi: Add missing full stop.
770
6aa5c6ba
RH
7712006-09-25 Richard Henderson <rth@redhat.com>
772
773 * cgraph.c (dump_cgraph_varpool_node): Don't crash if called
774 before cgraph_function_flags_ready.
775
b67102ae
ZD
7762006-09-24 Zdenek Dvorak <dvorakz@suse.cz>
777 Adam Nemet <anemet@caviumnetworks.com>
778
779 * tree-ssa-loop-ivopts.c (aff_combination_convert,
780 determine_common_wider_type): New functions.
781 (get_computation_aff): Use them to simplify arithmetic between
782 UBASE and CBASE if they are shortened from the same type.
783
ab1e659c
KH
7842006-09-24 Kazu Hirata <kazu@codesourcery.com>
785
786 PR target/28911
787 * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
788 -2147483647 - 1 instead of 0x80000000.
789
88a65e64
RE
7902006-09-23 Revital1 Eres <ERES@il.ibm.com>
791
792 * flags.h (HONOR_NANS): Fix typo in comment.
793
895016f6
UB
7942006-09-23 Uros Bizjak <uros@kss-loka.si>
795
796 * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
797
fcb99e7b
JJ
7982006-09-23 Jakub Jelinek <jakub@redhat.com>
799
800 PR c/28706
801 PR c/28712
802 * tree.c (merge_attributes, attribute_list_contained): If both
803 TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
804 simple_cst_equal.
805 * c-typeck.c (comptypes_internal): Don't consider aggregates
806 in different TUs as compatible if there one set of attributes is
807 not a subset of the other type's attributes.
808 (composite_type): Try harder not to create a new aggregate type.
809
9281e73d
GK
8102006-09-22 Geoffrey Keating <geoffk@apple.com>
811
682cd442
GK
812 * config/i386/driver-i386.c: Always define host_detect_local_cpu.
813 * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
814 or x86_64 host. Define HAVE_LOCAL_CPU_DETECT.
815 (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
816 than replicating condition above.
817 * config.host (i[34567]86-*-*): Always use driver-i386.o.
818
9281e73d
GK
819 * config/darwin.h (LINK_SYSROOT_SPEC): New.
820 (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
821 the linker by default.
822
d1ea7616
MS
8232006-09-22 Mike Stump <mrs@apple.com>
824
825 * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
826 code.
827
79f802f5
RG
8282006-09-22 Richard Guenther <rguenther@suse.de>
829
830 PR middle-end/28964
831 * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
832 sort of stack variables stable.
833
2319ffbb
PB
8342006-09-22 Peter Bergner <bergner@vnet.ibm.com>
835
836 PR middle-end/28690
837 * explow.c (force_reg): Set REG_POINTER flag according to
838 MEM_POINTER flag.
839
36b24193
ZD
8402006-09-22 Zdenek Dvorak <dvorakz@suse.cz>
841
842 PR tree-optimization/28888
843 * tree-if-conv.c (combine_blocks): Rewritten.
844 * tree-cfg.c (tree_verify_flow_info): Check that edges with
845 EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
846
37358746
JJ
8472006-09-22 Jakub Jelinek <jakub@redhat.com>
848
849 * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
850 needed.
851
2801ed8e
RS
8522006-09-21 Richard Sandiford <richard@codesourcery.com>
853
854 * varasm.c (copy_constant): Fix reversed gcc_assert check.
855
6750b31e
JJ
8562006-09-21 Janis Johnson <janis187@us.ibm.com>
857
858 * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
859
72478f32
RS
8602006-09-21 Roger Sayle <roger@eyesopen.com>
861
862 PR debug/29132
863 * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
864 dw_fde_current_label, to be the start of the function, i.e. the same
865 value as dw_fde_begin.
866
1bded8e1
RS
8672006-09-20 Richard Sandiford <richard@codesourcery.com>
868
869 * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
870 * config/mips/mips.md (UNSPEC_ABS_PS): New constant.
871 (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
872 (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
873 (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
874 (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
875 (abs<mode>2, neg<mode>2): Likewise.
876 * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
877 (*mips_abs_ps): New define_insn.
878
1186ec8c
JC
8792006-09-20 Josh Conner <jconner@apple.com>
880
881 PR middle-end/25505
882 * calls.c (expand_call): Allow reuse of structure return stack
883 temp.
884
d0cd71a0
PB
8852006-09-20 Paul Brook <paul@codesourcery.com>
886
d0cd71a0
PB
887 * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
888 positive offsets.
889
85a92f7e
JJ
8902006-09-20 Janis Johnson <janis187@us.ibm.com>
891
892 * doc/extend.texi (Decimal Float): Update for latest draft TR,
893 clean up terminology.
894
4e60515f
SE
8952006-09-20 Steve Ellcey <sje@cup.hp.com>
896
897 PR target/28574
898 * ifcvt.c (dead_or_predicable): Don't predicate then blocks
899 with tablejumps in them.
900
66bb4f32
JJ
9012006-09-20 Jakub Jelinek <jakub@redhat.com>
902
903 PR middle-end/28046
904 * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
905 wrap it into TARGET_EXPR.
906
1e993cb8
EC
9072006-09-20 Eric Christopher <echristo@apple.com>
908
909 * config/i386/i386.c (x86_fisttp): Remove.
910 * config/i386/i386.h (x86_fisttp): Ditto.
911 (TARGET_FISTTP): Ditto.
912
64ee9490
EC
9132006-09-19 Eric Christopher <echristo@apple.com>
914
915 * doc/tm.texi (OBJC_JBLEN): Describe.
916 * config/i386/darwin.h (OBJC_JBLEN): Define.
917 * config/rs6000/darwin.h: Ditto.
918
d63e1389
SB
9192006-09-19 Steven Bosscher <steven@gcc.gnu.org>
920
921 PR rtl-optimization/21299
922 * reload1.c (reload): Purge invalid ASMs in the final pass.
923
7ab62966
SE
9242006-09-19 Steve Ellcey <sje@cup.hp.com>
925
926 PR 28490
927 * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
928 pointers as legitimate constants.
929
758ed9b2
PB
9302006-09-19 Paul Brook <paul@codesourcery.com>
931
932 PR target/28516
933 * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
934
aac8b8ed
RS
9352006-09-17 Zdenek Dvorak <dvorakz@suse.cz>
936
937 PR tree-optimization/28887
938 * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
939 component parts from the reference.
940 (gather_memory_references_ref): Record the reference without the
941 nonaddressable component parts.
942
69723be2
SB
9432006-09-17 Steven Bosscher <steven@gcc.gnu.org>
944
945 PR c/25993
946 * c-opts.c (c_common_handle_option): Ignore the -std options
947 if the input language is assembly.
948
7a7d3804
IR
9492006-09-17 Ira Rosen <irar@il.ibm.com>
950
b5387733 951 PR tree-opt/21591
7a7d3804 952 * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
b5387733
AP
953 tag first.
954 (ptr_ptr_may_alias_p): Likewise.
955 (record_record_differ_p): New function.
956 (base_object_differ_p): Call record_record_differ_p.
7a7d3804 957
a9fdb86b
AP
9582006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
959
960 PR tree-opt/29059
961 * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
962 away for the expr argument.
963
0c5e4273
SB
9642006-09-16 Steven Bosscher <steven@gcc.gnu.org>
965
a9fdb86b 966 PR tree-opt/27742
0c5e4273
SB
967 * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
968 before using it for dumping after vectorizing loops.
969
a9fdb86b
AP
9702006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
971 Jack Howarth <howarth@bromo.med.uc.edu>
70fb00df
AP
972
973 PR target/29030
974 * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
975 skip on error_mark_node.
976 (rs6000_darwin64_record_arg_recurse): Likewise.
977
1049f475
SB
9782006-09-16 Steven Bosscher <steven@gcc.gnu.org>
979
980 * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
981 * doc/rtl.texi: Remove related documentation.
982
405f0587
BS
9832006-09-16 Bernd Schmidt <bernd.schmidt@analog.com>
984
985 * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
986 printf.
987
d0970db2
JW
9882006-09-15 Jim Wilson <wilson@specifix.com>
989
990 * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
991 Handle symbol offsets same as they are handled in ia64_expand_move
992 and move_operand.
993
7607bdda
AT
9942006-09-16 Andreas Tobler <a.tobler@schweiz.org>
995
996 * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
997 Add forgotten parameter to the fprintf call.
998
7ee51a34
SE
9992006-09-15 Steve Ellcey <sje@cup.hp.com>
1000
1001 * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
1002
615d37d2
UB
10032006-09-15 Uros Bizjak <uros@kss-loka.si>
1004
1005 * doc/contrib.texi: Add my entry.
1006
a71b1c58
NC
10072006-09-15 Nick Clifton <nickc@redhat.com>
1008
1009 * doc/md.texi (Processor pipeline description): Fix typo in
1010 example of how to use the absence_set directive and reword the
1011 description to make it slightly easier to read.
1012
405f0587 10132006-09-15 Bernd Schmidt <bernd.schmidt@analog.com>
45b9a14b
BS
1014
1015 * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
1016 * loop-doloop.c (doloop_optimize): Use it to limit costs of
1017 expanding the number of iterations.
61066abf 1018 * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
45b9a14b 1019
11b904a1
BS
1020 * cfgrtl.c (emit_insn_at_entry): New function.
1021 * rtl.h (emit_insn_at_entry): Declare it.
1022 * integrate.c (emit_initial_value_sets): Use it.
1023
5419bc7f
BS
1024 * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
1025
e54273eb
BS
1026 * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
1027 bad.
1028 (struct loop_work and related VEC declarations): Delete.
1029 (bfin_dump_loops): Print out new member bad.
1030 (bfin_bb_in_loop): Use plain bitmap test. Don't recurse.
1031 (bfin_scan_loop): Don't recurse.
1032 (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
1033 loops. No longer need to update outer loops if the current one is
1034 found bad. Move some validitiy checks to bfin_discover_loop.
1035 (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
1036 but changed not to check for nesting. Also changed to use the new bad
1037 flag.
1038 (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
1039 time. Use bitmap based test to discover loop nesting.
1040
0b35aac2
KH
10412006-09-15 Kazu Hirata <kazu@codesourcery.com>
1042
1043 * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
1044 one line.
1045
1b03c58a
RG
10462006-09-14 Richard Guenther <rguenther@suse.de>
1047 Kazu Hirata <kazu@codesourcery.com>
1048
1049 PR middle-end/28884.
1050 * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
1051 (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
1052 Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
1053 with TARGET_FUNCTION_VALUE.
1054
e8d0d6d2
AS
10552006-09-14 Anatoly Sokolov <aesok@post.ru>
1056
1057 PR target/26504
1058 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
1059
f5efb27f
AH
10602006-09-13 Aldy Hernandez <aldyh@redhat.com>
1061
b5387733
AP
1062 * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
1063 of a RETURN_EXPR
f5efb27f 1064
3c3f1a6f
AP
10652006-09-13 Andrew Pinski <pinskia@physics.uc.edu>
1066
1067 PR debug/28980
1068 * dwarf2out.c (loc_descriptor_from_tree_1): Handle
1069 FUNCTION_DECL.
1070
f66fd328
AK
10712006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
1072
1073 * basic_block.h (bb_has_eh_pred): Fix comment.
1074
fcc42bca
AK
10752006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
1076
1077 * flow.c (calculate_global_regs_live): Invalidate eh registers
1078 on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
1079 (propagate_block): Handle eh registers as if they were set at basic
1080 block start.
1081 * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
1082 registers.
1083 * global.c (global_conflicts): Make eh registers to conflict with
1084 pseudos live at basic block begin.
1085 * basic_block.h (bb_has_eh_pred): New function.
1086
4b7b277a
RS
10872006-09-13 Richard Sandiford <richard@codesourcery.com>
1088
1089 PR rtl-optimization/28982
1090 * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
1091 index of a PRE_MODIFY or POST_MODIFY address.
1092 * reload1.c (inc_for_reload): Use find_replacement on the original
1093 base and index registers.
1094
04df96dd
L
10952006-09-12 H.J. Lu <hongjiu.lu@intel.com>
1096
1097 * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
1098 for -Os. Update __m128 alignment requirement.
1099
26eeea94
JH
11002006-09-13 Jan Hubicka <jh@suse.cz>
1101
1102 * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
1103
7e721950
EB
11042006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
1105
1106 PR rtl-optimization/28243
1107 * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
1108 the insn to which the note was originally attached.
1109
66cccea6
AP
11102006-09-12 Andrew Pinski <pinskia@physics.uc.edu>
1111 Roger Sayle <roger@eyesopen.com>
1112
1113 * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
1114 outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
1115 on platforms that don't use dwarf for debug info.
1116
f0119413
JM
11172006-09-12 Jason Merrill <jason@redhat.com>
1118
1119 PR middle-end/28493
1120 * builtins.c (expand_builtin_setjmp_receiver): Clobber
1121 hard_frame_pointer_rtx after using it to update the frame pointer.
1122
fb8cbd3c
RS
11232006-09-12 Roger Sayle <roger@eyesopen.com>
1124
1125 * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
1126 (TARGET_ASM_CLOSE_PAREN): Likewise.
1127 * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
1128 (TARGET_ASM_CLOSE_PAREN): Likewise.
1129
b598cb38
RS
11302006-09-12 Roger Sayle <roger@eyesopen.com>
1131
1132 PR target/22223
1133 * config/alpha/alpha.c (alpha_start_function): Don't emit stack
1134 frame information for frames larger than 512 Kbytes on Tru64 when
1135 using the native assembler.
1136
4c6669c2
RS
11372006-09-12 Roger Sayle <roger@eyesopen.com>
1138
1139 PR middle-end/4520
1140 PR bootstrap/28784
1141 * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
1142 and symbols. Instead use the implementation from cse.c's hash_rtx.
1143
93c094b5
JH
11442006-09-12 Jan Hubicka <jh@suse.cz>
1145
1146 PR rtl-optimization/28071
1147 * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
1148 (vect_transform_loop): Likewise.
1149 * tree-vectorizer.c (new_loop_vec_info): Likewise.
1150 (new_loop_vec_info): Likewise.
1151 (destroy_loop_vec_info): Likewise.
1152 * tree-dfa.c (create_var_ann): Use GCC_CNEW.
1153 (create_stmt_ann): Likewise.
1154 (create_tree_ann): Rename to ...
1155 (create_tree_common_ann): ... this one; allocate only the common part
1156 of annotations.
1157 * tree-vn.c (set_value_handle): Use get_tree_common_ann.
1158 (get_value_handle): Likewise.
1159 * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
1160 get_tree_common_ann.
1161 * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
1162 (vinfo_for_stmt): Use stmt annotations.
1163 * tree-flow.h (tree_ann_common_t): New type.
1164 (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
1165 (tree_ann, get_tree_ann, create_tree_ann): New.
1166 * tree-flow-inline.h (get_function_ann): Do more type checking.
1167 (stmt_ann): Likewise.
1168 (tree_ann): Rename to ...
1169 (tree_common_ann): ... this one; return ony common_ann
1170 (get_tree_ann): Rename to ...
1171 (tree_common_ann): This one; return only common_ann.
1172 * tree-vect-patterns.c (vect_pattern_recog_1): Update call
1173 of set_stmt_info.
1174
d5688810
GK
11752006-09-11 Geoffrey Keating <geoffk@apple.com>
1176
703706d7
GK
1177 * config.gcc (i[34567]86-*-darwin*): Set with_arch and
1178 with_cpu by default.
1179
d5688810
GK
1180 * dwarf2out.c (dwarf_file_data): New.
1181 (enum dw_val_class): Add dw_val_class_file.
1182 (struct dw_val_struct): Add val_file.
1183 (file_table): Change to a hash table.
1184 (file_table_emitted): Delete.
1185 (file_table_last_lookup_index): Delete.
1186 (emitcount): Delete.
1187 (last_emitted_file): New.
1188 (lookup_filename): Change prototype to return a struct dwarf_file_data.
1189 (init_file_table): Delete.
1190 (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
1191 (AT_addr): Add comment.
1192 (add_AT_file): New.
1193 (AT_file): New.
1194 (get_AT_file): New.
1195 (print_die): Handle dw_val_class_file.
1196 (print_dwarf_line_table): Update for new file table structure.
1197 (attr_checksum): Do checksum a filename.
1198 (same_dw_val_p, same_attr_p): Do compare a filename.
1199 (size_of_die): Handle dw_val_class_file.
1200 (value_format): Likewise.
1201 (output_die): Likewise. Also, call maybe_emit_file here.
1202 (struct file_info): Constify filenames. Make file_idx a pointer
1203 to a struct dwarf_file_data.
1204 (struct dir_info): Constify directory names. Remove 'used' field.
1205 (struct file_name_acquire_data): New.
1206 (file_name_acquire): New.
1207 (output_file_names): Modify to handle new file data structures.
1208 (add_src_coords_attributes): Use add_AT_file.
1209 (add_call_src_coords_attributes): Likewise.
1210 (dwarf2out_imported_module_or_decl): Likewise.
1211 (gen_subprogram_die): Modify for new file data structures.
1212 (gen_variable_die): Likewise.
1213 (file_table_eq): New.
1214 (file_table_hash): New.
1215 (file_table_last_lookup): New.
1216 (lookup_filename): Rewrite to handle new file data structures.
1217 (maybe_emit_file): Rewrite to handle new file data structures.
1218 (dwarf2out_source_line): Always call lookup_filename and
1219 maybe_emit_file.
1220 (dwarf2out_init): Create file_table here.
1221 (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
1222 (file_table_relative_p): New.
1223 (dwarf2out_finish): Change detection of relative filenames
1224 to work with new file data structures. Move output_line_info call
1225 after debug_info output.
1226
1395ea39
L
12272006-09-11 H.J. Lu <hongjiu.lu@intel.com>
1228
1229 PR target/13685
1230 PR target/27537
1231 PR target/28621
1232 * config/i386/i386.c (override_options): Always default to 16
1233 byte stack boundary.
1234
d3067303
AO
12352006-09-11 Alexandre Oliva <aoliva@redhat.com>
1236
1237 PR target/28672
1238 * var-tracking.c (dump_dataflow_set): Start dumping at
1239 register zero.
1240 (clobber_variable_part): Kill only the variable part in
1241 registers holding it, leaving other variables alone.
1242
b7886f14
JT
12432006-09-11 Josh Triplett <josh@freedesktop.org>
1244
1245 * doc/extend.texi (Other Builtins): Actually use the macro
1246 argument in the documentation example for
1247 __builtin_types_compatible_p.
1248
2e9182fd
EB
12492006-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
1250
1251 PR rtl-optimization/28726
1252 * sched-deps.c (sched_analyze_reg): New function extracted from...
1253 (sched_analyze_1): ...here. Call it to analyze references to
1254 registers. Treat again writes to a stack register as writing to the
1255 register.
1256 (sched_analyze_2): ...and here. Call it to analyze references to
1257 registers. Treat again reads of a stack register as reading the
1258 register.
1259
d2952008
GR
12602006-09-11 Guenter Roeck <guenter@roeck-us.net>
1261 David Edelsohn <edelsohn@gnu.org>
1262
1263 PR target/27287
1264 * config/rs6000/spe.md (frob_df_di): Remove %H.
1265 (frob_di_df): Remove %H. Change evmergelo to mr.
1266 (frob_di_df_2): Remove %H. Change evldd to two loads.
1267
0c387be3
HI
12682006-09-11 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp>
1269
1270 * doc/cpp.texi: Fix names of charset options.
1271
748dc0c9
AP
12722006-09-10 Andrew Pinski <pinskia@physics.uc.edu>
1273
1274 PR target/29009
1275 * config/i386/i386.c (override_options): Use 128-bit
1276 stack boundary always for 64bits.
1277
de097a3b
EB
12782006-09-10 Eric Botcazou <ebotcazou@libertysurf.fr>
1279
1280 PR rtl-optimization/28636
1281 * combine.c (force_to_mode): Test for side-effects before
1282 substituting by zero.
1283 (simplify_shift_const): Likewise for zero or other constants.
1284
4fe337f6
SB
12852006-09-10 Steven Bosscher <steven@gcc.gnu.org>
1286
1287 PR middle-end/26983
1288 * builtins.c (expand_builtin_setjmp): Force next_lab to be
1289 preserved.
1290
9226543b
RS
12912006-09-10 Richard Sandiford <richard@codesourcery.com>
1292
1293 PR target/29006
1294 * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
1295 * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
1296 returned by mode_for_size, rather than the mode of src itself,
1297 to choose between 32-bit and 64-bit patterns.
1298 (mips_mem_fits_mode_p): New function.
1299 * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
1300 that the size of the source matches the size of the destination.
1301 (mov_<store>l, mov_<store>r): Likewise.
1302
ca6f2eef
EC
13032006-09-10 Eric Christopher <echristo@apple.com>
1304
1305 * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
1306 for literal16.
1307
1be1e2dd
EC
13082006-09-09 Eric Christopher <echristo@apple.com>
1309
1310 PR target/28995
1311 * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
1312 for literal16.
1313
66cc7362
RS
13142006-09-09 Roger Sayle <roger@eyesopen.com>
1315 Nicolas Setton <setton@adacore.com>
1316
1317 * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
1318
7a34bba9
AS
13192006-09-10 Andreas Schwab <schwab@suse.de>
1320
1321 * config/m68k/m68k.md (bungt_rev): New pattern.
1322
8b649f3f
PB
13232006-09-09 Paolo Bonzini <bonzini@gnu.org>
1324 Dale Johannesen <dalej@apple.com>
1325
1326 PR target/26778
1327 * regclass.c (struct reg_pref): Update documentation.
1328 (regclass): Set prefclass to NO_REGS if memory is the best option.
1329 (record_reg_classes): Cope with a prefclass set to NO_REGS.
1330
f7288899
EC
13312006-09-08 Eric Christopher <echristo@apple.com>
1332
1333 * config.gcc (i?86-*-darwin): Add 64-bit HWI support.
1334 * config/t-slibgcc-darwin: Support x86_64 multilib.
1335 * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
1336 Return 1 for x86_64-darwin.
1337 * config/i386/t-darwin: Add m64 multilib.
1338 (LIB2_SIDITI_CONV_FUNCS): Use.
1339 (LIB2FUNCS_EXTRA): Ditto.
1340 * config/i386/darwin.h: Support x86_64.
1341 * config/i386/i386.c (override_options): Turn on flag_pic
1342 for x86_64-darwin. Disable flag_omit_pointer.
1343 (get_pc_thunk_name): Assert !TARGET_64BIT.
1344 (legitimate_address_p): Disable machopic addressing for
1345 x86_64.
1346 (legitimize_pic_address): Ditto.
1347 (ix86_expand_move): Ditto.
1348 (ix86_expand_call): Ditto.
1349 (machopic_output_stub): Ditto.
1350 * config/darwin.c (machopic_select_section): Support literal16.
1351 (machopic_select_rtx_section): Ditto.
1352 * config/darwin-sections.def: Ditto.
1353 * config/darwin-64.c: New.
1354
3542a5c0
JM
13552006-09-08 Joseph S. Myers <joseph@codesourcery.com>
1356
1357 PR c/28504
1358 * c-tree.h (struct c_arg_info): Add pending_sizes.
1359 * c-parser.c (c_parser_parms_declarator,
1360 c_parser_parms_list_declarator): Initialize pending_sizes.
1361 * c-decl.c (get_parm_info): Initialize pending_sizes.
1362 (get_parm_info): Set pending_sizes.
1363 (grokdeclarator): Call put_pending_sizes for parameters for
1364 function definition only.
1365
d0655f33
JM
13662006-09-07 Jason Merrill <jason@redhat.com>
1367
df20ea24
JM
1368 PR middle-end/27724
1369 * varasm.c (output_constant): Only strip actual no-op conversions.
1370
d0655f33
JM
1371 PR target/13685
1372 * config/i386/i386.c (override_options): Use 128-bit
1373 stack boundary if -msse.
1374
2e71a7a3
EC
13752006-09-07 Eric Christopher <echristo@apple.com>
1376
1377 * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
1378 comment.
1379 * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
1380 Redefine.
1381
10b01bca
GK
13822006-09-07 Geoffrey Keating <geoffk@apple.com>
1383
1384 * dwarf2out.c: Remove strange characters from comment above
1385 dwarf2out_frame_debug_expr.
1386
05d36da1
EC
13872006-09-07 Eric Christopher <echristo@apple.com>
1388
1389 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
1390 * config/darwin.h: ... to here.
1391
995cc369
L
13922006-09-07 H.J. Lu <hongjiu.lu@intel.com>
1393
1394 * config/i386/i386.c (x86_partial_flag_reg_stall): New.
1395
1396 * config/i386/i386.h (x86_partial_flag_reg_stall): New.
1397 (TARGET_PARTIAL_FLAG_REG_STALL): New.
1398
1399 * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
1400 TARGET_PARTIAL_FLAG_REG_STALL.
1401 (*ashldi3_cconly_rex64): Likewise.
1402 (*ashlsi3_cmp): Likewise.
1403 (*ashlsi3_cconly): Likewise.
1404 (*ashlsi3_cmp_zext): Likewise.
1405 (*ashlhi3_cmp): Likewise.
1406 (*ashlhi3_cconly): Likewise.
1407 (*ashlqi3_cmp): Likewise.
1408 (*ashlqi3_cconly): Likewise.
1409 (*ashrdi3_cmp_rex64): Likewise.
1410 (*ashrdi3_cconly_rex64): Likewise.
1411 (*ashrsi3_cmp): Likewise.
1412 (*ashrsi3_cconly): Likewise.
1413 (*ashrsi3_cmp_zext): Likewise.
1414 (*ashrhi3_cmp): Likewise.
1415 (*ashrhi3_cconly): Likewise.
1416 (*ashrqi3_cmp): Likewise.
1417 (*ashrqi3_cconly): Likewise.
1418 (*lshrdi3_cmp_rex64): Likewise.
1419 (*lshrdi3_cconly_rex64): Likewise.
1420 (*lshrsi3_cmp): Likewise.
1421 (*lshrsi3_cconly): Likewise.
1422 (*lshrsi3_cmp_zext): Likewise.
1423 (*lshrhi3_cmp): Likewise.
1424 (*lshrhi3_cconly): Likewise.
1425 (*lshrqi2_cmp): Likewise.
1426 (*lshrqi2_cconly): Likewise.
1427
f42684d5
UB
14282006-09-07 Uros Bizjak <uros@kss-loka.si>
1429
1430 PR target/28946
1431 * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
1432 "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
1433 "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
1434 "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
1435 "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
1436 "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
1437 "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
1438 "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
1439 "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
1440 implement only CC setting effects of shift instructions.
1441
c3876226
MM
14422006-09-07 Martin Michlmayr <tbm@cyrius.com>
1443
1444 * doc/contrib.texi: Add myself.
1445
c9eee440
AP
14462006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
1447
1448 PR middle-end/28862
1449 * stor-layout.c (relayout_decl): Don't zero the alignment if it
1450 was set by the user.
1451
62bf45a5
PB
14522006-09-07 Paolo Bonzini <bonzini@gnu.org>
1453
1454 PR target/27117
1455 * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
1456 (divsi_inv_m1): Use them.
1457 (UNSPEC_DIV_INV_TABLE): New constant.
1458
b5b84a7f
AP
14592006-09-06 James E Wilson <wilson@specifix.com>
1460
1461 PR rtl-opt/27883
1462 * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
1463 then call count_or_remove_death_notes.
1464
c08cd4c1
JM
14652006-09-06 Jason Merrill <jason@redhat.com>
1466
1467 PR c++/27371
1468 * tree-inline.c (copy_result_decl_to_var): New fn.
1469 (declare_return_variable): Use it. Call declare_inline_vars here.
1470 (expand_call_inline): Not here.
1471
1b65e501
DN
14722006-09-06 Diego Novillo <dnovillo@redhat.com>
1473
1474 * doc/contrib.texi: Update my entry.
1475
7034d31b
NC
14762006-09-06 Nick Clifton <nickc@redhat.com>
1477
1478 * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
1479
c7f965b6
AP
14802006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
1481
1482 PR tree-opt/28937
1483 * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
1484 (canonicalize_induction_variables): Likewise.
1485 (tree_unroll_loops_completely): Likewise.
1486 (tree_ssa_prefetch_arrays): Likewise.
1487 (remove_empty_loops): Likewise.
1488 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
1489 TODO_cleanup_cfg instead of directly calling
1490 cleanup_tree_cfg_loop.
1491 * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
1492 Likewise.
1493 (tree_unroll_loops_completely): Likewise.
1494 (remove_empty_loops): Likewise.
1495 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
1496 * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
1497 of tree_ssa_unswitch_loops.
1498 (tree_ssa_loop_ivcanon): Use the return value of
1499 canonicalize_induction_variables.
1500 (tree_ssa_empty_loop): Use the return value of
1501 remove_empty_loops.
1502 (tree_complete_unroll): Use the return value of
1503 tree_unroll_loops_completely.
1504 (tree_ssa_loop_prefetch): Use the return value of
1505 tree_ssa_prefetch_arrays.
1506 * passes.c (execute_todo): Before Cleanup CFG, set
1507 updating_used_alone and after cleanup CFG, call
1508 recalculate_used_alone.
1509
10b96810
AP
15102006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
1511
1512 PR tree-opt/28952
1513 * tree-vect-transform.c (vectorizable_condition): Move the check
1514 for the type after the check for simple condition.
1515
650a59ef
R
15162006-09-05 J"orn Rennecke <joern.rennecke@st.com>
1517 Kaz Kojima <kkojima@gcc.gnu.org>
1518
1519 PR target/28764
1520 * mode-switching.c (optimize_mode_switching): Make the destination
1521 block of an abnormal edge have no anticipatable mode. Don't
1522 insert mode switching code at the end of the source block of
1523 an abnormal edge.
1524
d26cef13
PB
15252006-09-05 Paolo Bonzini <bonzini@gnu.org>
1526
1527 PR rtl-optimization/26847
1528 * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
1529 (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
1530 (simplify_plus_minus): Count n_constants while filling ops. Replace
1531 qsort with insertion sort. Before going through the array to simplify
1532 pairs, sort it. Delay early exit until after the first sort, exiting
1533 only if no swaps occurred. Simplify pairs in reversed order, without
1534 special-casing the first iteration. Pack ops after simplifying pairs.
1535
15362006-09-05 Anatoly Sokolov <aesok@post.ru>
9a7fd67a 1537
10b96810
AP
1538 * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
1539 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1540 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1541 (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
9a7fd67a 1542
575643d5
RG
15432006-09-05 Richard Guenther <rguenther@suse.de>
1544
1545 PR tree-optimization/28900
1546 * tree-if-conv.c (find_phi_replacement_condition): Gimplify
1547 compound conditional before creating COND_EXPR condition.
1548
b2db9220
RG
15492006-09-05 Richard Guenther <rguenther@suse.de>
1550
1551 PR tree-optimization/28905
1552 * tree-vrp.c (fix_equivalence_set): Manually implement
1553 !value_ranges_intersect_p to also handle symbolic ranges.
1554
f393e7f5
RG
15552006-09-05 Richard Guenther <rguenther@suse.de>
1556
1557 PR middle-end/28935
1558 * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
1559 of a COND_EXPR.
1560
5bb51e1d
EB
15612006-09-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1562
1563 PR rtl-optimization/27616
1564 * cse.c (table_size): New static variable.
1565 (new_basic_block): Initialize it to 0.
1566 (remove_from_table): Decrement it.
1567 (insert): Increment it.
1568 (fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
1569 (fold_rtx_mem): Enforce a cap on the recursion depth. Call
1570 fold_rtx_mem_1 if under the cap.
1571 (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
1572 the lookup of the equivalent expression and test for equality of the
1573 first operand of the equivalent expression before in turn looking up
1574 an equivalent constant for the second operand.
1575
b73aec4f
GK
15762006-09-02 Geoffrey Keating <geoffk@apple.com>
1577
1578 Revert this change:
1579 2006-03-17 Alexandre Oliva <aoliva@redhat.com>
1580 * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
1581 pointer, instead of assuming it is possible to derive the
1582 correct args size from a call insn.
1583
bc038ad5
JJ
15842006-09-02 Jakub Jelinek <jakub@redhat.com>
1585
1586 PR middle-end/27567
1587 * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
1588 (fold_builtin_mempcpy): Rename to...
1589 (fold_builtin_memory_op): ... this. Optimize one element copy
1590 into an assignment.
1591 (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
1592 functions.
1593 (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
1594 (expand_builtin_memcpy, expand_builtin_mempcpy,
1595 expand_builtin_memmove): Likewise. Use fold_builtin_memory_op.
1596 (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
1597 BUILT_IN_BCOPY. Use fold_builtin_memory_op for
1598 BUILT_IN_MEM{CPY,PCPY,MOVE}.
1599
0166ff05
DD
16002006-09-01 DJ Delorie <dj@redhat.com>
1601
1602 * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
1603 (stzx_16): Likewise.
1604 ("stzx_24_<mode>"): Likewise.
1605 ("stzx_reversed_<mode>"): Likewise, and make mode-specific.
1606 ("cmp<mode>_op"): New.
1607 (cmp<mode>): Change to expander; just save operands.
1608 (b<code>_op): New.
1609 (b<code>): Change to expander, emit compare here.
1610 (s<code>_op): Change to use split and expander.
1611 (s<code>_24_op): Likewise.
1612 (s<code>_<mode>): New.
1613 (s<code>_<mode>_24): New.
1614 (movqicc_<code>_<mode): New.
1615 (movhicc_<code>_<mode>): New.
1616 (s<code>): New.
1617 (s<code>_24): New.
1618 * config/m32c/m32c.c (compare_op0, compare_op1): New.
1619 (m32c_pend_compare): New.
1620 (m32c_unpend_compare): New.
1621 (m32c_expand_scc): New.
1622 (m32c_expand_movcc): Emit the compare also.
1623 * config/m32c/predicates.md (mra_nopp_operand): New.
1624
537b8a35
R
16252006-09-01 J"orn Rennecke <joern.rennecke@st.com>
1626 Richard Guenther <rguenther@suse.de>
1627 Adam Nemet <anemet@caviumnetworks.com>
1628
1629 PR middle-end/27226
1630 * builtins.c (get_pointer_alignment): Handle more forms
1631 of base addresses that can be used to derive more precise
1632 information about alignment.
1633
4832214a
JM
16342006-09-01 Jason Merrill <jason@redhat.com>
1635
1636 PR c++/28899
1637 * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle
1638 want_value.
1639
1640 * gimplify.c (voidify_wrapper_expr): Handle null type.
1641
f0ce7858
JC
16422006-09-01 Josh Conner <jconner@apple.com>
1643
1644 PR c++/25505
1645 * tree-nrv.c (dest_safe_for_nrv_p): New function.
1646 (execute_return_slot_opt): Use it.
1647
ebdd079a
JC
16482006-08-31 Josh Conner <jconner@apple.com>
1649
1650 PR c++/25505
1651 * tree-gimple.c (is_gimple_mem_rhs): Recognize functions
1652 returning aggregates.
1653
1e5787ef
ZD
16542006-08-31 Zdenek Dvorak <dvorakz@suse.cz>
1655
1656 PR tree-optimization/28839
1657 * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in
1658 blocks in that phi arguments appear.
1659
6a10f7b3
RS
16602006-08-31 Roger Sayle <roger@eyesopen.com>
1661
1662 PR other/22313
1663 * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
05d36da1 1664 NULL, otherwise use an advance_loc4 to adjust relative to the
6a10f7b3
RS
1665 current label.
1666 (output_cfi) <DW_CFA_set_loc>: Update the current label.
1667 (dwarf2out_switch_text_section): Reset the current label to avoid
1668 using advance_loc4 over section boundaries.
1669
e4f2cd43
AK
16702006-08-31 Andreas Krebbel <krebbel1@de.ibm.com>
1671
1672 PR target/24367
1673 * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
1674 r12 + SYMBOLIC_CONST.
1675
c87555d6
RG
16762006-08-30 Richard Guenther <rguenther@suse.de>
1677
1678 * Makefile.in (see.o): Add $(EXPR_H) dependency.
1679
dc14f191
ZD
16802006-08-30 Zdenek Dvorak <dvorakz@suse.cz>
1681
1682 PR rtl-optimization/27735
1683 * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
1684 Add new argument to keep track of whether an irreducible region
1685 was affected. All callers changed.
1686 (fix_irreducible_loops): Removed.
1687 (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
1688 flags were invalidated.
1689
e370818b
L
16902006-08-29 H.J. Lu <hongjiu.lu@intel.com>
1691
1692 * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands
1693 instead of SF operands.
1694 (*fop_df_comm_sse): Likewise.
1695 (*fop_df_comm_i387): Likewise.
1696 (*fop_df_1_mixed): Likewise.
1697 (*fop_df_1_sse): Likewise.
1698
b666f3cf 16992006-08-29 Andrew Pinski <pinskia@physics.uc.edu>
227e9f62
JR
1700 J"orn Rennecke <joern.rennecke@st.com>
1701
1702 PR tree-optimization/17506
1703 * tree-ssa.c (warn_uninit): If warning about a location outside of
1704 the current function, note where the variable was declared.
1705
f414f2f3
ZD
17062006-08-28 Zdenek Dvorak <dvorakz@suse.cz>
1707
1708 PR tree-optimization/28411
1709 * double-int.c (double_int_div): Use double_int_divmod.
1710 (double_int_divmod, double_int_sdivmod, double_int_udivmod,
1711 double_int_mod, double_int_smod, double_int_umod): New functions.
1712 * double-int.h (double_int_divmod, double_int_sdivmod,
1713 double_int_udivmod, double_int_mod, double_int_smod, double_int_umod):
1714 Declare.
1715 * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result
1716 in double_int.
1717 (get_computation_aff, get_computation_cost_at): Handle double_int
1718 return type of constant_multiple_of.
1719
03a569a3
KH
17202006-08-28 Kazu Hirata <kazu@codesourcery.com>
1721
1722 PR middle-end/26632
1723 * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on
1724 an implicit conversion.
1725
1aeceea4
PT
17262006-08-28 Prafulla Thakare <prafullat@kpitcummins.com>
1727
1728 * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New.
1729
7f22b9fc
RS
17302006-08-27 Roger Sayle <roger@eyesopen.com>
1731
1732 * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
1733 x87 instructions.
1734
69b3f75b
KH
17352006-08-27 Kazu Hirata <kazu@codesourcery.com>
1736
1737 * config/i386/crtfastmath.c: Fix a comment typo.
1738
c782c2fe
RS
17392006-08-26 Roger Sayle <roger@eyesopen.com>
1740
1741 * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating
1742 temporary visit flags on CASE_LABEL_EXPRs.
1743 * c-common.c (match_case_to_enum): Add function comment. Avoid
1744 O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN.
1745 (c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and
1746 CASE_HIGH_SEEN for enumerated types. If the switch expression is
1747 a constant, only warn if that constant value isn't handled.
1748
02ec74b9
JM
17492006-08-26 Joseph S. Myers <joseph@codesourcery.com>
1750
1751 PR c++/24009
1752 * input.h (restore_input_file_stack): Declare.
1753 (INPUT_FILE_STACK_BITS): Define.
1754 * toplev.c (fs_p, input_file_stack_history,
1755 input_file_stack_restored, restore_input_file_stack): New.
1756 (push_srcloc, pop_srcloc): Check for input_file_stack_tick
1757 overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack.
1758 (pop_srcloc): Don't free old state of stack.
1759
63d0dca4
DE
17602006-08-26 David Edelsohn <edelsohn@gnu.org>
1761
1762 PR target/27544
1763 * doc/extend.texi (PowerPC Variable Attributes): Mention altivec.
1764 (PowerPC Type Attributes): New.
1765
d2348985
BW
17662006-08-26 Bob Wilson <bob.wilson@acm.org>
1767
1768 * config/xtensa/xtensa.c (function_arg_boundary): New.
1769 (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to
1770 STACK_BOUNDARY.
1771 * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new
1772 function_arg_boundary function that limits alignment to STACK_BOUNDARY.
1773
fa1ff4eb
JJ
17742006-08-26 Jakub Jelinek <jakub@redhat.com>
1775
1776 PR middle-end/28683
1777 * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
1778 3 following insns.
1779
75a83c65
VR
17802006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1781
1782 * flow.c (verify_wide_reg): Use internal_error for consistency failure.
1783 (verify_local_live_at_start): Likewise.
1784
4c923c28
JM
17852006-08-25 Joseph S. Myers <joseph@codesourcery.com>
1786
1787 PR c/27893
1788 * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval,
1789 omp_add_variable): Treat sizes as variable whenever not
1790 INTEGER_CST.
1791
45988118
RG
17922006-08-26 Richard Guenther <rguenther@suse.de>
1793
1794 PR middle-end/28814
1795 * fold-const.c (fold_binary): Fold temporary to correct
1796 type before constructing new comparison.
1797
a942cc86
JM
17982006-08-25 Fariborz Jahanian <fjahanian@apple.com>
1799
1800 PR c/28418
1801 * c-gimplify.c (gimplify_compound_literal_expr): Don't add
1802 variable again if DECL_SEEN_IN_BIND_EXPR_P.
1803
d8890adf
JM
18042006-08-25 Joseph S. Myers <joseph@codesourcery.com>
1805
1806 PR c/28299
1807 * c-decl.c (start_function): Don't try to process prototype
1808 information from old declaration that isn't a function.
1809
02709c7f
JH
18102006-08-25 Jan Hubicka <jh@suse.cz>
1811
1812 PR target/28621
1813 * config/i386/crtfastmath.c (set_fast_math): Force stack alignment.
1814
90d3ff1c
AM
18152006-08-25 Alan Modra <amodra@bigpond.net.au>
1816
1817 PR target/27075
1818 * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
1819 for 8 byte objects.
1820
e88e0907
R
18212006-08-25 J"orn Rennecke <joern.rennecke@st.com>
1822
1823 PR tree-optimization/16876
1824 * c-typeck.c (c_convert_parm_for_inlining): Don't take early
1825 exit if PARM doesn't match VALUE.
1826
9eb8a531
BW
18272006-08-25 Bob Wilson <bob.wilson@acm.org>
1828
1829 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a
1830 literal_prefix directive.
1831 (XTENSA_DECLARE_FUNCTION_SIZE): Delete.
1832 * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
1833 * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
1834
4eb585a4
DE
18352006-08-25 David Edelsohn <edelsohn@gnu.org>
1836
1837 PR target/28753
1838 * config/rs6000/rs6000.md (movcc_internal1): Change operand 1
1839 predicate to general_operand. Add 0->y and I->r alternatives.
1840
86c33cd0
KH
18412006-08-25 Kazu Hirata <kazu@codesourcery.com>
1842
1843 * doc/tm.texi: Fix a typo.
1844 * predict.c: Fix comment typos.
1845
816e93eb
NC
18462006-08-25 Nick Clifton <nickc@redhat.com>
1847
1848 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
1849 assertions of "cpu" and "machine".
1850
aa666e00
AP
18512006-08-24 Andrew Pinski <pinskia@physics.uc.edu>
1852
1853 PR tree-opt/28807
1854 * tree-ssa-operands.c (access_can_touch_variable): Don't say
1855 the access through a base which has an alias set of 0 cannot
1856 touch the variable.
1857
18582006-08-24 Bill Wendling <wendling@apple.com>
8b7d4300
BW
1859
1860 * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
05d36da1 1861
7ef701a8
JH
18622006-08-24 Jan Hubicka <jh@suse.cz>
1863
1864 * reload1.c (emit_reload_insns): Fix yet another typo in my patch.
1865
a418679d
JH
18662006-08-24 Jan Hubicka <jh@suse.cz>
1867
1868 PR debug/26881
1869 * cgraph.c: Fix comments.
1870 (cgraph_varpool_mark_needed_node): Mark only variables not already
1871 output to file.
1872 * cgraphunit.c: Update comments; include gt-cgraphunit.h
1873 (cgraph_varpool_assembled_nodes_queue): New static variable.
1874 (cgraph_varpool_assemble_decl): Record output decls for debug out code.
1875 (cgraph_varpool_output_debug_info): New function.
1876 (cgraph_finalize_compilation_unit, cgraph_optimize): Call it.
1877 * Makefile.in: Add gt-cgraphunit.h
1878
2c9e13f3
JH
18792006-08-24 Jan Hubicka <jh@suse.cz>
1880
1881 * predict.c (probability_reliable_p): New predicate.
1882 (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise.
1883 (predict_loops): Do not predict loop exit with less than 2%
1884 probability.
1885 * basic-block.h (edge_probability_reliable_p,
1886 br_prob_note_reliable_p): Declare.
1887 * ia64.h (ia64_print_operand): Do not disable on-chip branch
1888 prediction when static predictor is not reliable.
1889 * rs6000.c (output_cbranch): Likewise.
1890
12b3553f
SH
18912006-08-23 Stuart Hastings <stuart@apple.com>
1892
1893 PR 28825
1894 * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate,
1895 ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test.
1896
9a23b833
GK
18972006-08-21 Geoffrey Keating <geoffk@apple.com>
1898
1899 PR debug/28692
1900 * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for
1901 complex values, nor for generic vector values.
1902
8a613cae
RG
19032006-08-22 Richard Guenther <rguenther@suse.de>
1904
1905 PR middle-end/28776
1906 * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt
1907 parameter. Convert arguments to arithmetic expression to the
1908 chrecs type.
1909 (analyze_scalar_evolution_1): Adjust caller.
1910
1f6c68ed
JH
19112006-08-22 Jan Hubicka <jh@suse.cz>
1912
1913 Patch by Paolo Bonzini
1914 * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by
1915 my previous patch.
1916
ca858709
DB
19172006-08-22 Daniel Berlin <dberlin@dberlin.org>
1918
1919 PR tree-optimization/28003
1920 * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered
1921 before grouping aliases.
1922
883259c6
RS
19232006-08-22 Roger Sayle <roger@eyesopen.com>
1924
1925 * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG
1926 if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE.
1927
c6c7698d
JM
19282006-08-21 Jason Merrill <jason@redhat.com>
1929
1930 PR c++/27115
1931 * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a
1932 wrapper. Loop to handle nested wrappers.
1933 (gimplify_bind_expr): Remove temp parameter.
1934 (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR
1935 and STATEMENT_LIST on the rhs.
1936 (gimplify_statement_list): Voidify the STATEMENT_LIST.
1937 (gimplify_expr): Pass pre_p to gimplify_statement_list.
1938 (gimplify_target_expr): Remove special BIND_EXPR handling.
1939
34302d13
R
19402006-08-21 J"orn Rennecke <joern.rennecke@st.com>
1941
1942 * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with
1943 #if !__SHMEDIA__ .
1944
85d89e76
OH
19452006-08-21 Olivier Hainque <hainque@adacore.com>
1946
1947 * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>:
1948 Arrange for the temporary captures of components overlapping the lhs
1949 to happen before the lhs is possibly cleared.
05d36da1 1950
08a557f6 19512006-08-21 Mark Shinwell <shinwell@codesourcery.com>
e753d130 1952
08a557f6
MS
1953 * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in
1954 necessary places to pass the correct "number of registers" values
1955 to _Unwind_VRS_Pop.
1956
1af4bba8
JH
19572006-08-20 Jan Hubicka <jh@suse.cz>
1958
1959 * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function.
1960 (create_name_tags): Instead of quadratic checking use hashtable.
1961 * bitmap.h: Include hashtab.h.
1962 (bitmap_hash): Declare.
1963 * bitmap.c (bitmap_hash): New function.
1964
70d539ce
JH
19652006-08-20 Jan Hubicka <jh@suse.cz>
1966
1967 PR rtl-optimization/28071
1968 * tree-optimize.c (tree_rest_of_compilation): Do not remove edges
1969 twice.
1970 * tree-inline.c (copy_bb): Use cgraph_set_call_stmt.
1971 * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument.
1972 (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function,
1973 cgraph_decide_inlining_incrementally): Update use of
1974 cgraph_check_inline_limits.
1975 * cgraph.c (edge_hash, edge_eq): New function.
1976 (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge,
1977 cgraph_edge_remove_caller, cgraph_node_remove_callees,
1978 cgraph_remove_node): Maintain call site hash.
1979 * cgraph.h (struct cgraph_node): Add call_site_hash.
1980 (cgraph_set_call_stmt): New function.
1981
2c61f5f1
JH
19822006-08-20 Jan Hubicka <jh@suse.cz>
1983
1984 PR rtl-optimization/28071
1985 * reload1.c (reg_has_output_reload): Turn into regset.
1986 (reload_as_needed, forget_old_reloads_1, forget_marked_reloads,
1987 choose_reload_regs, emit_reload_insns): Update to new
1988 reg_has_output_reload.
1989
1057fc81
JH
19902006-08-20 Jan Hubicka <jh@suse.cz>
1991
1992 PR middle-end/28779
1993 * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute
1994 function body sizes.
1995 * cgraphunit.c (cgraph_analyze_function): Don't do so.
1996
19972006-08-20 Danny Smith <dannysmith@users.sourceforge.net>
09416794
DS
1998
1999 PR target/28648 c:
2000 * tree.c (handle_dll_attribute): Return early if not a
e753d130 2001 var or function decl.
09416794 2002
16e7a51f
JM
20032006-08-18 Joseph Myers <joseph@codesourcery.com>
2004
2005 PR target/27565
2006 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
2007 alignment of SPE vector types.
2008
0a565147
CJ
20092006-08-18 Christophe Jaillet <christophe.jaillet@wanadoo.fr>
2010
2011 * tree.c (is_attribute_with_length_p): Remove a duplicated assert.
2012
343d4b27
JJ
20132006-08-17 Jakub Jelinek <jakub@redhat.com>
2014
2015 PR c/28744
2016 * cgraph.h (struct cgraph_node): Remove externally_visible
2017 bitfield.
2018 * cgraphunit.c (process_function_and_variable_attributes): Set
2019 local.externally_visible rather than externally_visible.
2020
2021 PR c/28744
2022 * c-common.c (handle_externally_visible_attribute): First look
2023 at TREE_CODE and only if it is function or var decl, check for
2024 non-public objects. Don't warn for DECL_EXTERNAL.
2025 * cgraphunit.c (process_function_and_variable_attributes): Warn
2026 if externally_visible attribute is used on non-public object.
2027
db4c7386
JH
20282006-08-17 Jan Hubicka <jh@suse.cz>
2029
2030 PR tree-optimization/27865
2031 * reload1.c (forget_marked_reloads): New function.
2032 (forget_old_reloads_1): When data are passed, just mark the registers
2033 for later removal.
2034 (reload_as_needed): Use the new mechanizm.
2035
3f1e3e70
AO
20362006-08-17 Alexandre Oliva <aoliva@redhat.com>
2037
2038 PR target/28146
2039 * reload.h (reg_equiv_alt_mem_list): New declaration.
2040 * reload1.c (reg_equiv_alt_mem_list): New definition.
2041 (reload): Initialize it and release it.
2042 (delete_output_reload): Use it.
2043 * reload.c (push_reg_equiv_alt_mem): New function.
2044 (find_reloads_toplev): Call it.
2045 (find_reloads_address, find_reloads_address_1): Likewise.
2046 (find_reloads_subreg_address): Likewise.
2047
d3b30e42
MK
20482006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
2049
2050 PR rtl-optimization/28489
2051 * sched-ebb.c (begin_schedule_ready): Create basic block
2052 at the right place.
2053 (advance_target_bb): Skip empty blocks.
2054 * haifa-sched.c (bb_note): Make global.
2055 * sched-int.h (bb_note): Add prototype.
2056
20527215
ZD
20572006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
2058
2059 PR tree-optimization/27865
2060 * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE
2061 for pointer types.
2062 * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p,
2063 fold_used_pointer, pointer_used_p): New functions.
2064 (analyze_scalar_evolution_1): Use fold_used_pointer.
2065 * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly.
2066 * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type
2067 for pointers.
2068
6d4d7b0e
PB
20692006-08-17 Paolo Bonzini <bonzini@gnu.org>
2070
2071 PR c++/28573
2072 * c-common.c (fold_offsetof_1): Add an argument and recurse down to it
05d36da1 2073 or the INTEGER_CST. Fail on a CALL_EXPR.
6d4d7b0e
PB
2074 (fold_offsetof): Pass new argument to fold_offsetof_1.
2075 * c-parser.c (c_parser_postfix_expression): Don't include a NULL
05d36da1 2076 operand into an INDIRECT_REF.
6d4d7b0e
PB
2077 * c-typeck.c (build_unary_op): Adjust call to fold_offsetof.
2078
7e2f40af
ZD
20792006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
2080
2081 PR gcov/profile/26570
2082 * value-prof.c (static_values): Removed.
2083 (tree_find_values_to_profile): Do not set static_values.
2084 (find_values_to_profile): Do not free static_values.
2085 * profile.c (instrument_values): Do not free the values.
2086 (branch_prob): Free the values.
2087
d8db3756
N
20882006-08-16 Naveen.H.S <naveenh@kpitcummins.com>
2089
2090 * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest.
2091
efed193e
JM
20922006-08-16 Joseph S. Myers <joseph@codesourcery.com>
2093
2094 PR c/27697
2095 * c-typeck.c (build_component_ref): Combine qualifiers of
2096 structure or union and field.
2097
f074ff6c
ZD
20982006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
2099
2100 PR rtl-optimization/28071
2101 * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare.
2102 * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions.
2103 * tree-into-ssa.c (struct dom_dfsnum): New.
2104 (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New
2105 functions.
2106 (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of
2107 compute_global_livein.
2108 (prepare_block_for_update, prepare_use_sites_for): Mark the uses
2109 in phi nodes in the correct blocks.
2110
b43a2366
ZD
21112006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
2112
2113 PR tree-optimization/28364
2114 * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero
2115 correctly.
2116 (fold_affine_expr): New function.
2117 (may_eliminate_iv): Use fold_affine_expr.
2118
c58e8676
VR
21192006-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2120
2121 PR c/27489
2122 * c-typeck.c (c_start_case): Handle invalid orig_type correctly.
2123 Clean up.
2124
e8c96d09
MS
21252006-08-16 Mike Stump <mrs@apple.com>
2126
2127 * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref.
2128 * doc/cppopts.texi (-MD): Likewise.
2129
55af93a8
DS
21302006-08-15 Danny Smith <dannysmith@users.sourceforge.net>
2131
2132 PR c/28287
2133 * c-common.c (handle_weak_attribute): Ignore and warn if
2134 not a FUNCTION_ or VAR_DECL.
2135
4adb785d
MS
21362006-07-15 Mike Stump <mrs@apple.com>
2137
2138 PR c/28280
2139 * c-parser.c (c_parser_typeof_specifier): Don't use
2140 c_finish_expr_stmt, open code desired semantics instead.
2141
b0faa35c
NC
21422006-08-15 Nick Clifton <nickc@redhat.com>
2143
2144 * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile
2145 fragment to tmake_file only if threads are enabled.
2146 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to...
2147 * config/i386/t-gthr-win32: New file. ... here.
2148
2c14ae9a
VR
21492006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2150
2151 PR c/28649
2152 * c-parser.c (c_parser_compound_statement_nostart): Reset
2153 parser->error after each statement.
2154
d0f53cbc
JJ
21552006-08-15 Jakub Jelinek <jakub@redhat.com>
2156
018b899b
JJ
2157 PR middle-end/28713
2158 * omp-low.c (lower_omp_parallel): Convert t to
2159 receiver_decl's type.
2160 (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR
2161 source before comparison.
2162
d0f53cbc
JJ
2163 PR middle-end/28724
2164 * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival
2165 to itype in assignment to oldival2.
2166
e63d6886
AP
21672006-07-14 Andrew Pinski <pinksia@physics.uc.edu>
2168
2169 PR c/27490
2170 PR c/27489
2171 * c-typeck.c (build_compound_expr): If the second expression
2172 is an error mark, then just return an error mark instead of
2173 creating a COMPOUND_EXPR.
2174
df511f32
MS
21752006-07-14 Mike Stump <mrs@apple.com>
2176
2177 * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES.
2178
96ff6c8c
KH
21792006-08-14 Kazu Hirata <kazu@codesourcery.com>
2180
2181 * c-decl.c, var-tracking.c: Fix comment typos.
2182
2b3969fa
RS
21832006-08-14 Richard Sandiford <richard@codesourcery.com>
2184
2185 PR rtl-optimization/28634
2186 * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A
2187 for floating-point modes unless flag_unsafe_math_optimizations.
2188
8d9f82d5
AO
21892006-08-13 Alexandre Oliva <aoliva@redhat.com>
2190 Andrew Pinski <pinskia@physics.uc.edu>
2191
2192 PR c/27184
2193 * tree.c (build_array_type): Unify array types with
2194 unspecified index_type.
2195 * c-decl.c (grokdeclarator): Make sure we do not modify a
2196 unified incomplete array type.
2197 * c-typeck.c (store_init_value): Create distinct type before
2198 filling in the index type in an initializer from a compound
2199 literal.
2200
2201 * c-decl.c (grokdeclarator): Remove code where we copy the
2202 array type over.
2203
0bff60e5
AP
22042006-08-13 Andrew Pinski <pinskia@physics.uc.edu>
2205
2206 * tree-pass.h (TODO_update_ssa): Fix which bit is used to take
2207 into account for TODO_dump_cgraph.
2208 (TODO_update_ssa_no_phi): Likewise.
2209 (TODO_update_ssa_full_phi): Likewise.
2210 (TODO_update_ssa_only_virtuals): Likewise.
2211 (TODO_remove_unused_locals): Likewise.
2212 (TODO_set_props): Likewise.
2213 (TODO_update_stmt_usage): Likewise.
2214
3f0a2a47
DM
22152006-08-13 Dirk Mueller <dmueller@suse.de>
2216
2217 * c-common.c (strict_aliasing_warning): Fix formatting.
2218
37470119
MK
22192006-08-13 Matthias Klose <doko@debian.org>
2220
2221 * doc/invoke.texi: Fix spelling errors.
2222
105ebae8
EB
22232006-08-11 Eric Botcazou <ebotcazou@libertysurf.fr>
2224
2225 PR rtl-optimization/23454
2226 * reorg.c (relax_delay_slots): Update comment.
2227
e0d0c193
RG
22282006-08-11 Richard Guenther <rguenther@suse.de>
2229
2230 PR middle-end/28651
2231 * simplify-rtx.c (simplify_const_relational_operation):
2232 Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison
2233 codes.
2234
7175769a 22352006-08-10 Eric Botcazou <ebotcazou@adacore.com>
5d5995f1
EB
2236
2237 * tree.c (build1_stat): Also propagate the TREE_CONSTANT and
2238 TREE_INVARIANT flags for a VIEW_CONVERT_EXPR.
2239
9a1a4737
PB
22402006-08-10 Paul Brook <paul@codesourcery.com>
2241
2242 * final.c (final_scan_insn): Clear current_insn_predicate before
2243 outputting inline asm.
2244
cc0968b0
DN
22452006-08-10 Dorit Nuzman <dorit@il.ibm.com>
2246
2247 PR tree-optimization/26197
2248 * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls
2249 get_ref_base_and_extent and overlap_subvar to add only relevant
2250 subvars as may-aliases.
2251 (add_may_alias_for_new_tag): New function, factored out of
2252 new_type_alias.
2253 * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias
2254 with additional argument.
2255 * tree-flow.h (new_type_alias): Takes additional argument.
2256
80b3502b
NS
22572006-08-09 Nathan Sidwell <nathan@codesourcery.com>
2258
2259 * gcov.c (no_data_file): New flag.
2260 (read_count_file): Set it if data file not present. Assume counts
2261 zero if not found.
2262 (output_lines): Don't name the data file, if there wasn't one.
2263
cef6b86c
EB
22642006-08-09 Eric Botcazou <ebotcazou@adacore.com>
2265
2266 * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust.
2267 (rs6000_generate_compare): Tweak comments.
2268 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment.
2269
ca787200
AO
22702006-08-09 Alexandre Oliva <aoliva@redhat.com>
2271
2272 * var-tracking.c (enum micro_operation_type): Add MO_COPY.
2273 (var_debug_decl): New function.
2274 (var_reg_set): Follow debug decl link. Add location even if
2275 reg is already known to hold some other variable.
2276 (var_mem_set): Follow debug decl link.
2277 (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug
2278 decl link. Delete other known locations of the variable part
2279 if requested.
2280 (var_reg_delete, var_mem_delete): Delete other known locations
2281 of the variable part if requested.
2282 (same_variable_part_p): New function.
2283 (add_stores): Select MO_COPY when appropriate.
2284 (vt_initialize): Handle it.
2285 (compute_bb_dataflow, emit_notes_in_bb): Likewise. Delete
2286 known locations for MO_SET and MO_CLOBBER.
2287 (find_variable_location_part): New function.
2288 (set_variable_part, delete_variable_part): Use it.
2289 (clobber_variable_part): New function.
2290 * dwarf2out.c (dwarf2out_var_location): Do not follow debug
2291 decl link.
2292
4192d75b 22932006-08-07 Victor Kaplansky <victork@il.ibm.com>
2f6fc0b6 2294
e753d130
AP
2295 PR tree-optimization/26969
2296 * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
2297 with an empty list of PHIs.
2f6fc0b6 2298
bab1de0a
PB
22992006-08-06 Paolo Bonzini <bonzini@gnu.org>
2300
2301 PR target/27827
2302
2303 * conffig/i386/i386.md: Add peephole2 to avoid "fld %st"
2304 instructions.
2305
884b74f0
AS
23062006-08-06 Andreas Schwab <schwab@suse.de>
2307
2308 * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format
2309 string. Whitespace and comment fixup.
2310
85cad37c
VR
23112006-08-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2312
ffc44ab6
VR
2313 PR c/28502
2314 * c-decl.c (validate_proto_after_old_defn): Return false on invalid
2315 argument.
2316
c0bcacec
VR
2317 PR c/27721
2318 * c-typeck.c (build_modify_expr): Test earlier for non-lvalues.
2319
85cad37c
VR
2320 PR c/28136
2321 * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify.
2322
71156bcc
JH
23232006-08-04 Jan Hubicka <jh@suse.cz>
2324
2325 PR target/26655
2326 PR target/28270
85cad37c
VR
2327 * reload.c (push_reload): Patch out the mismatching instruction;
2328 return early.
71156bcc
JH
2329 (find_reload): Bail out if the instruction was patched out.
2330
9659ce8b
JH
23312006-08-04 Jan Hubicka <jh@suse.cz>
2332
2333 PR tree-optimization/24888
2334 * tree-inline.c (expand_call_inline): Do not re-record variables.
2335 (declare_inline_vars): Add variable to unexpanded_var_list.
2336
824a4527
JDA
23372006-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2338 Roger Sayle <roger@eyesopen.com>
2339
2340 PR rtl-optimization/26244
2341 * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
2342 inner_const are negative or greater than or equal to the bitsize of
2343 MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
2344 Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
2345 Simplify complicated if statement. For ASHIFT and LSHIFTRT, return
2346 CONST0_RTX (mode) when the new shift count is greater than or equal to
2347 to the bitsize of the object being shifted and XEXP (y, 0) has no side
2348 effects.
2349
de1e45c3
KH
23502006-08-04 Kazu Hirata <kazu@codesourcery.com>
2351
2352 * tree-cfg.c: Fix a comment typo.
2353
f092a866
MM
23542006-08-03 Mark Mitchell <mark@codesourcery.com>
2355
2356 PR c++/28148
2357 * varasm.c (output_constant): Give the front end another chance to
2358 expand constants, after stripping NOPs.
2359
df648b94
JH
23602006-08-03 Jan Hubicka <jh@suse.cz>
2361
2362 * domwalk.c (walk_dominator_tree): Reorganize to non-recursive
2363 implementation.
2364
0be79f24
DN
23652006-08-03 Dorit Nuzman <dorit@il.ibm.com>
2366
e753d130
AP
2367 PR tree-optimization/27770
2368 * tree-vectorizer.h (get_vectype_for_scalar_type): Function
2369 declaration removed (moved to tree-flow.h).
2370 (vect_can_force_dr_alignment_p): Likewise.
2371 * tree-flow.h (get_vectype_for_scalar_type): New function declaration
2372 (moved from tree-vectorizer.h).
2373 (vect_can_force_dr_alignment_p): Likewise.
2374 * tree-vectorizer.c (vect_print_dump_info): Allow calling this function
2375 from outside the vectorizer - in particular from cgraph stage.
2376 * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase
2377 the alignment of global arrays when -fsection-anchors is enabled.
2378 * cgraphunit.c (cgraph_increase_alignment): New function.
2379 (cgraph_optimize): Call cgraph_increase_alignment.
0be79f24 2380
1650e3f5
DE
23812006-08-03 David Edelsohn <edelsohn@gnu.org>
2382
2383 PR target/27566
2384 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
2385 not reload a SPE symbol_ref into a lo_sum address.
2386
19450f2b
DJ
23872006-08-02 Daniel Jacobowitz <dan@codesourcery.com>
2388
2389 PR debug/28063
2390 * dwarf2out.c (prune_unused_types_prune): Move call to
2391 prune_unused_types_update_strings to cover the parent DIE also.
2392
0a4fe58f
JH
23932006-08-02 Jan Hubicka <jh@suse.cz>
2394
2395 PR gcov/profile/28480
2396 * tree-cfg.c (change_bb_for_stmt): New function.
2397 (tree_merge_blocks, tree_split_blocks): Use it.
2398
413803d3
VR
23992006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2400
2401 PR c++/28250
2402 PR c++/28257
2403 PR c++/28259
2404 PR c++/28267
2405 * toplev.c (compile_file): Return early on errorcount or sorrycount.
2406 * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
2407 (cgraph_optimize): Likewise.
2408
4fbbe694
SH
24092006-08-01 Stuart Hastings <stuart@apple.com>
2410
2411 * rtl.h (UINTVAL) New.
2412 * config/rs6000/rs6000.c (SMALL_INT) Use it.
2413 * testsuite/gcc.dg/20060801-1.c: New.
05d36da1 2414
6193b8b7
DJ
24152006-08-01 Daniel Jacobowitz <dan@codesourcery.com>
2416
2417 PR debug/23336
2418 * c-typeck.c (build_external_type): Mark used enum types.
2419 * dwarf2out.c (dwarf2out_abstract_function): Save and restore
2420 cfun also.
2421 (gen_subprogram_die): Whitespace fix.
2422
9824b886
JH
24232006-08-01 Jan Hubicka <jh@suse.cz>
2424
2425 * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars
2426 bitmap when not needed.
2427 * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary
2428 bitmaps.
2429
53743367
DM
24302006-08-01 Dirk Mueller <dmueller@suse.de>
2431
2432 * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
2433
73e9d512
VR
24342006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2435
2436 * Makefile.in: Revert part of previous patch:
2437 Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H
2438 and REGS_H.
2439
1ccbef77
EC
24402006-07-30 Eric Christopher <echristo@apple.com>
2441
2442 PR target/27543
2443 * doc/extend.texi (i386 Variable Attributes): Add anchor.
2444 (PowerPC Variable Attributes): New section.
2445
56ee081b
AN
24462006-07-30 Atsushi Nemoto <anemo@mba.ocn.ne.jp>
2447
2448 PR target/28126 (partial fix)
2449 * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
2450
370adb7b
JH
24512006-07-28 Jan Hubicka <jh@suse.cz>
2452
2453 PR rtl-optimization/28071
2454 * cfgrtl.c (rtl_delete_block): Free regsets.
2455 * flow.c (allocate_bb_life_data): Re-use regsets if available.
2456
48779194
VR
24572006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2458
2459 * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies
2460 and variables used in dependencies.
2461
fa6adcab
AV
24622006-07-27 Arjan van de Ven <arjan@linux.intel.com>
2463
2464 * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than
2465 %fs for -mcmodel=kernel.
2466 (stack_tls_protect_test_di): Likewise.
2467
ab7efd91
CD
24682006-07-27 Carlos O'Donell <carlos@codesourcery.com>
2469
2470 * Makefile.in: Use mkinstalldirs.
2471
faa88843
L
24722006-07-27 H.J. Lu <hongjiu.lu@intel.com>
2473
2474 PR driver/28437
2475 * opts-common.c (prune_options): Skip joined switches.
2476
96d0cc81
JH
24772006-07-27 Jan Hubicka <jh@suse.cz>
2478
2479 PR rtl-optimization/28071
2480 * cselib.c (cselib_process_insn): Don't remove useless values too
2481 often for very large hashtables.
2482
69bfd3c9
JH
24832006-07-27 Jan Hubicka <jh@suse.cz>
2484
2485 PR rtl-optimization/28071
2486 * global.c (greg_obstack): New obstack.
2487 (allocate_bb_info): Use it.
2488 (free_bb_info): Likewise.
2489 (modify_reg_pav): Likewise.
2490
482c6ce8
RS
24912006-07-27 Roger Sayle <roger@eyesopen.com>
2492
2493 * builtins.c (fold_fixed_mathfn): When long and long long are the
2494 same size, canonicalize llceil*, llfloor*, llround* and llrint*
2495 functions to their lceil*, lfloor*, lround* and lrint* forms.
2496
721cedf2
KI
24972006-07-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2498
2499 PR gcc/28508
2500 * config/m32r/m32r.md (branch_insn): Reduce pc range for short
2501 branch.
2502 (rev_branch_insn): Likewise.
2503
65d169d9
JH
25042006-07-27 Jan Hubicka <jh@suse.cz>
2505
2506 PR rtl-optimization/28071
2507 * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour.
2508 (reg_set_in_bb, max_reg_computed): New static variables.
2509 (regmove_optimize): Free the new array.
2510 (fixup_match_1): Update call of reg_is_remote_constant_p.
2511
96fc428c
JH
25122006-07-26 Jan Hubicka <jh@suse.cz>
2513
2514 PR tree-optimization/27882
2515 * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous
2516 and decl fields.
2517 * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill
2518 next pointer
2519 (cgraph_analyze_compilation_unit): Likewise.
2520 * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
2521 * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise.
2522 (cgraph_early_inlinine): Make order garbage collected.
2523 * Makefile.in (gt-ipa-inline): New garbagecollected file.
2524
88c4be5e
DJ
25252006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
2526
2527 * dbxout.c (output_types_sort): Add a comment.
2528 (output_used_types): Free the VEC.
2529
51b7d006
DJ
25302006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
2531
2532 * function.c (reorder_fix_fragments): Delete.
2533 (reorder_blocks): Don't call it.
2534 (reorder_blocks_1): Put all subblocks under the origin block.
2535
e69e3d0e
ZD
25362006-07-26 Zdenek Dvorak <dvorakz@suse.cz>
2537
2538 PR rtl-optimization/27907
2539 * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and
2540 FLOAT_TRUNCATE.
2541
738764ef
RS
25422006-07-25 Roger Sayle <roger@eyesopen.com>
2543
2544 PR middle-end/28473
2545 * convert.c (convert_to_integer): When transforming (T)foo(x) into
2546 bar(x) check that bar's result type can represent all the values of T.
2547
cdc30c45
ZD
25482006-07-25 Zdenek Dvorak <dvorakz@suse.cz>
2549
2550 * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure.
2551
6583cf15
NC
25522006-07-25 Nick Clifton <nickc@redhat.com>
2553
2554 * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the
2555 size_lookup[] array.
2556 (ggc_alloc_stat): Use NUM_SIZE_LOOKUP.
2557 (ggc_pch_count_object): Likewise.
2558 (ggc_pch_alloc_object): Likewise.
2559 (ggc_pch_write_object): Likewise.
2560 (init_ggc): Do not attempt to initialize entries in the
2561 size_lookup[] array for objects whose size is greater than than
2562 the length of the array.
2563
2daec0f0
DJ
25642006-07-25 Daniel Jacobowitz <dan@codesourcery.com>
2565
2566 * dbxout.c (output_used_types_helper): Push queued types
2567 on a VEC.
2568 (output_types_sort): New.
2569 (output_used_types): Collect used types on a VEC and sort them
2570 before emission.
2571
63c2d00c
RG
25722006-07-24 Richard Guenther <rguenther@suse.de>
2573
2574 PR middle-end/28463
2575 * cgraph.c (cgraph_remove_node): Do not check if dumps
2576 are enabled.
2577 * cgraphunit.c (cgraph_optimize): Likewise.
2578
597ae074
JH
25792006-07-24 Jan Hubicka <jh@suse.cz>
2580
2581 PR rtl-optimization/28071
2582 * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes.
2583 * tree-iterator.c (tsi_split_statement_list_before): Do not crash when
2584 splitting before first stmt.
2585
f10d1a74
JH
25862006-07-24 Jan Hubicka <jh@suse.cz>
2587
2588 PR rtl-optimization/28071
2589 * ipa-inline.c (update_caller_keys): Remove edges that
2590 are no longer inline candidates.
2591
f629051e
DJ
25922006-07-23 Daniel Jacobowitz <dan@codesourcery.com>
2593
2594 PR debug/27473
2595 * dbxout.c (output_used_types_helper, output_used_types): New.
2596 (dbxout_symbol): Call output_used_types.
2597
386b46cf
JH
25982006-07-23 Jan Hubicka <jh@suse.cz>
2599
2600 PR c/25795
2601 PR c++/27369
2602 * cgraph.c (cgraph_varpool_nodes): Export.
2603 (decide_is_variable_needed): Ignored "used" attribute in
2604 unit-at-a-time mode.
2605 * cgraph.h (cgraph_varpool_nodes): Declare.
2606 * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in
2607 unit-at-a-time mode.
2608
74e55d0f
RS
26092006-07-23 Roger Sayle <roger@eyesopen.com>
2610
2611 PR target/28247
2612 * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and
2613 mutex_destroy even when !_LIBOOBJC. Remove duplicate prototype of
2614 the __gthrw form of thr_keycreate.
2615 (__gthread_key_delete): Silence the unused argument warning.
2616
d88259d1
SB
26172006-07-23 Steven Bosscher <steven@gcc.gnu.org>
2618
2619 PR debug/25468
2620 * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
2621 Cache the last found '\0' marker to avoid quadratic behavior.
2622
3dcdd4e4
JH
26232006-07-23 Jan Hubicka <jh@suse.cz>
2624
2625 * i386.md (subsi_3_zext): Fix output template.
2626
dfb84d62
MS
26272006-07-21 Mike Stump <mrs@apple.com>
2628
2629 * doc/invoke.texi (C++ Dialect Options): Note that
2630 -fvisibility-inlines-hidden doesn't affect explicitly
2631 instantiationed inline methods.
2632
79387e57
RS
26332006-07-20 Roger Sayle <roger@eyesopen.com>
2634
2635 * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file
2636 if the target assembler is GNU binutils' gas.
2637 * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine
2638 whether to pass GNU gas or native as command line options.
2639
b70f0f48
JM
26402006-07-20 Jason Merrill <jason@redhat.com>
2641
2642 * tree.c (remove_attribute): New fn.
bd741f34 2643 * tree.h: Declare it.
b70f0f48 2644
05c433f3
PB
26452006-07-20 Paul Brook <paul@codesourcery.com>
2646
2647 PR 27363
2648 * cse.c (cse_insn): Add destination addresses to hash table. Check if
2649 they are invalidated by this instruction.
2650
b0e46dff
DS
26512006-07-21 Danny Smith <dannysmith@users.sourceforge.net>
2652
2653 PR target/28427
e753d130 2654 * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
b0e46dff 2655
1cba2b96
EC
26562006-07-20 Eric Christopher <echristo@apple.com>
2657
2658 PR target/26877
2659 * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder.
2660
96f342c1
EC
26612006-07-19 Eric Christopher <echristo@apple.com>
2662
2663 * config/t-slibgcc-darwin (stmp-lipo): Remove.
2664 Rewrite dependencies for libgcc_s.1.dylib.
2665
4841d432
JJ
26662006-07-19 Jakub Jelinek <jakub@redhat.com>
2667
2668 * except.c (duplicate_eh_regions_1): Clear next_peer.
2669
87c365a4
NS
26702006-07-17 Nathan Sidwell <nathan@codesourcery.com>
2671
2672 * doc/invoke.texi (RS/6000 and PowerPC Options): Document that
2673 -mlongcall does not guarantee all calls will be long.
2674 * doc/extend.texi (long_call/short_call): Document that longcall
2675 does not guarantee a long call will be used.
2676 (longcall/shortcall): Likewise.
2677
cb2eb96f
RS
26782006-07-18 Roger Sayle <roger@eyesopen.com>
2679
2680 PR middle-end/28283
2681 * expmed.c (expand_shift): Additionally check that the shift_cost
2682 is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
2683 before implementing a LSHIFT_EXPR as a sequence of additions.
2684 * config/sh/sh.c (shift_costs): Return MAX_COST to inform the
2685 middle-end that DImode shifts need to be synthesized by expand.
2686
548a6c6d
DN
26872006-07-18 Diego Novillo <dnovillo@redhat.com>
2688
2689 PR 28410
2690 * tree-ssa-operands.c (access_can_touch_variable): Update
2691 comment.
2692 Return true if ALIAS is .GLOBAL_VAR.
2693
b3cccd58
DD
26942006-07-18 David Daney <ddaney@avtrex.com>
2695
2696 * gcc.c (display_help): Fix typo in help text.
2697
fe24d485
OH
26982006-07-18 Olivier Hainque <hainque@adacore.com>
2699
2700 * tree.h (categorize_ctor_elements): Adjust prototype and add
2701 descriptive comment, both in accordance with the interface change
2702 described below.
2703 * varasm.c (constructor_static_from_elts_p): New function.
2704 Whether a constructor node is a valid static constant initializer
2705 if all its elements are.
2706 (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
96f342c1 2707 * output.h: Declare it.
fe24d485
OH
2708 * expr.c (categorize_ctor_elements_1): Return whether the constructor
2709 is a valid constant initializer instead of computing the number of
2710 non-constant elements. Use constructor_static_from_elts_p for this
2711 purpose. Replace the head comment with an indication that this is a
2712 helper for categorize_ctor_elements.
2713 (categorize_ctor_elements): Same interface change as for the _1
2714 helper. Former head comment from this helper moved here, adjusted to
2715 account for the interface changes.
2716 (mostly_zeros_p): Adjust call to categorize_ctor_elements.
96f342c1 2717 (all_zeros_p): Likewise.
fe24d485
OH
2718 * gimplify.c (gimplify_init_constructor): Decide whether we can make
2719 static versions of the constructor from the categorize_ctor_elements
2720 return value instead of the formerly computed number of non-constant
2721 elements.
2722
57255173
PB
27232006-07-18 Paolo Bonzini <bonzini@gnu.org>
2724
e753d130
AP
2725 * configure: Regenerate.
2726 * Makefile.in (build_libsubdir): New configure substitution
2727 (build_libobjdir): New variable.
2728 (BUILD_LIBIBERTY): Use it.
57255173 2729
12050e44
VR
27302006-07-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2731
2732 PR c/28286
2733 * c-pragma.c (handle_pragma_pack): Handle invalid constants.
2734
e1cf56b1
AO
27352006-07-18 Alexandre Oliva <aoliva@redhat.com>
2736
2737 PR c/26993
2738 * c-common.c (handle_weakref_attribute): Ignore attribute in
2739 the same conditions the alias attribute is ignored.
2740
e098f3a5
CD
27412006-07-17 Carlos O'Donell <carlos@codesourcery.com>
2742
2743 * dbxout.c (dbxout_function_end): Do not increment scope_labelno.
2744 (dbxout_begin_prologue): Increment scope_labelno.
2745
8bcbc000
RH
27462006-07-17 Richard Henderson <rth@redhat.com>
2747
2748 PR 27889
2749 * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
2750 if needed.
2751
4f5afe7d
RS
27522006-07-17 Roger Sayle <roger@eyesopen.com>
2753 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2754
2755 * config/i386/gmon-sol2.c: Silence compilation warnings by partially
2756 synchronizing code with config/sparc/gmon-sol2.c. Remove #if 0
2757 blocks. #include "tconfig.h" and "tsystem.h" to prototype system
2758 functions such as sbrk, write, etc.. Add function prototypes.
2759 Convert function declarations from K&R to ISO C. Cast pointers
2760 to "long" and "unsigned long" instead of "int" and "unsigned int".
2761 Convert tokens following #endif into comments.
2762
dc5abe77
TM
27632006-07-17 Toon Moene <toon@moene.indiv.nluug.nl>
2764
2765 * invoke.texi: Remove mention of f77; Reformat table for
2766 inline parameter options correctly; mention that -malign-double
2767 is default on x86-64 targets.
2768
64a7ab5f
ZD
27692006-07-17 Zdenek Dvorak <dvorakz@suse.cz>
2770
2771 * tree-chrec.c (avoid_arithmetics_in_type_p): New.
2772 (convert_affine_scev, chrec_convert_aggressive): Use
2773 avoid_arithmetics_in_type_p. Do not check for the subtypes
2774 separately.
2775
2763a67e
RS
27762006-07-17 Richard Sandiford <richard@codesourcery.com>
2777
2778 PR middle-end/28403
2779 * optabs.c (expand_doubleword_shift): Wrap the call to
2780 do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.
2781
f8bdb931
RS
27822006-07-17 Richard Sandiford <richard@codesourcery.com>
2783
2784 PR middle-end/28402
2785 * optabs.c (expand_binop): Pass next_methods rather than methods
2786 to expand_doubleword_shift.
2787
24a7799e
R
27882006-07-17 J"orn Rennecke <joern.rennecke@st.com>
2789
2790 PR other/28251
2791 * tree.h (dump_addr): Declare.
2792 * print-tree.c (dump_addr): New function.
2793 (print_node_brief, print_node): Use it.
2794 * print-rtl.c (print_rtx): Likewise.
2795 * common.opt (-fdump-noaddr): New option.
2796 * doc/invoke.texi (-fdump-noaddr): Document.
2797 * loop-unroll.c (si_info_hash): Make hash independent of addresses.
2798 (ve_info_hash): Likewise.
2799
9d335249
AH
28002006-07-13 Andrew Haley <aph@redhat.com>
2801
2802 PR tree-optimization/19505
2803 * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
2804 edge leaving this block, make sure that the destination of this
2805 block has only one predecessor.
2806
2b65dae5
RG
28072006-07-17 Richard Guenther <rguenther@suse.de>
2808
2809 PR tree-optimization/28238
2810 * tree-inline.c (copy_bb): Check if we produced valid
2811 gimple copying and substituting a stmt. If not, gimplify
2812 it.
2813
3e27aa84
EB
28142006-07-16 Eric Botcazou <ebotcazou@adacore.com>
2815
2816 * optabs.c (maybe_encapsulate_block): New function extracted from...
2817 (emit_libcall_block): ...here. Invoke it on the block of insns to
2818 maybe emit REG_LIBCALL/REG_RETVAL notes around the block.
2819 (emit_no_conflict_block): Likewise.
2820
bb2ffd7f
EB
28212006-07-16 Eric Botcazou <ebotcazou@libertysurf.fr>
2822
c5ee132b 2823 * doc/install.texi (sparc-sun-solaris2*): Add GMP version number.
bb2ffd7f 2824
b0d5d5de
RS
28252006-07-15 Roger Sayle <roger@eyesopen.com>
2826
2827 * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into
2828 a new NOP_EXPR case of the switch statement.
2829
72aeff7c
KK
28302006-07-15 Kaz Kojima <kkojima@gcc.gnu.org>
2831
2832 PR middle-end/28160
2833 * stor-layout.c (place_field): Take the bit field with
2834 an excessive size into account in the ms-bitfiled case.
2835
2836 PR middle-end/28161
2837 * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of
2838 the previous bit field.
2839
27714d43
ED
28402006-07-14 Eliot Dresselhaus <eliot@sonic.net>
2841
2842 PR target/27287
2843 * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
2844
47a4949a
UW
28452006-07-14 Ulrich Weigand <uweigand@de.ibm.com>
2846
2847 * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect
2848 signal frames correctly even when the signal was installed with
2849 sa_restorer set.
2850
1c1534e9 28512006-07-14 Carlos O'Donell <carlos@codesourcery.com>
03471b3f
CD
2852
2853 * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start.
96f342c1 2854 (dbxout_function_end): Use local label LFBB. Remove hook
1c1534e9 2855 DBX_OUTPUT_NFUN.
03471b3f
CD
2856 (dbxout_source_line): Use local label LFBB.
2857 (dbxout_block): Likewise.
2858 (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC.
2859 (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC.
2860 * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC,
2861 and DBX_OUTPUT_NFUN.
2862
263108e1
JJ
28632006-07-13 Janis Johnson <janis187@us.ibm.com>
2864
2865 * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail.
2866
88d03811
JH
28672006-07-13 Jan Hubicka <jh@suse.cz>
2868
2869 * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call
2870 align_variable.
2871 * output.h (align_variable): Declare.
2872 * varasm.c (align_variable): Export.
2873 * value-prof.c (tree_value_profile_transformations): Recompute iterator
2874 when basic block changed.
2875
6915d7f0
NC
28762006-07-13 Nick Clifton <nickc@redhat.com>
2877
2878 * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst
2879 walking the LOG_LINKS chain.
96f342c1 2880
7c0de6a5
GK
28812006-07-12 Geoffrey Keating <geoffk@apple.com>
2882
2883 * doc/invoke.texi (C++ Dialect Options): Explain difference
2884 between -fvisibility-inlines-hidden and setting hidden
2885 visibility explicitly.
2886
3fb8727b
EC
28872006-07-12 Eric Christopher <echristo@apple.com>
2888
2889 * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo.
2890 (stmp-lipo): Depend on libgcc.a.
2891
5f89204e
KH
28922006-07-12 Kazu Hirata <kazu@codesourcery.com>
2893
2894 * tree.c: Fix a comment typo.
2895
8a01e7d9
N
28962006-07-12 Naveen.H.S <naveenh@kpitcummins.com>
2897
3fb8727b 2898 * config/m32c/muldiv.md (umulhisi3_c): Use only registers for
8a01e7d9
N
2899 dest.
2900 (umulhisi3_r): Likewise.
2901
93e89068
PC
29022006-07-12 Paolo Carlini <pcarlini@suse.de>
2903
2904 PR libstdc++/27878
2905 * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x,
2906 x < 19, vs wchar_t support.
2907
45e49d96
NC
29082006-07-12 Nick Clifton <nickc@redhat.com>
2909
2910 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up
2911 instead of -isa=sh4.
2912
f2702694
MS
29132006-07-12 Mike Stump <mrs@apple.com>
2914
2915 * protoize.c (edit_fn_definition): Add volatile to clean_text_p.
2916
fb49f596
EC
29172006-07-10 Eric Christopher <echristo@apple.com>
2918
2919 * config/t-slibgcc-darwin: Rewrite.
2920
b24f7f6b
LB
29212006-07-10 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2922
2923 PR bootstrap/20437
2924 * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4
2925 dependencies.
2926
0ee5ccdf
MK
29272006-07-08 Matthias Klose <doko@debian.org>
2928
2929 * doc/sourcebuild.texi: Fix typo.
2930
72d41343
MS
29312006-07-07 Mike Stump <mrs@apple.com>
2932
2933 * toplev.c (process_options): Don't give -ffunction-sections may
2934 affect debugging warning for Mach-O.
2935
c81d6e2a
JW
29362006-07-07 James E Wilson <wilson@specifix.com>
2937
2938 * config/mips/mips.md (cpu): Add sb1a.
2939 * config/mips/sb1.md: Modify almost all patterns to accept sb1a in
2940 addition to sb1. Adjust comments to clarify SB-1A differences from
2941 SB-1.
2942 (ir_sb1a_load): New. Modify bypasses to use it.
2943 (ir_sb1a_simple_alu): Likewise.
2944 * config/mips/mips.c (mips_cpu_info_table): Add sb1a.
2945 (mips_rtx_cost_data): Add PROCESSOR_SB1A support.
2946 (mips_issue_rate): Add PROCESSOR_SB1A.
2947 (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1.
2948 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A.
2949 (TARGET_SB1): Add PROCESSOR_SB1A check.
2950 (TUNE_SB1): Likewise.
2951
2952 * config/mips/mips-protos.h (mips_store_data_bypass_p): New.
2953 * config/mips/mips.c (mips_store_data_bypass_p): New.
2954 * config/mips/sb1.md: Use mips_store_data_bypass_p instead of
2955 store_data_bypass_p.
2956
1b13a490
PB
29572006-07-08 Paul Brook <paul@codesourcery.com>
2958
2959 PR target/27991
2960 * config/m68k/m68k.md: Add r-m patterns for 68881 movxf.
2961
bfabddb6
RG
29622006-07-07 Richard Guenther <rguenther@suse.de>
2963
2964 PR middle-end/28268
2965 * tree.h (build_one_cst): Declare.
2966 * tree.c (build_one_cst): New function.
2967 * tree-ssa-math-opts.c (get_constant_one): Remove.
2968 (insert_reciprocals): Use build_one_cst.
2969 * fold-const.c (fold_plusminus_mult): Likewise.
2970
83f676b3
RS
29712006-07-07 Roger Sayle <roger@eyesopen.com>
2972
2973 * pointer-set.c (pointer_set_destroy): Correct whitespace.
2974 * cfgloopanal.c (dump_graph): Likewise.
2975 * dojump.c (discard_pending_stack_adjust): Likewise.
2976 * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES):
2977 Likewise.
2978 * alloc-pool.c (dump_alloc_pool_statistics): Likewise.
2979 * function.c (finalize_block_changes): Likewise.
2980 * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise.
2981 * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise.
2982 * rtl.c (dump_rtx_statistics): Likewise.
fb49f596 2983 * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars):
83f676b3
RS
2984 Likewise.
2985 * varray.c (dump_varray_statistics): Likewise.
2986 * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
2987 decode_decimal64, encode_decimal128, decode_decimal128,
2988 decimal_real_to_decimal): Likewise.
2989
1ce35d26
RG
29902006-07-07 Richard Guenther <rguenther@suse.de>
2991
2992 PR tree-optimization/28187
2993 * tree-vrp.c (vrp_operand_equal_p): New function.
2994 (vrp_bitmap_equal_p): Likewise.
2995 (update_value_range): Use them to compare old and new
2996 max and min values.
2997
9e33de05
RS
29982006-07-06 Roger Sayle <roger@eyesopen.com>
2999
3000 * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add
3001 a default case to switch statement to silence compiler warnings.
3002
b6c03bcd
RS
30032006-07-06 Roger Sayle <roger@eyesopen.com>
3004
3005 PR target/27968
fb49f596 3006 * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether
b6c03bcd
RS
3007 the configured assembler supports the x87's ffreep mnemonic.
3008 * configure: Regenerate.
3009 * config.in: Regenerate.
3010
3011 * config/i386/i386.c (output_387_ffreep): New function.
3012 (output_fp_compare): Use output_387_ffreep to emit ffreep insns.
3013 (output_387_reg_move): Likewise.
3014
27b56ba6
PE
30152006-07-06 Paul Eggert <eggert@cs.ucla.edu>
3016
3017 Port to hosts whose 'sort' and 'tail' implementations
3018 treat operands with leading '+' as file names, as POSIX
3019 has required since 2001. However, make sure the code still
3020 works on pre-POSIX hosts.
3021 * Makefile.in (slowcompare): Port to POSIX 1003.1-2001,
3022 which says you should use "tail -c +N" rather than "tail +Nc".
3023 Fix a bug: the old code incorrectly skipped 15 bytes, not 16.
3024
525dc87d
ZD
30252006-07-06 Zdenek Dvorak <dvorakz@suse.cz>
3026
b6c03bcd
RS
3027 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in
3028 argument name.
525dc87d 3029
429ec7dc
DE
30302006-07-06 David Edelsohn <edelsohn@gnu.org>
3031
3032 PR target/28150
3033 * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
3034 PRE_{INC,DEC} of TFmode.
3035
30362006-07-06 David Edelsohn <edelsohn@gnu.org>
3037 Alan Modra <amodra@bigpond.net.au>
3038
3039 PR target/28170
3040 * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
3041 bounds. Simplify.
3042
cec12c7a
RO
30432006-07-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3044
3045 PR target/28285
3046 * config/alpha/predicates.md (alpha_swapped_comparison_operator):
3047 Remove duplicate gtu.
3048
1937f939
JM
30492006-07-05 Jason Merrill <jason@redhat.com>
3050
3051 PR c++/13983
3052 PR c++/17519
3053 * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
3054 * c-common.c (handle_packed_attribute): So don't copy it here.
3055 * c-decl.c (finish_struct): Don't copy TYPE_ALIGN.
3056
63b08b60
MS
30572006-07-05 Mike Stump <mrs@apple.com>
3058
3059 * doc/invoke.texi (Invoking G++): Clarify prose for g++.
3060
28a026d9
L
30612006-07-05 H.J. Lu <hongjiu.lu@intel.com>
3062
3063 PR target/26146
3064 * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*.
3065
dc8f5205
RG
30662006-07-05 Richard Guenther <rguenther@suse.de>
3067
3068 PR target/28158
3069 * config/i386/i386.md (*negdf2_1): Restrict pattern to
3070 TARGET_SSE2 targets if using SSE math.
3071 (*absdf2_1): Likewise.
3072
30a843c3
RG
30732006-07-05 Richard Guenther <rguenther@suse.de>
3074
3075 PR tree-optimization/28162
3076 * fold-const.c (fold_binary): For (-A) * (-B) -> A * B
3077 make sure to convert the operands to the correct type.
3078
d898f3ce
PB
30792006-07-04 Paolo Bonzini <bonzini@gnu.org>
3080
3081 PR tree-optimization/28218
3082
3083 * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls
3084 to calculate and free the dominator information.
fb49f596 3085
706601d9
PG
30862006-07-04 Peter O'Gorman <peter@pogma.com>
3087
3088 * mklibgcc.in: chmod 644 before ranlib during install.
3089
dbc02e7f
AS
30902006-07-04 Andrew Stubbs <andrew.stubbs@st.com>
3091 J"orn Rennecke <joern.rennecke@st.com>
3092
3093 * configure.ac (.eh_frame data check): Use diff -b.
3094
0b50988a
EB
30952006-07-04 Eric Botcazou <ebotcazou@libertysurf.fr>
3096
3097 PR bootstrap/18058
3098 * Makefile.in (BUILD_RTL): Add build/vec.o.
3099 (build/gencondmd.o): Filter out -fkeep-inline-functions.
3100 (build/genextract): Delete.
3101 (build/genautomata): Likewise.
3102
84e9ad15
AM
31032006-07-04 Alan Modra <amodra@bigpond.net.au>
3104
3105 PR target/28207
3106 * config/rs6000/rs6000.c (function_arg_boundary): Double-word align
3107 128-bit IBM long doubles for ABI_V4.
3108
11fc4275
EB
31092006-07-03 Eric Botcazou <ebotcazou@adacore.com>
3110
3111 * tree.c (range_in_array_bounds_p): New predicate.
3112 * tree.h (range_in_array_bounds_p): Declare it.
3113 * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to
3114 return a less conservative answer.
3115 * tree-sra.c (struct sra_elt): Add new pointer field 'groups'
3116 and flag 'is_group'.
3117 (IS_ELEMENT_FOR_GROUP): New macro.
3118 (FOR_EACH_ACTUAL_CHILD): Likewise.
3119 (next_child_for_group): New helper function.
3120 (can_completely_scalarize_p): Take into account groups.
3121 (sra_hash_tree): Handle RANGE_EXPR.
3122 (sra_elt_eq): Likewise.
3123 (lookup_element): Be prepared for handling groups.
3124 (is_valid_const_index): Delete.
3125 (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p
3126 instead of is_valid_const_index.
3127 <ARRAY_RANGE_REF>: New case.
3128 (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of
3129 is_valid_const_index.
3130 <ARRAY_RANGE_REF>: Do not unconditionally punt.
3131 (scan_dump): Dump info for groups too.
3132 (decide_instantiation_1): Likewise.
3133 (decide_block_copy): Assert that the element is not a group.
3134 Propagate decision to groups.
3135 (generate_one_element_ref): Handle RANGE_EXPR.
3136 (mark_no_warning): Iterate over actual childs.
3137 (generate_copy_inout): Likewise.
3138 (generate_element_copy): Likewise.
3139 (generate_element_zero): Likewise.
3140 (generate_element_init_1): Likewise.
3141 (dump_sra_elt_name): Handle RANGE_EXPR.
3142
31a9760a
RS
31432006-07-03 Roger Sayle <roger@eyesopen.com>
3144
3145 PR tree-optimization/26251
3146 * tree-ssa-threadupdate.c (redirection_block_p): New function.
3147 (thread_block): When optimizing for size refuse to thread jumps
3148 that would require duplication of blocks other than redirection
3149 blocks.
3150
b6348cb3
PB
31512006-07-03 Paolo Bonzini <bonzini@gnu.org>
3152
3153 * configure.ac: Fix thinko in previous check-in.
3154 * configure: Regenerate.
3155
1546bb64
PB
31562006-07-03 Paolo Bonzini <bonzini@gnu.org>
3157
3158 PR other/27063
3159 * configure.ac (for lang...): Simplify nesting of conditionals.
3160 Test subdir_requires for non-enabled languages. Move processing
3161 of lang_opt_files and lang_tree_fiels below that test.
3162 * configure: Regenerate.
3163 * doc/sourcebuild.texi (Front End Config): Document subdir_requires.
3164
3e72a66f
MM
31652006-07-01 Martin Michlmayr <tbm@cyrius.com>
3166
3167 * doc/gcov.texi (Invoking Gcov): Add a missing word.
3168
2a8a8292
KH
31692006-06-30 Kazu Hirata <kazu@codesourcery.com>
3170
3171 * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix
3172 comment typos.
3173
b9e75696
JM
31742006-06-29 Jason Merrill <jason@redhat.com>
3175
3176 PR c++/26905
3177 PR c++/26612
3178 PR c++/27000
3179 PR c++/26984
3180 PR c++/19134
3181 * tree.c (build_decl_stat): Don't hande #pragma visibility here.
3182 * c-common.c (c_determine_visibility): Handle it here.
fb49f596 3183 * c-decl.c (finish_decl): Call c_determine_visibility for
b9e75696
JM
3184 functions, too.
3185 * flags.h (enum symbol_visibility): Sort from most to least visibility.
3186 * tree.h: Likewise.
3187 * varasm.c (default_assemble_visibility): Likewise.
3188 * c-common.c (handle_visibility_attribute): Complain about trying
3189 to give visibility to an already defined class, or trying to change
3190 declared visibility. Always attach the attribute.
3191
3192 PR c++/26905
3193 PR c++/21675
3194 PR c++/17470
3195 * attribs.c (decl_attributes): Ignore type-in-place attributes
3196 once the type has been defined.
3197
8646f3df
RS
31982006-06-29 Roger Sayle <roger@eyesopen.com>
3199
3200 PR middle-end/27428
3201 * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
3202 to indicate the cpplib has issued an error message for us.
3203
f8c2645c
AL
32042006-06-29 Asher Langton <langton2@llnl.gov>
3205
3206 PR target/25765
3207 * config/i386/i386.c (ix86_output_function_epilogue): Don't
3208 insert a label at the end of an function under Mach-O.
fb49f596 3209
5656a184
EC
32102006-06-29 Eric Christopher <echristo@apple.com>
3211 Evan Cheng <evan.cheng@apple.com>
3212
3213 * predicates.md (vector_all_ones_operand): New.
3214 (nonimmediate_or_sse_const_operand): Ditto.
3215 * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare.
3216 * config/i386/i386.c (standard_sse_constant_opcode): Define.
3217 (standard_sse_mode_p): Ditto.
3218 (standard_sse_constant_p): Add case for -1 vector.
3219 (ix86_expand_vector_move): Try to use.
3220 * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand.
3221 Call standard_sse_constant_opcode.
3222 (*movv4sf_internal): Ditto.
3223 (*movv2df_internal): Ditto.
3224
c8d560fa
RS
32252006-06-29 Roger Sayle <roger@eyesopen.com>
3226
3227 * genpreds.c (write_match_code_switch): Correctly use XSTR instead
3228 of XEXP to extract the operands of a MATCH_CODE rtx.
3229
43b50eb2
AP
32302006-06-28 Andrew Pinski <pinskia@gmail.com>
3231
3232 * tree.c (tree_size): Do not waste tail padding in
3233 struct tree_string and make the size be the same as
3234 build_string will generate.
3235
99495729
JM
32362006-06-28 Jason Merrill <jason@redhat.com>
3237
3238 PR c++/27768
3239 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
3240 may_aliases already in the tag's annotations to the bitmap.
3241
8547c7f8
RS
32422006-06-28 Roger Sayle <roger@eyesopen.com>
3243
3244 * genpreds.c (write_predicate_stmts) <IOR>: Add missing break.
3245
7caf6734
RS
32462006-06-28 Roger Sayle <roger@eyesopen.com>
3247
3248 * genpreds.c (generate_switch_p): New function.
3249 (add_mode_tests): Push the new mode test down inside an AND expr
3250 if this allows the switch-suitable MATCH_CODE to be near the root.
3251 (write_match_code_switch): New function to write a MATCH_CODE as
3252 a switch statement.
3253 (write_predicate_stmts): New function to write a predicate RTX
3254 expression as a sequence of statements.
3255 (write_one_predicate_function): Use write_predicate_stmts.
3256 (write_tm_constrs_h): Likewise.
3257
f340b6fc
FF
32582006-06-26 Fred Fish <fnf@specifix.com>
3259
3260 * config/mips/t-sb1: New file.
3261 * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to
3262 tmake_file list.
3263
ff485e71
DD
32642006-06-26 DJ Delorie <dj@redhat.com>
3265
3266 * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic.
3267
32682006-06-26 Naveen H.S <naveenh@kpitcummins.com>
3269 Jayant Sonar <jayants@kpitcummins.com>
3270 Jaydeep Vipradas <jaydeepv@kpitcummins.com>
3271
3272 * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New.
3273 (subsi3, subsi3_1, subsi3_2): New.
3274 * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New.
3275 * config/m32c/mov.md (SI mov peephole): New.
3276 * config/m32c/m32.c (m32c_immd_dbl_mov): New.
3277 * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New.
5656a184 3278
500c353d
OH
32792006-06-26 Olivier Hainque <hainque@adacore.com>
3280
3281 * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on
3282 a CALL_EXPR target function declaration.
3283
28df01ac
RG
32842006-06-26 Richard Guenther <rguenther@suse.de>
3285
3286 * tree.c (build_string): Do not waste tail padding in
3287 struct tree_string.
3288
a469a4f2
RG
32892006-06-26 Richard Guenther <rguenther@suse.de>
3290
3291 * ggc-page.c (init_ggc): Add missing element to size_lookup
3292 table.
3293
3294 Revert
3295 2006-06-23 Richard Guenther <rguenther@suse.de>
3296
3297 * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
3298 sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
3299 alignment requests instead. Add verification code.
3300 Add struct tree_function_decl and struct tree_binfo size to
3301 extra_order_size_table. Add missing element to size_lookup
3302 table.
3303
858214db
EB
33042006-06-25 Eric Botcazou <ebotcazou@adacore.com>
3305
3306 PR middle-end/28151
3307 * fold-const.c (const_binop): Be prepared for self returning zero.
3308 Simplify code handling complex values.
3309
61c25908
OH
33102006-06-24 Olivier Hainque <hainque@adacore.com>
3311
3312 * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function.
3313 (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode
3314 aggregate types.
3315
33162006-06-24 Olivier Hainque <hainque@adacore.com>
3317
3318 * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as
3319 ARRAY_REF, so have the callback called for the low bound expression.
3320
5fc89bfd
JJ
33212006-06-23 Janis Johnson <janis187@us.ibm.com>
3322
3323 * tree.h (DECIMAL_FLOAT_TYPE_P): New.
3324 * c-typeck.c (c_common_type): Disallow operations on decimal float
3325 types and other float types.
3326 * convert.c (convert_to_real): Don't ignore conversions involving
3327 decimal float types.
3328
a441447f
OH
33292006-06-23 Olivier Hainque <hainque@adacore.com>
3330
3331 * tree.c (max_int_size_in_bytes): New function, inspired from
3332 code in function.c:assign_temp.
3333 * tree.h (max_int_size_in_bytes): Declare.
3334 * function.c (assign_temp): Use it.
3335 * gimplify.c (create_tmp_var): Relax the assertions on the type
3336 properties, not mandating constant size any more.
3337 (force_constant_size): New static function.
3338 (gimple_add_tmp_var): Use it, forcing variable size to a
3339 constant upper bound if it is not constant on entry.
3340
4e2bb0a4
DS
33412006-06-23 Danny Smith <dannysmith@users.sourceforge.net>
3342
3343 PR target/27789
3344 * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check
3345 for initialization and setting of one_only flag to ...
3346 (i386_pe_encode_section_info): ...here.
3347 (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also.
3348 Recheck that the symbol has not been defined.
3349
ecf7b86f
RG
33502006-06-23 Richard Guenther <rguenther@suse.de>
3351
3352 * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
3353 sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
3354 alignment requests instead. Add verification code.
3355 Add struct tree_function_decl and struct tree_binfo size to
3356 extra_order_size_table. Add missing element to size_lookup
3357 table.
3358
e577c8c0
RS
33592006-06-22 Roger Sayle <roger@eyesopen.com>
3360 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3361
3362 PR middle-end/28131
3363 * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the
3364 call to lang_hooks.types.type_for_mode returned NULL_TREE.
3365
f64ad1d3
BE
33662006-06-23 Ben Elliston <bje@au.ibm.com>
3367
3368 * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to
3369 negate dn -- manipulate it directly.
3370
8c339083
RS
33712006-06-22 Roger Sayle <roger@eyesopen.com>
3372 Steven Bosscher <stevenb.gcc@gmail.com>
3373
3374 PR target/27531
3375 * reload1.c (gen_reload): Call mark_jump_label on the new insns
3376 generated by gen_move_insn to add REG_LABEL notes if necessary.
3377
03c8b1be
BW
33782006-06-22 Bob Wilson <bob.wilson@acm.org>
3379
3380 * config/xtensa/lib1funcs.asm (MIN_ESA): Delete.
3381 (leaf_entry): Remove use of MIN_ESA.
3382
0ef90296
ZD
33832006-06-22 Zdenek Dvorak <dvorakz@suse.cz>
3384
3385 PR rtl-optimization/28121
3386 * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
3387 the entry edge.
3388
a1ec220c
DD
33892006-06-21 DJ Delorie <dj@redhat.com>
3390
3391 * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest
3392 (TN-16C-A156A/E).
3393 (mulhisi3_r): Likewise.
3394
35fa8915
RS
33952006-06-21 Richard Sandiford <richard@codesourcery.com>
3396
3397 PR middle-end/28034
3398 * coverage.c (coverage_counter_alloc): Leave the index type
3399 unspecified.
3400 (coverage_counter_alloc): Use null arguments for operands 2 and 3
3401 of the ARRAY_REF.
3402
17d6caa1
AP
34032006-06-21 Andrew Pinski <pinskia@physics.uc.edu>
3404
3405 * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect"
3406 section from the "Options for Code Generation Conventions".
3407
b0100a44
RH
34082006-06-21 Richard Henderson <rth@redhat.com>
3409
3410 PR target/26347
3411 PR target/27082
3412 * config/alpha/predicates.md (small_symbolic_operand): Deny weak
3413 symbols.
3414 (global_symbolic_operand): Allow weak symbols, even if local_p.
3415
75715cf6
EB
34162006-06-21 Eric Botcazou <ebotcazou@adacore.com>
3417
3418 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function.
3419 (find_interesting_uses_address): Punt if above function returns true.
3420
18fc9bd4
RG
34212006-06-21 Richard Guenther <rguenther@suse.de>
3422
3423 * configure: Regenerated.
3424
0882b52e
JM
34252006-06-21 Joseph Myers <joseph@codesourcery.com>
3426
3427 * config/mips/mips.c (function_arg): Where one part of a
3428 complex argument is in registers and the other part in the stack,
3429 return a REG not a PARALLEL.
3430
0f57bf40
MM
34312006-06-21 Mark Mitchell <mark@codesourcery.com>
3432
3433 * configure.ac: Set gcc_gxx_include_dir to $target/include/c++
3434 when cross-compiling. Do not substitute libstdcxx_incdir.
3435 * configure: Regenerated.
3436
0841534a
JJ
34372006-06-21 Jakub Jelinek <jakub@redhat.com>
3438
3439 * varasm.c (mergeable_string_section): Check for embedded NULs and
3440 NUL termination in the first int_size_in_bytes (TREE_TYPE (decl))
3441 rather than TREE_STRING_LENGTH bytes.
3442
470f18fc
RG
34432006-06-21 Richard Guenther <rguenther@suse.de>
3444
3445 * ggc-page.c (extra_order_size_table): Add var_ann_d,
3446 tree_ssa_name, bitmap_element and phi_node with 4 arguments
3447 sizes.
3448
b16fb82d
RG
34492006-06-21 Richrad Guenther <rguenther@suse.de>
3450
3451 * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
3452 Limit iteration over the dominators.
3453
8043a72a
RS
34542006-06-20 Roger Sayle <roger@eyesopen.com>
3455
3456 * config/mips/iris6.h (LIB_SPEC): Add support for -pthread.
3457 (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified.
3458
5a6ccafd
RG
34592006-06-20 Richard Guenther <rguenther@suse.de>
3460 Michael Matz <matz@suse.de>
3461
3462 * alloc-pool.h (free_alloc_pool_if_empty): Prototype new
3463 function.
3464 * alloc-pool.c (free_alloc_pool_if_empty): New function.
3465 * et-forest.h (et_free_pools): Prototype new function.
5656a184 3466 * et-forest.c (et_free_tree_force): Free parent occurrence.
5a6ccafd
RG
3467 (et_free_pools): New function.
3468 * dominance.c (free_dominance_info): Free et-forest alloc
3469 pools.
3470
1000b34d
RS
34712006-06-20 Roger Sayle <roger@eyesopen.com>
3472
3473 * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with
3474 integer modes, attempt to directly construct an integer constant.
3475
3476 * fold-const.c (native_encode_vector): Determine the size of each
3477 element from the vector type instead of the first vector element.
3478
3479 * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant,
3480 if all of its elements/components are constant.
3481 (build_constructor_from_list): Likewise.
3482
8fdbc9c6
ZD
34832006-06-20 Zdenek Dvorak <dvorakz@suse.cz>
3484
3485 PR tree-optimization/27331
3486 * tree-data-ref.c (free_data_ref): New function.
3487 (create_data_ref): Fail if the data reference has unknown access
3488 function.
3489 (free_data_refs): Use free_data_ref.
3490
73dab33b
AP
34912006-06-19 Andrew Pinski <pinskia@gmail.com>
3492
3493 PR middle-end/28075
3494 * tree-inline.c (setup_one_parameter): Strip useless
3495 type conversion before adding it to the IR.
3496 (declare_return_variable): Likewise.
3497
48e2909e
MM
34982006-06-19 Martin Michlmayr <tbm@cyrius.com>
3499
3500 PR c/27149
3501 * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning.
3502
ca84a9a2
MS
35032006-06-19 Mike Stump <mrs@apple.com>
3504
3505 * tree.c (variably_modified_type_p): VM arguments don't make the
3506 type a VM type.
3507
81126126
RG
35082006-06-19 Richard Guenther <rguenther@suse.de>
3509
3510 * tree-ssa-pre.c (try_combine_conversion): Strip useless
3511 type conversions after folding.
3512
f5938dcd
RG
35132006-06-19 Richard Guenther <rguenther@suse.de>
3514
3515 * ggc-page.c (extra_order_size_tab): Add entries with
3516 size of struct function and basic_block.
3517 (size_lookup): Extend to cover sizes up to 511.
3518 (ggc_alloc_stat): Adjust user.
3519 (ggc_pch_count_object): Likewise.
3520 (ggc_pch_alloc_object): Likewise.
3521 (ggc_pch_write_object): Likewise.
3522
20fb52af
ZD
35232006-06-19 Zdenek Dvorak <dvorakz@suse.cz>
3524
3525 * tree-ssa-loop-niter.c (implies_ge_p): New function.
3526 (derive_constant_upper_bound): Handle OP0 - CST in unsigned types
3527 correctly.
3528
7ed9c001
DC
35292006-06-19 Denis Chertykov <denisc@overta.ru>
3530
3531 * config/avr/libgcc.S : Correct my wrong previous commit.
3532
fa00f91b
RS
35332006-06-19 Roger Sayle <roger@eyesopen.com>
3534
3535 PR target/27861
3536 * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may
3537 have stripped a SUBREG from the shift count, so we may need to
3538 convert_to_mode back to the type's mode before calling make_tree.
3539 Use new_amount instead of amount to avoid expanding a tree twice.
3540
096dce1b
RG
35412006-06-19 Richard Guenther <rguenther@suse.de>
3542
3543 PR middle-end/28045
3544 * fold-const.c (operand_equal_p): Check if the argument types
3545 have the same precision before stripping NOPs.
3546
46b86adc
DB
35472006-06-19 Daniel Berlin <dberlin@dberlin.org>
3548
3549 Fix PR tree-optimization/27341
3550 * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the
3551 statement we get.
5656a184 3552 * tree-complex.c (pass_lower_complex): Update SMT usage.
46b86adc 3553
7e665d18
AK
35542006-06-19 Andreas Krebbel <krebbel1@de.ibm.com>
3555
5656a184 3556 * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"):
7e665d18
AK
3557 Add a new alternative to the constraint strings. Add move of
3558 operand 1 to 3 to the splitter definition.
3559 ("doloop_si_long"): Second contraint alternative removed.
3560
4301ec4f
AS
35612006-06-08 Anatoly Sokolov <aesok@post.ru>
3562
3563 * config/avr/avr.h (avr_have_movw_lpmx_p): Declare.
5656a184 3564 (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and
4301ec4f
AS
3565 __AVR_HAVE_LPMX__.
3566 (AVR_HAVE_MOVW) Define.
3567 (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW.
3568 (ASM_SPEC): Add avr25.
3569 (LINK_SPEC): Add avr25.
3570 * config/avr/avr.c (avr_have_movw_lpmx_p): Add.
3571 (base_arch_s): Add new member 'have_movw_lpmx'.
3572 (avr_arch_types): Init 'have_movw_lpmx'.
3573 (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24,
3574 attiny44, attiny84, attiny25, attiny45, attiny85, attiny261,
3575 attiny461, attiny861 and at86rf401 in 'avr25' arhitecture.
3576 (avr_override_options): Init 'avr_have_movw_lpmx_p'.
5656a184 3577 (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use
4301ec4f
AS
3578 AVR_HAVE_MOVW.
3579 (avr_file_start): Do not output '.arh' derective.
3580 * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__.
3581 (__do_copy_data): Use __AVR_HAVE_LPMX__.
3582 * config/avr/avr.md (mcu_enhanced): Delete.
3583 (mcu_have_movw): Define.
3584 (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'.
3585 (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__.
3586 * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25.
3587 (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44,
5656a184 3588 attiny84, attiny25, attiny45, attiny85, attiny261, attiny461,
4301ec4f
AS
3589 attiny861 and at86rf401 devices.
3590
40327e03
JZ
35912006-06-18 Jie Zhang <jie.zhang@analog.com>
3592
3593 * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead
3594 of 4096.
3595
c3cb54c6
KB
35962006-06-17 Karl Berry <karl@gnu.org>
3597
3598 * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi,
3599 doc/gccint.texi, doc/install.texi (@dircategory): Use
3600 "Software development" instead of "Programming", following
3601 the Free Software Directory.
3602
31ebc801
AO
36032006-06-17 Alexandre Oliva <aoliva@redhat.com>
3604
3605 * config/i386/i386.c (legitimate_tls_address)
3606 <TARGET_GNU2_TLS>: Add tp after DTPOFF.
3607 * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust.
3608 (*tls_dynamic_gnu2_combine_64): Likewise.
3609
1af8dcbf
RG
36102006-06-16 Richard Guenther <rguenther@suse.de>
3611
3612 PR middle-end/27116
3613 * fold-const.c (negate_expr_p): Do not introduce undefined
3614 overflow in negating INTEGER_CSTs.
3615 (fold_negate_expr): Rename from negate_expr. Revert last
3616 change for folding BIT_NOT_EXPR. Change semantics to
3617 return NULL_TREE for non-simplified negations. Do not
3618 strip type conversions and unify type handling.
3619 (negate_expr): New function, wrap around fold_negate_expr
3620 but ensure building a tree always. Strip type conversions
3621 here, fold to result type.
3622 (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR.
3623
2d0df1f9
RS
36242006-06-16 Roger Sayle <roger@eyesopen.com>
3625
3626 PR middle-end/27802
3627 * reg-stack.c (subst_stack_regs): Handle noreturn function calls
3628 that (would) return their results in stack registers.
3629
47392a21
MM
36302006-06-16 Michael Matz <matz@suse.de>
3631 Richard Guenther <rguenther@suse.de>
3632
3633 * fold-const.c (fold_truthop): Only return new tree node if
3634 we canonicalized something.
3635
55dea919
RG
36362006-06-16 Richard Guenther <rguenther@suse.de>
3637
3638 * function.h (enum function_frequency): Move declaration
3639 out of struct function.
3640 (struct function): Move bool fields and the enum to the bitfield
3641 section. Reorder elements to avoid padding. Remove unused
3642 fields left over from the RTL inliner removal.
3643 * function.c (free_after_compilation): Do not zero removed fields.
3644 * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency.
3645 (ipa-type-escape.o): Likewise.
3646
b4e19405
RG
36472006-06-16 Richard Guenther <rguenther@suse.de>
3648
3649 * cgraph.h (struct cgraph_local_info): Turn bool elements
3650 into a bitfield.
3651 (struct cgraph_node): Likewise.
3652 (struct cgraph_varpool_node): Likewise.
3653
d817ed3b
RG
36542006-06-15 Richard Guenther <rguenther@suse.de>
3655
3656 * fold-const.c (fold_truth_not_expr): Rename from
3657 invert_truthvalue. Give it fold_* semantics to avoid
3658 generating garbage.
3659 (invert_truthvalue): New function. Wrapper around
3660 fold_truth_not_expr.
3661 (optimize_minmax_comparison): Avoid creating garbage.
3662 (fold_unary): Use fold_truth_not_expr for folding
3663 TRUTH_NOT_EXPR.
3664 (fold_ternary): Replace uses of invert_truthvalue with
3665 fold_truth_not_expr where applicable.
3666 * tree.h (fold_truth_not_expr): Prototype.
3667
5d35c171
RG
36682006-06-16 Richard Guenther <rguenther@suse.de>
3669
3670 PR tree-optimization/27781
3671 * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency.
3672 * ipa-pure-const.c (target.h): Include.
3673 (analyze_function): Do not analyze functions that do not
3674 bind locally.
3675
82460c75 36762006-06-15 Andrew MacLeod <amacleod@redhat.com>
5656a184 3677
82460c75
AM
3678 PR middle-end/27793
3679 * tree-dfa.c (referenced_vars_dup_list): Remove.
3680 (find_referenced_vars): Remove assert.
3681 (referenced_var_check_and_insert): Replace dup list with assert.
3682 * tree-ssa.c (delete_tree_ssa): Remove dup list processing.
3683 * tree-flow.h (referenced_vars_dup_list): Remove extern decl.
3684
4f6c9110
RG
36852006-06-15 Richard Guenther <rguenther@suse.de>
3686
3687 * tree-ssa-structalias.c (alias_get_name): Avoid creating
3688 extra unused identifiers if not dumping.
3689 (create_variable_info_for): Likewise.
3690
0ad1d5a1
ZD
36912006-06-15 Zdenek Dvorak <dvorakz@suse.cz>
3692
3693 * tree-ssa-loop-niter.c (implies_nonnegative_p): New function.
3694 (derive_constant_upper_bound): Derive more precise upper bound in
3695 common cases. Return type changed to double_int.
3696 (record_estimate): Reflect the changed return type of
3697 derive_constant_upper_bound.
3698 * double-int.c (double_int_zext, double_int_sext): Fix.
3699
ec6c7392
PB
37002006-06-15 Paolo Bonzini <bonzini@gnu.org>
3701
3702 * configure.ac (CFLAGS): Get them from the toplevel or from the
3703 configure invocation.
3704 * configure: Regenerate.
3705 * Makefile.in (CFLAGS): Substitute value provided by configure.
3706
fe89d797
MM
37072006-06-14 Mark Mitchell <mark@codesourcery.com>
3708
3709 PR c++/26559
3710 * c-common.h (c_finish_omp_atomic): Adjust declaration.
3711 * c-omp.c (c_finish_omp_atomic): Return the expression to perform,
3712 rather than calling add_stmt on it.
3713 * c-parser.c (c_parser_omp_atomic): Adjust accordingly.
3714
184f4c56
AK
37152006-06-14 Andreas Krebbel <krebbel1@de.ibm.com>
3716
3717 PR middle-end/27959
3718 * reload1.c (reload): Remove registers returned by update_eliminables
3719 from used_spill_regs.
3720
e3d437c0
DD
37212006-06-13 DJ Delorie <dj@redhat.com>
3722
3723 * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants.
3724
9288b845
CD
37252006-06-13 Carlos O'Donell <carlos@codesourcery.com>
3726
3727 * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL,
3728 html__strip_dir, html__mkdir_p. Enhance install-html target.
5656a184 3729 * configure.ac: AC_SUBST datarootdir, docdir and htmldir.
9288b845
CD
3730 * configure: Regenerate.
3731
6b4e9576
FJ
37322006-06-13 Fariborz Jahanian <fjahanian@apple.com>
3733
5656a184 3734 * fold-const.c (fold_cond_expr_with_comparison): Check for
6b4e9576
FJ
3735 Objective-C++ as language in deciding COND_EXPR transformation.
3736
31b6f0ae
R
37372006-06-06 J"orn Rennecke <joern.rennecke@st.com>
3738
3739 PR target/28014:
3740 * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16
3741 * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'.
3742 * config/sh/lib1funcs.h (SL, SL1): Define.
3743 * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function.
3744 * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss.
3745 * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule.
3746 (OBJS_Os_4_200): New variable.
3747 ($(T)libgcc-Os-4-200.a): Use it.
3748 * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call
3749 when dividing 1 and/or by 0.
3750
de4fb767
RS
37512006-06-13 Roger Sayle <roger@eyesopen.com>
3752
3753 * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h>
3754 before <ucontext.h> to define sigset_t required by <sys/ucontext.h>.
3755 * configure: Regenerate.
3756
f0f1c408
JZ
37572006-06-13 Jie Zhang <jie.zhang@analog.com>
3758
3759 * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized ()
3760 for real instruction.
3761
cd8d4e24
MK
37622006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
3763
3764 PR middle-end/26807
3765 * haifa-sched.c (check_cfg): Handle special case.
3766
5123ad09
EB
37672006-06-13 Eric Botcazou <ebotcazou@adacore.com>
3768
3769 PR debug/26754
3770 * gimplify.c (declare_tmp_vars): Rename into declare_vars.
3771 Add debug_info parameter. Chain the vars to the BLOCK instead
3772 of the BIND_EXPR if debug info are requested for them.
3773 (pop_gimplify_context): Adjust for above change.
3774 (gimple_add_tmp_var): Likewise.
3775 * tree-gimple.h (declare_tmp_vars): Rename into declare_vars.
3776 Add bool parameter.
3777 * tree-nested.c (convert_nonlocal_reference): Adjust for above change.
3778 (convert_local_reference): Likewise.
3779 (get_local_debug_decl): Set DECL_IGNORED_P on the original variable.
3780 (finalize_nesting_tree_1): Request that debug info be emitted
3781 for debug_var_chain.
3782
6f2ba390
MK
37832006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
3784
3785 * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch
3786 for PR target/27863.
3787
cda5bf39
RG
37882006-06-13 Richard Guenther <rguenther@suse.de>
3789
3790 PR middle-end/27536
3791 * except.c (output_ttype): Expand type with EXPAND_INITIALIZER.
3792
8e85fd14
RG
37932006-06-13 Richard Guenther <rguenther@suse.de>
3794
3795 PR tree-optimization/27830
3796 * tree-inline.c (copy_body_r): For copying the operand
3797 of an ADDR_EXPR make sure to fold &* afterwards.
3798
02a5eac4
EB
37992006-06-12 Eric Botcazou <ebotcazou@adacore.com>
3800
3801 * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other
3802 lvalues in the fb_none case with side-effects.
3803
c90b053b
KH
38042006-06-12 Kazu Hirata <kazu@codesourcery.com>
3805
3806 * tree-flow.h: Remove the prototype for
3807 compute_phi_arg_on_exit.
3808 * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use,
3809 protect_loop_closed_ssa_form, compute_phi_arg_on_exit):
3810 Remove.
3811
dda69cbf
MS
38122006-06-12 Mark Shinwell <shinwell@codesourcery.com>
3813
3814 * builtins.c (expand_builtin_return_addr): Only use
3815 frame_pointer_rtx when count == 0 and we are expanding
3816 __builtin_return_address.
3817
0901c5a3
FF
38182006-06-12 Fred Fish <fnf@specifix.com>
3819
3820 * config/mips/mips.c (mips_file_start): Create special section
3821 ".gcc_compiled_longXX" for o64 ABI as well as EABI.
3822
f7eb0dcd
EC
38232006-06-11 Eric Christopher <echristo@apple.com>
3824
3825 PR middle-end/27948
3826 * stor-layout.c (place_field): Remove check for
3827 remaining_in_alignment when aligning at the end of a run.
3828
6bb7beac
EC
38292006-06-11 Eric Christopher <echristo@apple.com>
3830
3831 PR 27542
3832 * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct
3833 pragma.
3834
4119019b
RS
38352006-06-11 Roger Sayle <roger@eyesopen.com>
3836
3837 PR target/27858
3838 Revert incorrect fix for PR target/27158
3839 2006-05-08 Roger Sayle <roger@eyesopen.com>
3840 * reload.c (find_reloads_toplev): Only return the simplified SUBREG
3841 of a reg_equiv_constant if the result is a legitimate constant.
3842
0972012c
RS
38432006-06-11 Roger Sayle <roger@eyesopen.com>
3844
3845 PR target/27158
3846 * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
3847 extract a CONST_VECTOR element and interpret it as an integer.
3848 (vspltis_constant): Use const_vector_elt_as_int instead of the
3849 macro CONST_VECTOR_ELT in order to handle FP vector modes.
3850 * config/rs6000/predicates.md (easy_vector_const): Consider
3851 floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant.
3852
cb312376
KK
38532006-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
3854
3855 PR middle-end/27942
3856 * stor-layout.c (update_alignment_for_field): Don't add extra
3857 alignment for packed non-bitfield fields in ms_bitfield_layout_p
3858 code.
3859
53e95921
RC
38602006-06-09 Ralf Corsepius <ralf.corsepius@rtems.org>
3861
3862 * config/mips/t-rtems: Add EL/EB multilib variants.
3863
71d0c100
MS
38642006-06-09 Mike Stump <mrs@apple.com>
3865
3866 * c-typeck.c (c_begin_vm_scope): Fix file_scope processing.
3867
549fb079
DD
38682006-06-09 David Daney <ddaney@avtrex.com>
3869
3870 * doc/install.texi: Add binutils version recommendation for mips-*-*.
3871
6c65d757
AK
38722006-06-09 Andreas Krebbel <krebbel1@de.ibm.com>
3873
3874 * reload.c (find_reloads): Unset force_reload for 'X' constraint.
3875
96b2034b
RG
38762006-06-09 Richard Guenther <rguenther@suse.de>
3877
3878 PR tree-optimization/26998
3879 * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR
3880 of signed types, only TYPE_MIN_VALUE is special, but for both,
3881 minimum and maximum value. Likewise VR_ANTI_RANGE is special
3882 in this case, as is -fwrapv.
3883
23f99493
MS
38842006-06-08 Mike Stump <mrs@apple.com>
3885
3886 PR target/26427
3887 * config/darwin.c (darwin_asm_output_anchor): Disable
3888 -fsection-anchors on darwin for now.
3889 * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise.
3890 * rs6000/rs6000.c (optimization_options): Likewise.
3891
118ed72a
VR
38922006-06-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3893
3894 PR target/27421
3895 * config/i386/i386.c (classify_argument): Skip fields with invalid
3896 types in unions.
3897
524e3576
SB
38982006-06-08 Steven Bosscher <steven@gcc.gnu.org>
3899
3900 * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG.
3901 (cse_insn): Likewise for the stack_pointer_rtx.
3902
14b41b5f
RS
39032006-06-08 Roger Sayle <roger@eyesopen.com>
3904
3905 * tree-ssa-dom.c (record_conditions): Only record "unordered"
3906 conditions from floating point comparisons.
3907
33b881ca
PB
39082006-06-08 Paolo Bonzini <bonzini@gnu.org>
3909
3910 PR middle-end/27733
3911 * expmed.c (struct alg_hash_entry): Fix type of field T
3912 to match synth_mult argument.
3913 (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
3914
f70b22c9
MK
39152006-06-08 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
3916
3917 PR target/27863
3918 * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic
3919 block boundaries.
3920
960f80d1
RG
39212006-06-08 Richard Guenther <rguenther@suse.de>
3922
3923 PR middle-end/27116
3924 * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR
3925 only, if overflow is defined and not trapping.
3926 (negate_expr): Likewise.
3927
8e08deeb
ZD
39282006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
3929
3930 PR tree-optimization/27872
3931 * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
3932 flag on the new exit edge of the unrolled loop.
3933
136778e9
ZD
39342006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
3935
3936 PR rtl-optimization/26449
3937 * loop-invariant.c (move_invariant_reg): Fail if force_operand fails.
3938
4b5e2dbc
AM
39392006-06-07 Andrew MacLeod <amacleod@redhat.com>
3940
3941 PR middle-end/27793
6bb7beac 3942 * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate
4b5e2dbc
AM
3943 referenced_variables with matching DECL_UID's.
3944 (find_referenced_vars): Make sure duplicate list is empty to start.
3945 (referenced_var_p): Remove.
6bb7beac 3946 (referenced_var_check_and_insert): Renamed from referenced_var_insert.
4b5e2dbc
AM
3947 Check if var is in the list, and add if needed. Update the duplicate
3948 list if a different var is in the list with the same DECL_UID.
3949 (add_referenced_var): Call routine to check and insert.
3950 * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates.
3951 * tree-flow.h (referenced_vars_dup_list): External declaration.
3952
dd286892
FF
39532006-06-07 Fred Fish <fnf@specifix.com>
3954
3955 * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries
3956 into single entry.
3957
190e9534
PB
39582006-06-07 Paolo Bonzini <bonzini@gnu.org>
3959
3960 PR target/27390
3961 * reg-stack.c (subst_stack_regs_pat): Reorder resetting of
3962 the imaginary and real parts of a clobbered register.
3963 Emit insn to set the imaginary part.
3964
7c78582a
PL
39652006-06-06 Peter Lemieszewski <lemie@us.ibm.com>
3966
3967 * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c
3968 in lieu of unwind-dw2-fde.c.
3969
33815e0c
FXC
39702006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
3971
3972 * config/i386/mingw32.h (GOMP_SELF_SPECS): Define.
3973
8cf0db2b
UW
39742006-06-06 Ulrich Weigand <uweigand@de.ibm.com>
3975
3976 PR target/27842
3977 * config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
3978 ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
3979 ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
3980 V4SImode temporaries and operations instead.
3981
406af897
JM
39822006-06-06 Joseph S. Myers <joseph@codesourcery.com>
3983
3984 * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not
3985 dp-bit.c.
3986
22482f74
MS
39872006-06-06 Mike Stump <mrs@apple.com>
3988
3989 * Makefile.in: Rename to htmldir to build_htmldir to avoid
3990 installing during build.
3991
bb83aa4b
MK
39922006-06-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
3993
3994 * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default
3995 value to 0.
3996 * doc/invoke.texi (max-sched-extend-regions-iters): Document.
3997 * config/ia64/ia64.c (params.h): New header.
3998 (ia64_optimization_options): New function to adjust parameters.
3999 * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype.
4000 * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro.
4001 * config/ia64/t-ia64 (ia64.o): Add dependence from params.h .
4002
0c397f9c
KH
40032006-06-05 Kazu Hirata <kazu@codesourcery.com>
4004
4005 * stor-layout.c (debug_rli): Fix a typo in a debug message.
4006
1f4a2e84
SE
40072006-06-05 Steve Ellcey <sje@cup.hp.com>
4008
4009 PR target/27051
4010 * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA.
4011
a8b28492
DN
40122006-06-05 Dorit Nuzman <dorit@il.ibm.com>
4013 Victor Kaplansky <victork@il.ibm.com>
4014
e753d130
AP
4015 PR tree-optimization/26360
4016 * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern
4017 stmts.
a8b28492 4018
ffbf5f7f
RS
40192006-06-04 Roger Sayle <roger@eyesopen.com>
4020 Andrew Pinski <pinskia@physics.uc.edu>
4021
4022 PR middle-end/27382
4023 * c-common.c (c_common_truthvalue_conversion): Explicitly check
4024 for LABEL_DECL before calling DECL_WEAK.
4025
4026 PR c/27150
4027 * c-typeck.c (build_binary_op): Likewise, explicitly check for
4028 LABEL_DECL and PARM_DECL.
4029
5c076987
JM
40302006-06-05 Joseph S. Myers <joseph@codesourcery.com>
4031
4032 PR c/25161
4033 PR c/27020
4034 * c-decl.c (grokdeclarator): Disallow variably modified types at
4035 file scope. Avoid marking shared array type of constant size as
4036 VLA.
4037
545b7d8c
VR
40382006-06-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4039
4040 PR c++/27601
4041 * c-common.c (fold_offsetof_1): Handle static members.
4042
0ac11108
EC
40432006-06-04 Eric Christopher <echristo@apple.com>
4044
4045 * stor-layout.c (start_record_layout): Initialize remaining_in_alignment.
4046 (debug_rli): Output value for remaining_in_alignment.
4047 (update_alignment_for_field): Unconditionalize
4048 ms_bitfield_layout_p code. Handle non-bitfield fields. Remove
4049 extra alignment code.
4050 (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize
4051 ms_bitfield_layout_p code. Rewrite handling of structure fields.
4052 * tree.h (record_layout_info_s): Remove prev_packed.
4053 * doc/extend.texi (ms_struct): Add documentation of format.
4054
63b48197
MS
40552006-06-04 Mark Shinwell <shinwell@codesourcery.com>
4056
4057 * tree.h: Declare folding_initializer.
4058 * builtins.c (fold_builtin_constant_p): Give definite answer
4059 if folding inside an initializer.
4060 * fold-const.c: Define folding_initializer.
4061 (START_FOLD_INIT): Save and then set folding_initializer.
4062 (END_FOLD_INIT): Restore folding_initializer.
4063
7ec434b8
RG
40642006-06-04 Richard Guenther <rguenther@suse.de>
4065
4066 PR tree-optimization/27039
4067 * fold-const.c (fold_comparison): Handle pointer comparison
4068 again for all comparison codes. Compare offsets in signed
4069 size type.
4070 (fold_binary): Move code from here.
4071
94e76332
RS
40722006-06-03 Roger Sayle <roger@eyesopen.com>
4073
4074 PR target/26223
4075 * config/i386/i386.c (construct_container): Split static issued_error
4076 flag into issued_sse_arg_error, issued_sse_ret_error and
4077 issued_x87_ret_error. Issue a daignostic if the x86-64 ABI
4078 requires the use of x87 registers and the user explicitly
4079 specified the -mno-80387 command line option.
4080
4f6d8cc8
GK
40812006-06-02 Geoffrey Keating <geoffk@apple.com>
4082
4083 * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with
4084 HAVE_DECL_SIGALTSTACK.
4085 (MC_FLD): New.
4086 (segv_handler): Use MC_FLD.
4087 * configure.ac: Check for a sigaltstack declaration.
4088 Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin.
4089 * configure: Regenerate.
4090 * config.in: Regenerate.
4091
af33a0c0
R
40922006-06-03 J"orn Rennecke <joern.rennecke@st.com>
4093
4094 PR other/27850
4095 * Makefile.in (stmp-fixinc): Fix typo.
4096
9734ebaf
RS
40972006-06-02 Roger Sayle <roger@eyesopen.com>
4098
4099 * fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions
4100 are type correct. Clean-up.
4101 <REALPART_EXPR>: Likewise. Optimize creal(~z) as creal(z).
4102 <IMAGPART_EXPR>: Likewise. Optimize cimag(~z) as -cimag(z).
4103
df5c71ac
DD
41042006-06-01 DJ Delorie <dj@redhat.com>
4105
4106 * config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the
4107 shift, as we've disabled the "switch" insn that needs it.
4108
112598f4
PB
41092006-06-01 Per Bothner <bothner@bothner.com>
4110
4111 Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output.
4112 * c-opts.c (finish_options): Use internal line 0 for <command-line>.
4113 * c-ppoutput.c (cb_define): Don't increment line 0.
4114
e118597e
PS
41152006-06-01 Pete Steinmetz <steinmtz@us.ibm.com>
4116
4117 * doc/invoke.texi: Add cpu_type power6.
4118 * config.gcc: Add cpu_type power6.
4119 * config/rs6000/rs6000.c (rs6000_override_options): Alias power6
4120 to power5+ with Altivec.
4121 * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
4122 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
4123
d3f27077
AS
41242006-05-30 Anatoly Sokolov <aesok@post.ru>
4125
4126 * config/avr/avr.h (SET_ASM_OP): Define.
4127
aab26080
KH
41282006-06-01 Kazu Hirata <kazu@codesourcery.com>
4129
4130 * config/bfin/bfin.c: Fix comment typos.
4131
f5c3bb4b
PB
41322006-06-01 Paolo Bonzini <bonzini@gnu.org>
4133
4134 PR 25453
4135 * doc/install.texi: Document --enable-bootstrap and
4136 --disable-bootstrap.
4137
02809848
PB
41382006-06-01 Paolo Bonzini <bonzini@gnu.org>
4139
4140 * doc/install.texi: Document that InfoZIP can replace jar.
4141
86ce1825
RS
41422006-05-31 Roger Sayle <roger@eyesopen.com>
4143
4144 * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE
4145 isn't available, directly generate the simpler x87 patterns without
4146 the (use (const_int 0)).
4147 * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE
4148 implementation isn't available.
4149 (*negdf2_1): Likewise.
4150 (*negxf2_1): XF mode negation is always done using the x87.
4151 (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs.
4152
4f31c7ec
RS
41532006-05-31 Roger Sayle <roger@eyesopen.com>
4154
4155 * builtins.c (fold_builtin_cabs): Delete prototype. Require an
4156 additional FNDECL argument. Optimize cabs(-z) and cabs(~z) as
4157 cabs(z).
4158 (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call.
4159
b03149e1
JZ
41602006-05-31 Jie Zhang <jie.zhang@analog.com>
4161
4162 * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare.
4163 * config/bfin/bfin.c (basic-block.h): Include.
4164 (struct machine_function): New.
4165 (bfin_init_machine_status): New.
4166 (override_options): Initialize init_machine_status.
4167 (bfin_hardware_loop): New.
4168 (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define.
4169 (DEF_VEC_P (loop_info)): New.
4170 (DEF_VEC_ALLOC_P (loop_info,heap)): New.
4171 (struct loop_info): New.
4172 (loop_info): New typedef.
4173 (struct loop_work): New.
4174 (loop_work): New typedef.
4175 (DEF_VEC_O (loop_work)): New.
4176 (DEF_VEC_ALLOC_O (loop_work,heap)): New.
4177 (bfin_dump_loops): New.
4178 (bfin_bb_in_loop): New.
4179 (bfin_scan_loop): New.
4180 (bfin_optimize_loop): New.
4181 (bfin_reorg_loops): New.
4182 (bfin_reorg): Use bfin_reorg_loops.
4183 * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding
4184 loop registers.
4185 (I_REGNO_P): Simplify.
4186 (DP_REGNO_P, DPREG_P): New macros.
4187 (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
4188 REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1.
4189 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
4190 Add LT_REGS, LC_REGS, LB_REGS.
4191 (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS,
4192 'l' for LB_REGS.
4193 (REGNO_REG_CLASS): Deal with loop registers.
4194 * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint
4195 letters.
4196 (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1):
4197 New constants for loop registers.
4198 (UNSPEC_LSETUP_END): New.
4199 (seq_insns): New define_attr. Set it for appropriate insns.
4200 (movsi_insn): Add alternatives for move from/to
4201 loop count registers.
4202 (doloop_end): New define_expand.
4203 (loop_end): New define_insn.
4204 (define_split for bad doloop_end): New.
4205 (lsetup_with_autoinit): New define_insn.
4206 (lsetup_without_autoinit): New define_insn.
4207 (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1.
4208 * config/bfin/predicates.md (lc_register_operand): New.
4209 (lt_register_operand): New.
4210 (lb_register_operand): New.
4211 (nondp_register_operand): New.
4212 (nondp_reg_or_memory_operand): New.
4213 * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters.
4214
54aefc36
JZ
42152006-05-31 Jie Zhang <jie.zhang@analog.com>
4216
4217 * config/bfin/bfin.c (bfin_delegitimize_address): New.
4218 (TARGET_DELEGITIMIZE_ADDRESS): Define.
4219
5c3c3683
DJ
42202006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
4221
4222 * Makefile.in (CATALOGS): Add po/ prefix.
4223 * configure: Regenerated.
4224
beed32b8
RE
42252006-05-31 Richard Earnshaw <richard.earnshaw@arm.com>
4226
4fe56d83 4227 PR target/27829
beed32b8
RE
4228 * arm.c (arm_print_operand case 'S'): Validate that the operand is
4229 a shift operand before calling shift_op. Avoid redundant call of
4230 shift_op.
4231
9cb96754
N
42322006-05-30 Naveen.H.S <naveenh@kpitcummins.com>
4233 DJ Delorie <dj@redhat.com>
4234
4235 * config/m32c/m32c.c (m32c_expand_insv): Check that the value
4236 we're inserting is a singlt-bit constant.
4237
e40122f0
RS
42382006-05-30 Roger Sayle <roger@eyesopen.com>
4239
4240 * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast
4241 width to HOST_WIDE_INT to avoid comparison warnings on some targets.
4242
99b25753
RS
42432006-05-30 Roger Sayle <roger@eyesopen.com>
4244
4245 PR tree-optimization/23452
4246 * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
4247 to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2.
4248 (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
4249 complex values and with -ffast-math for FP complex values.
4250
c98662e0
KH
42512006-05-30 Kazu Hirata <kazu@codesourcery.com>
4252
4253 * c-common.h: Remove the prototype for yyparse.
4254 * rtl.h: Remove the prototype for init_loop.
4255
67e0a632
AK
42562006-05-30 Andreas Krebbel <krebbel1@de.ibm.com>
4257
4258 * cse.c (validate_canon_reg, cse_insn): Don't change insns without
4259 calling recog.
4260
70233f37
RS
42612006-05-30 Roger Sayle <roger@eyesopen.com>
4262
4263 * simplify-rtx.c (simplify_binary_operation): Unfactor the shift
4264 and rotate cases.
4265 <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is
4266 log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics.
4267
d117b270
DM
42682006-05-30 Dirk Mueller <dmueller@suse.de>
4269
4270 PR c/27273
4271 * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW
4272 for CONSTANT_CLASS_P expresisons.
4273
16464cc1
VR
42742006-05-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4275
4276 PR c/27718
4277 * c-typeck.c (c_expr_sizeof_type): Handle invalid types.
4278
d91d2db7
ZD
42792006-05-30 Zdenek Dvorak <dvorakz@suse.cz>
4280
4281 PR tree-optimization/27779
4282 * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use
4283 initial_condition instead of CHREC_LEFT.
4284
6a728a2d
SB
42852006-05-30 Steven Bosscher <stevenb.gcc@gmail.com>
4286
4287 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
4288 * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors):
4289 Make prototypes ISO C90.
4290
375bc622 42912006-05-30 Mircea Namolaru <namolaru@il.ibm.com>
d91d2db7 4292 Leehod Baruch <leehod.baruch@weizmann.ac.il>
375bc622 4293
d91d2db7
ZD
4294 * see.c (see_analyze_one_def): Correct check.
4295 (see_get_extension_data): Check if extension is parallel.
4296 (see_get_extension_reg): Likewise.
375bc622 4297
55b2de75
UB
42982006-05-30 Uros Bizjak <uros@kss-loka.si>
4299
4300 PR target/27790
4301 * config/i386/i386.c (ix86_expand_int_vcond): Force cop0
4302 into register for (code == GTU).
4303
1753331b
RS
43042006-05-29 Roger Sayle <roger@eyesopen.com>
4305
4306 PR tree-optimization/24964
4307 * simplify-rtx.c (simplify_binary_operation_1): Add function comment.
4308 <MULT>: Minor clean-up. Don't convert x*-1.0 into -x if we honor
4309 signaling NaNs. Optimize -x*-x as x*x for all float modes, and
4310 abs(x)*abs(x) as x*x for scalar floating point modes.
4311
06ac89d1
SP
43122006-05-29 Sebastian Pop <pop@cri.ensmp.fr>
4313
4314 PR middle-end/27745
4315 * lambda-code.c (perfect_nestify): Don't copy statements
4316 in the inner loop: move them to the inner loop header.
4317
96e36096
DN
43182006-05-29 Diego Novillo <dnovillo@redhat.com>
4319
4320 PR 26237
4321 * c-tree.texi: Document OpenMP directives and clauses.
4322
eb5fa773
KH
43232006-05-29 Kazu Hirata <kazu@codesourcery.com>
4324
4325 * varasm.c (globalize_decl): Fix indentation.
4326
a6719dc6
DN
43272006-05-29 Diego Novillo <dnovillo@redhat.com>
4328
4329 PR 26242
4330 * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta,
4331 pass_fre, pass_store_ccp, pass_copy_prop,
4332 pass_store_copy_prop, pass_merge_phi, pass_nrv,
4333 pass_return_slot, pass_object_size, pass_lim,
4334 pass_linear_transform, pass_empty_loop, pass_complete_unroll,
4335 pass_loop_prefetch and pass_stdarg.
4336
6614f9f5
BS
43372005-05-29 Bernd Schmidt <bernd.schmidt@analog.com>
4338
4339 * config/bfin/bfin.opt (mfdpic): New option.
4340 * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o.
4341 (EXTRA_MULTILIB_PARTS): Likewise.
4342 (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic.
4343 (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic
4344 multilib.
4345 * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared.
4346 (CRT_CALL_STATIC_FUNCTION): New.
4347 * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if
4348 -shared.
4349 (CRT_CALL_STATIC_FUNCTION): New.
4350 * config/bfin/bfin.c (legitimize_pic_address): Now static. Handle
4351 FD-PIC moves.
4352 (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC.
4353 (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4.
4354 (initialize_trampoline): Changed to handle FD-PIC code generation.
4355 (expand_move): If TARGET_FDPIC, use emit_pic_move as needed.
4356 (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC.
4357 (override_options): Disallow -mid-shared-library -mfdpic combination.
4358 Can't do unaligned ops if FD-PIC.
4359 Turn off flag_pic if trying to generate non-id-shared-library
4360 non-fdpic code, since it's not supported.
4361 (bfin_assemble_integer): New function.
4362 (TARGET_ASM_INTEGER): Define.
4363 * config/bfin/crti.s (__init, __fini): Save P3 on the stack if
4364 __BFIN_FDPIC__.
4365 * config/bfin/crtn.s: Restore them.
4366 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__
4367 if TARGET_FDPIC.
4368 (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
4369 LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros.
4370 (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros.
4371 (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC.
4372 (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is
4373 call-used.
4374 (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add
4375 FDPIC_REGS and FDPIC_FPTR_REGS.
4376 (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them.
4377 * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4,
4378 UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants.
4379 (load_funcdescsi): New pattern.
4380 (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic,
4381 sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic,
4382 call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns.
4383
db3edc20
KH
43842006-05-29 Kazu Hirata <kazu@codesourcery.com>
4385
4386 * gcse.c, rtlanal.c: Remove obsolete comments associated with
4387 loop.c.
4388
a9488625
KH
4389 * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove.
4390
152279c4
KH
4391 * tree-flow.h: Remove the prototype for add_type_alias.
4392 * tree-ssa-alias.c (add_type_alias): Remove.
4393
6fc0bb99
KH
43942006-05-28 Kazu Hirata <kazu@codesourcery.com>
4395
4396 * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
4397 config/fr30/fr30.md, config/i386/i386-interix.h,
4398 config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
4399 config/sh/superh64.h, config/v850/v850.c, df-core.c,
4400 df-problems.c, df.h, except.c, final.c, haifa-sched.c,
4401 lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
4402 reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
4403 tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
4404 Follow spelling conventions.
4405 * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
4406 Follow spelling conventions.
4407
9e030af9
RG
44082006-05-27 Richard Guenther <rguenther@suse.de>
4409
4410 PR middle-end/27773
4411 * fold-const.c (fold_plusminus_mult_expr): Use fold_convert
4412 to produce a constant of value 1 of generic type.
4413
46f5f7f2
DM
44142006-05-27 Dirk Mueller <dmueller@suse.de>
4415
4416 * cgraphunit.c (decide_is_function_needed): Fix wrong
4417 PR reference.
4418
7c7ce73a
UW
44192006-05-26 Ulrich Weigand <uweigand@de.ibm.com>
4420
4421 PR rtl-optimization/27661
4422 * reload.c (find_reloads): When reloading a VOIDmode constant
4423 as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint,
4424 use Pmode as mode of the reload register.
4425
c539d463
EB
44262006-05-26 Eric Botcazou <ebotcazou@adacore.com>
4427
4428 * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time
4429 is enabled at -O and above.
4430
44312006-05-26 Steven Bosscher <steven@gcc.gnu.org>
807bdfb6
FH
4432
4433 PR target/27571
4434 * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
4435 table data.
4436
e92fb501
MM
44372006-05-25 Mark Mitchell <mark@codesourcery.com>
4438
4439 PR c++/20103
4440 * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var
0ac11108 4441 for anonymous variables explicitly declared by front ends.
e92fb501 4442
05a58ad4
EB
44432006-05-25 Eric Botcazou <ebotcazou@adacore.com>
4444
4445 * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro.
4446 (struct alias_info): Add new field ref_all_symbol_mem_tag.
4447 * tree-ssa-alias.c (compute_may_aliases): If the program contains
4448 ref-all pointers, run a finalization pass for them.
4449 (compute_flow_insensitive_aliasing): Skip ref-all pointers.
4450 (finalize_ref_all_pointers): New function.
4451 (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a
4452 regular pointer type to a ref-all pointer type.
4453 (get_tmt_for): Return the special memory tag for ref-all pointers.
4454
2d60e929
RG
44552006-05-25 Richard Guenther <rguenther@suse.de>
4456
4457 PR middle-end/27743
4458 * fold-const.c (fold_binary): Do not look at the stripped
4459 op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization.
4460
9d6eefd5
EB
44612006-05-25 Eric Botcazou <ebotcazou@adacore.com>
4462
4463 * tree-vrp.c (extract_range_from_assert): Set the range to VARYING
4464 for LT and GT if the computed range is effectively empty.
4465
44662006-05-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5877ca2e
JDA
4467
4468 PR target/27627
4469 * pa/pa-modes.def: Use mips_single_format, mips_double_format and
4470 mips_quad_format formats instead of ieee_single_format,
4471 ieee_double_format and ieee_quad_format formats, respectively.
4472
d7f5de76
ZD
44732006-05-24 Zdenek Dvorak <dvorakz@suse.cz>
4474
4475 PR tree-optimization/27639
4476 PR tree-optimization/26719
4477 * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
4478 call to scev_probably_wraps_p.
4479 * tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
4480 used_in_pointer_arithmetic_p, convert_step): Removed.
4481 (nowrap_type_p): New function.
4482 (scev_probably_wraps_p): Rewritten.
4483 * tree-scalar-evolution.c (instantiate_parameters_1): Do not call
4484 chrec_convert if chrec_convert_aggressive might have been used.
4485 * tree-chrec.c (convert_affine_scev, chrec_convert_1,
4486 scev_direction): New functions.
4487 (chrec_convert): Changed to a wrapper over chrec_convert_1.
4488 * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
4489 instead of convert_step.
4490 * tree-flow.h (scev_probably_wraps_p): Declaration changed.
4491 (convert_step): Declaration removed.
4492 (convert_affine_scev, nowrap_type_p, scev_direction): Declare.
4493
b11550aa
KZ
44942006-05-23 Kenneth Zadeck <zadeck@naturalbridge.com>
4495
d7f5de76 4496 * df-core.c: Added to header comments.
b11550aa
KZ
4497 * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
4498 df_ur_bb_info, df_urec_bb_info): Added comments.
0ac11108 4499 * df-problems (df_ref_bitmap, ru, rd, lr, ur,
b11550aa 4500 urec, ri problems): Fixed header comments.
0ac11108 4501 (df_ru_transfer_function): Fixed in-out set dyslexia when copying
b11550aa 4502 code from df_rd_transfer_function.
0ac11108 4503
b2a203c8
RS
45042006-05-23 Richard Sandiford <richard@codesourcery.com>
4505
4506 * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
4507 (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
4508 MIN_UNITS_PER_WORD to set the default. Also use it in the guard.
4509
550ab0c6
JM
45102006-05-23 Joseph Myers <joseph@codesourcery.com>
4511
4512 * expr.c (undefined_operand_subword_p): New.
4513 (emit_move_multi_word): Do not generate move from undefined bits
4514 of a paradoxical subreg.
4515
e5d7a520
RS
45162006-05-23 Richard Sandiford <richard@codesourcery.com>
4517
4518 PR rtl-optimization/27736
4519 * combine.c (replaced_rhs_value): New variable.
4520 (combine_instructions): Set it.
4521 (distribute_notes): When distributing a note in replaced_rhs_insn,
4522 check whether the value was used in replaced_rhs_value.
4523
f004ab02
AM
45242006-05-23 Andrew MacLeod <amacleod@redhat.com>
4525
4526 PR c++/26757
0ac11108 4527 * tree-ssa-loop-im.c (determine_invariantness_stmt): Use
f004ab02
AM
4528 add_referenced_var instead of add_referenced_tmp_var.
4529 * tree-complex.c (create_one_component_var): Use add_referenced_var.
4530 * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use
4531 add_referenced_var.
4532 * tree-tailcall.c (adjust_accumulator_values, adjust_return_value,
4533 tree_optimize_tail_calls_1): Use add_referenced_var.
4534 * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var.
4535 * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft):
4536 Use add_referenced_var.
4537 * tree-if-conv.c (ifc_temp_var): Use add_referenced_var.
4538 * gimplify.c (force_gimple_operand): Use add_referenced_var.
4539 * tree-ssa-phiopt.c (conditional_replacement, abs_replacement):
4540 Use add_referenced_var.
4541 * tree-dfa.c (struct walk_state): Remove.
4542 (find_referenced_vars): Remove walk state and vars_found hash table.
4543 (make_rename_temp): Use add_referenced_var.
4544 (find_vars_r): Pass less parameters to add_referenced_var.
4545 (referenced_var_p): New. Is var in referenced_var hash table.
4546 (referenced_var_insert): Assert var isn't already in hash table.
4547 (add_referenced_var): Don't need walk_state parameter. Add var if it
4548 isn't already in the hash table.
4549 (add_referenced_tmp_var): Remove.
4550 (find_new_referenced_vars_1): Use add_referenced_var.
0ac11108 4551 * tree-ssa-pre.c (create_expression_by_pieces,
f004ab02
AM
4552 insert_into_preds_of_block, insert_extra_phis, realify_fake_stores):
4553 Use add_referenced_var.
4554 * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var.
4555 * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
0ac11108 4556 lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use
f004ab02
AM
4557 add_referenced_var.
4558 * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
4559 vect_create_data_ref_ptr, vect_create_destination_var,
0ac11108 4560 vect_init_vector, vect_build_loop_niters,
f004ab02
AM
4561 vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
4562 vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks):
4563 Use add_referenced_var.
4564 * tree-outof-ssa.c (create_temp): Use add_referenced_var.
4565 * tree-flow.h (add_referenced_tmp_var): Remove prototype
4566 (add_referenced_var): Add prototype.
0ac11108 4567 * tree-ssa-structalias.c (get_constraint_for,
f004ab02
AM
4568 intra_create_variable_infos): Use add_referenced_var.
4569
dedc1e6d
AO
45702006-05-23 Alexandre Oliva <aoliva@redhat.com>
4571
4572 * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for
4573 big-endian paradoxical subregs.
4574 * var-tracking.c (struct micro_operation_def): Document that,
4575 for modify micro operations, insn is the subsequent instruction.
4576 (var_reg_delete_and_set, var_mem_delete_and_set): Split into...
4577 (var_reg_set, var_mem_set): ... new functions.
4578 (add_stores): Record subsequent insn.
4579 (compute_bb_dataflow): Use new functions for MO_USE.
4580 (emit_notes_in_bb): Use new functions for MO_USE. Emit use
4581 notes after the insn, and modify notes before the insn known
4582 to be the subsequent one.
4583 (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs.
4584
546be535
KH
45852006-05-23 Kazu Hirata <kazu@codesourcery.com>
4586
4587 PR target/27696
4588 * config/i386/i386.c (ix86_expand_builtin): Use
4589 gen_sse3_monitor64 for TARGET_64BIT.
4590
1a1a5f4b
KZ
45912006-05-22 Kenneth Zadeck <zadeck@naturalbridge.com>
4592
4593 PR rtl-optimization/26375
4594 PR rtl-optimization/26855
4595 * df-problems (df_ru_bb_local_compute_process_def): Removed update
4596 to gen set.
4597 (df_ru_bb_local_compute): Reversed statements and removed bogus
4598 comment explaining why they should be in wrong order.
0ac11108 4599 (df_ru_dump, df_rd_dump): Enhanced debug info.
1a1a5f4b 4600 * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced
0ac11108 4601 debug info.
1a1a5f4b 4602 * ddg.c (add_deps_for_def): Converted use of reaching defs to
d7f5de76 4603 reaching uses and fixed space problem.
1a1a5f4b 4604
b633db7b
JH
46052006-05-23 Jan Hubicka <jh@suse.cz>
4606
4607 * cgraphunit.c (decide_is_function_needed): Also nested functions
4608 and functions declared inline can be optimized out at -O0.
4609
3f2c089f
GP
46102006-05-22 Gerald Pfeifer <gerald@pfeifer.com>
4611
4612 * doc/install.texi (Configuration): Remove reference to CrossGCC
14d92b15 4613 FAQ which was gone.
3f2c089f
GP
4614 (Building): Ditto.
4615
3d763bcf
KH
46162006-05-22 Kazu Hirata <kazu@codesourcery.com>
4617
4618 PR target/27266
4619 * config/i386/i386.c (ix86_expand_branch): Jump to simple if
4620 ix86_compare_emitted is non-NULL.
4621
123b24e7
VR
46222006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4623
4624 PR c++/27451
4625 * stmt.c (expand_asm_operands): Skip asm statement with erroneous
4626 clobbers.
4627
1ff3ac02
RS
46282006-05-22 Richard Sandiford <richard@codesourcery.com>
4629
4630 PR rtl-optimization/25514
4631 * combine.c (replaced_rhs_insn): New variable.
4632 (combine_instructions): Set replaced_rhs_insn when trying to replace
4633 a SET_SRC with a REG_EQUAL note.
4634 (distribute_notes): Use replaced_rhs_insn when determining the live
4635 range of a REG_DEAD register.
4636
8c21550d 46372006-18-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
9e826585 4638 Anatoly Sokolov <aesok@post.ru>
8c21550d
JW
4639
4640 * config/avr/avr.c (avr_mcu_types): Add support for attiny261,
4641 attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
0ac11108
EC
4642 attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p,
4643 atmega164p, atmega324p, atmega644p, atmega644, atmega329,
4644 atmega3290, atmega649, atmega6490, atmega406, atmega640,
4645 atmega1280, atmega1281, at90can32, at90can64, at90usb646,
4646 at90usb647, at90usb1286 and at90usb1287 devices.
8c21550d
JW
4647 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
4648 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
4649
350f18df
RS
46502006-05-22 Richard Sandiford <richard@codesourcery.com>
4651
4652 * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
4653
c31202cd
RG
46542006-05-22 Richard Guenther <rguenther@suse.de>
4655
4656 Revert
4657 2006-01-31 Richard Guenther <rguenther@suse.de>
4658 Paolo Bonzini <bonzini@gnu.org>
4659
4660 * doc/install.texi (--disable-libgcc-math): Document.
4661
9714c911
RG
46622006-05-22 Richard Guenther <rguenther@suse.de>
4663
4664 Revert
4665 2006-01-31 Richard Guenther <rguenther@suse.de>
4666
4667 * doc/invoke.texi (-msselibm): Document.
4668 * target.h (expand_library_builtin): New target hook.
4669 * builtins.c (expand_builtin): Use expand_library_builtin.
4670 (default_expand_library_builtin): New function.
4671 * gcc.c (LINK_GCC_MATH_SPEC): Define.
4672 (LINK_COMMAND_SPEC): Handle %(link_gcc_math).
4673 (link_gcc_math_spec): Declare.
4674 (static_specs): Add link_gcc_math_spec.
4675 * expr.h (default_expand_library_builtin): Declare.
4676 * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
4677 (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
4678 * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
4679 * config/i386/i386.opt (msselibm): New target option.
4680 * config/i386/i386.c (ix86_builtin_function_variants): New array.
4681 (ix86_init_sse_abi_builtins): New function.
4682 (ix86_expand_library_builtin): Likewise.
4683 (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
4684 (override_options): Handle error conditions wrt -msselibm.
4685 (ix86_builtins): Add function codes for SSE2 ABI builtins.
4686 (ix86_init_builtins): Call ix86_init_sse_abi_builtins.
4687 * doc/extend.texi (__builtin_sse2_*): Document new target specific
4688 builtins.
4689
4271a6f3
VR
46902006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4691
694fea20
VR
4692 PR c/27420
4693 * c-common.c (self_promoting_args_p): Skip erroneous args.
4694
4271a6f3
VR
4695 PR c/26818
4696 * c-decl.c (finish_struct): Skip erroneous fields.
4697
c3e242e7
NC
46982006-05-22 Nick Clifton <nickc@redhat.com>
4699
4700 * config/cris/cris.opt (march): Remove VarExists attribute.
4701 (max-stackframe=): Likewise.
4702
41c6dd59
KH
47032006-05-22 Kazu Hirata <kazu@codesourcery.com>
4704
4705 * doc/rtl.texi: Fix a typo.
4706 * see.c: Fix comment typos.
4707
eec077bd
KH
4708 * tree-ssa-structalias.h (alias_info): Remove num_references.
4709
76ad5c10
MS
47102006-05-21 Mike Stump <mrs@apple.com>
4711
4712 * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
4713 (BAD2): Add.
213af8c8
MS
4714 (darwin_pragma_options): Use BAD instead.
4715 (darwin_pragma_unused): Likewise.
4716 (darwin_pragma_ms_struct): Likewise.
4717
d29b7f64
DE
47182006-05-21 David Edelsohn <edelsohn@gnu.org>
4719
4720 * config/rs6000/rs6000.md (floatsitf2): Remove constraints.
4721
4d49d44d
KH
47222006-05-21 Kazu Hirata <kazu@codesourcery.com>
4723
4724 PR rtl-optimization/27671
4725 * simplify-rtx.c (simplify_relational_operation_1): Fix
4726 simplifications of (eq/ne (xor x y) y) and
4727 (eq/ne (xor x y) x).
4728
5104d648
KH
4729 PR tree-optimization/26622.
4730 * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
4731 on arg1.
4732
6531d1be
BF
47332006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
4734
4735 * tree-cfg.c: Prune whitespace.
4736 (debug_tree_cfg): Point to correct header containing the
4737 TDF_* defines.
4738
95a52ebb
BF
47392006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
4740
4741 PR middle-end/25776
4742 * cgraphunit.c (verify_cgraph_node): Typo in error message.
4743
7e2fe9d8
AP
47442006-05-20 Andrew Pinski <pinskia@physics.uc.edu>
4745
4746 PR middle-end/25776
4747 * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error
4748 or sorry count is non zero.
4749
e29c9705 47502006-05-20 Andreas Schwab <schwab@suse.de>
9be3bc1f
AS
4751
4752 * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
4753
5d384034 47542006-05-19 Daniel Berlin <dberlin@dberlin.org>
9e826585 4755 Kenneth Zadeck <zadeck@naturalbridge.com>
5d384034
DB
4756
4757 PR rtl-optimization/26855
4758
4759 * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
4760 multiword refs.
4761 (df_scan_alloc): Added code to properly handle multiword hard
4762 registers and add all_blocks parameter.
4763 (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
4764 code to properly handle multiword hard registers.
4765 (df_rescan_blocks): Added code to remove deleted blocks from
4766 bitmap.
4767 (df_ref_create_structure, df_ref_record): Added code to properly
4768 handle subregs.
4769 (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
4770 and set DF_REF_PARTIAL.
4771 (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
0ac11108 4772 (df_uses_record): Added DF_REF_PARTIAL for subreg.
5d384034
DB
4773 (df_scan_add_problem): Added flags parameter.
4774 (df_ref_create_structure): Changed switching structure.
4775 (df_bb_refs_record): Fixed case where duplicate artificial refs
4776 were created. Changed location of flags.
4777 (df_record_entry_block_defs): Added code to make stack pointer
4778 live in entry block. Refined cases where frame pointer is needed.
4779 Changed location of flags.
4780 (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
4781 (df_set_state): Removed function.
4782 (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
0ac11108
EC
4783 df_insn_create_insn_record, df_insn_refs_delete,
4784 df_ref_create_structure): Formatting changes.
5d384034
DB
4785 * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
4786 df_delete_basic_block): New function.
4787 (df_init): Changed location of flags.
4788 (df_add_problem): Added flags parameter and the way flags are
4789 processed.
4790 (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
4791 debug_df_chain): Improved debugging output.
4792 (df_insn_debug, df_insn_uid_debug): Added multiword reg support.
4793 (df_refs_chain_dump): Removed df parameter.
4794 (df_iterative_dataflow): Added consistency check.
4795 (df_prune_to_subcfg): Made public.
4796 (df_analyze_problem): Added blocks_to_init parameter and made
4797 public.
0ac11108 4798 (df_ref_record, df_bb_refs_record, df_mark_reg,
5d384034
DB
4799 df_record_exit_block_uses): Whitespace changes.
4800 (df_dump): Whitespace changes.
4801 * df.h: Some reordering to remove forward references.
4802 (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
4803 DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
4804 (df_ref_flags.DF_REF_CLOBBER): Deleted field.
4805 (dataflow.flags): New field.
4806 (df.flag): Deleted field.
4807 (df_alloc_function): Added additional bitmap parameter.
4808 (df_dependent_problem_function): New type.
4809 (df_problem.changeable_flags): New field.
4810 (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
4811 DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
4812 (df_mw_hardreg): New struct.
4813 (DF_INSN_UID_MWS): New macro.
4814 (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
4815 parameter.
4816 (df_add_problem, df_ru_add_problem, df_rd_add_problem,
4817 df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
4818 df_ri_add_problem, df_scan_add_problem): Added flags parameter.
4819 (df_set_state): Removed function.
4820 (df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
4821 * df-problems.c (df_chain_dump): Removed df parameter.
4822 (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
4823 df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
4824 parameter.
4825 (df_ru_alloc, df_rd_alloc): Now resets all blocks.
4826 (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
4827 df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
4828 Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
4829 DF_REF_MUST_CLOBBER cases.
4830 (df_ru_bb_local_compute_process_def,
4831 df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
4832 df_lr_bb_local_compute, df_ur_bb_local_compute,
4833 df_chain_create_bb): Made subreg aware.
4834 (df_ru_bb_local_compute, df_rd_bb_local_compute,
4835 df_lr_bb_local_compute, df_lr_bb_local_compute,
4836 df_chain_create_bb): Cleanup to use proper macros.
4837 (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
4838 code to fixup bitvectors.
4839 (df_ri_alloc): Cleared lifetime.
4840 (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
4841 df_create_unused_note): New function.
4842 (df_ri_bb_compute, df_ri_compute): Added code to create/update
4843 REG_DEAD and REG_UNUSED notes as well as register information.
4844 (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
4845 df_chains_dump): Fixed crash if problem was never run.
4846 (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
4847 df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
4848 df_ri_add_problem): Processes flags in uniform manner.
4849 (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
4850 df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
4851 df_rd_dump, df_urec_free_bb_info): Formatting changes.
4852 (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
4853 df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
4854 df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
4855 df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
4856 df_ur_dump, df_urec_free_bb_info, df_urec_dump,
4857 df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
4858 * modulo-sched.c (sms_schedule): Added flag parameter to calls.
4859 * see.c (see_initialize_data): Ditto.
4860 * final.c (rest_of_clean_state) Added regstack_completed.
4861 * rtl.h (regstack_completed): Ditto.
4862 * reg-stack.c (regstack_completed): Ditto.
4863
d593cb3d
MS
48642006-05-19 Mike Stump <mrs@apple.com>
4865
4866 * c-tree.h (default_conversion): Remove.
4867 * c-common.h (default_conversion): Add.
4868
04dce5a4
ZD
48692006-05-19 Zdenek Dvorak <dvorakz@suse.cz>
4870
4871 * tree-vrp.c (valid_value_p): New function.
4872 (adjust_range_with_scev): Fail if the value of bound is not
4873 simple.
4874
fa807ff6
RS
48752006-05-19 Richard Sandiford <richard@codesourcery.com>
4876
4877 * config/mips/linux-unwind.h: Include <asm/unistd.h>
4878 (mips_fallback_frame_state): Use syscall numbers to determine
4879 the appropriate li instruction for the current ABI. Only use
4880 __NR_sigreturn for o32.
4881
721a8ac5
NS
48822006-05-19 Nicolas Setton <setton@adacore.com>
4883
4884 * langhooks.h (struct lang_hooks): Add dwarf_name language hook.
4885 * langhooks.c (lhd_dwarf_name): New function.
4886 * langhooks-def.h (lhd_dwarf_name): Declare.
4887 (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
4888 * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook.
4889 * ada/misc.c (gnat_dwarf_name): New function.
4890 (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
0ac11108 4891
baffad1f
RS
48922006-05-19 Richard Sandiford <richard@codesourcery.com>
4893
4894 * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
4895 libgcc2.h.
4896 (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
4897 MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if
4898 LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
4899 * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
4900 Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
4901 determine the size of Wtype, etc.
4902 * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
4903 (swfloatfuncs): New variable.
4904 (dwfloatfuncs): Likewise.
4905 (lib2funcs): Remove floating-point conversion functions from
4906 initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine
4907 the set of conversion routines needed. Allow entries to specify
4908 an object name, filename and word size. Update users accordingly.
4909 * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
4910 * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
4911
4912 Revert:
4913
4914 2006-02-08 Roger Sayle <roger@eyesopen.com>
4915
4916 PR target/22209
4917 * config/fixtfdi.c: New libgcc source file.
4918 * config/fixunstfdi.c: New source file.
4919 * config/floatditf.c: New source file.
4920 * config/floatunditf.c: New souce file.
4921 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
4922 files above instead of config/mips/_tilib.c.
4923 * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
4924
03be9d6b
JDA
49252006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4926
4927 * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'.
4928 * pa/pa-hpux11.h (LIB_SPEC): Update comment.
4929
52ffd86e
MS
49302006-05-18 Mike Stump <mrs@apple.com>
4931
4932 Fix up vla, vm and [*] sematics.
4933
4934 PR c/18740
4935 PR c/7948
4936 PR c/25802
6a1f8611 4937 PR c/27673
52ffd86e
MS
4938 * c-tree.h (struct c_arg_info): Add had_vla_unspec.
4939 (c_vla_unspec_p): Add.
4940 (c_vla_type_p): Add.
4941 * c-decl.c (struct c_scope): Add had_vla_unspec.
4942 (build_array_declarator): Add support for [*].
4943 (grokdeclarator): Likewise.
4944 (grokparms): Likewise.
4945 (get_parm_info): Likewise.
4946 * c-objc-common.c (c_vla_unspec_p): Likewise.
4947 * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise.
4948 * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to
4949 typeof when argument is a variably modified type not inside sizeof or alignof.
4950 (c_parser_direct_declarator_inner): Propagate errors.
4951 (c_parser_sizeof_expression): Add support for [*].
6a1f8611
MS
4952 (c_parser_parms_declarator): Initialize had_vla_unspec.
4953 (c_parser_parms_list_declarator): Likewise.
52ffd86e
MS
4954 * c-typeck.c (c_vla_type_p): Add.
4955 (composite_type): Add support for vla compositing.
4956 (comptypes_internal): Add support for vla compatibility.
4957 (c_expr_sizeof_expr): Evaluate vla arguments.
4958 * tree.c (variably_modified_type_p): Update comment for [*].
4959
eaec4980
MM
49602006-05-18 Michael Matz <matz@suse.de>
4961
4962 PR target/27599
4963 * config.host: Make assignments to host_xmake_file cumulative.
4964 * config.host (*-darwin*): Test $host, not $target.
4965
33932946
SH
49662006-05-12 Stuart Hastings <stuart@apple.com>
4967
a1d1988f
MS
4968 * config/i386/i386.opt (-mstackrealign): New flag.
4969 * config/i386/i386.c (force_align_arg_pointer): New attribute.
33932946
SH
4970 (ix86_handle_cconv_attribute): Emit error when
4971 force_align_arg_pointer attribute collides with too many regparms.
4972 (ix86_function_regparm): Limit regparms when used with
4973 force_align_arg_pointer attribute. (ix86_internal_arg_pointer):
4974 Support stack-realigning prologue in non-main functions. Emit
4975 warning for nested functions under -mstackrealign, emit error for
4976 nested functions with force_align_arg_pointer attribute.
a1d1988f
MS
4977 * doc/extend.texi (force_align_arg_pointer): Document it.
4978 * doc/invoke.texi (-mstackrealign): Document it.
e8366202 4979
c8983342
KH
49802006-05-17 Kazu Hirata <kazu@codesourcery.com>
4981
4982 PR rtl-optimization/27477
4983 * combine.c (try_combine): Don't split a parallel consisting
4984 of two sets into two individual sets if both sets reference
4985 cc0.
4986
344185f1
L
49872006-05-17 H.J. Lu <hongjiu.lu@intel.com>
4988
4989 * config/arm/arm.opt (target_fpe_name): Remove VarExists.
4990 * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise.
4991
4992 * doc/options.texi (VarExists): Updated.
4993
edbaf6a2
JDA
49942006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4995
4996 * unwind-dw2.c: Add declarations for uw_update_context and
4997 uw_frame_state_for.
4998 * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is
4999 detected, advance frame state and context once to skip over stub.
5000
c93c5025
SP
50012006-05-17 Sebastian Pop <pop@cri.ensmp.fr>
5002
5003 PR middle-end/20256
5004 PR middle-end/26435
5005 * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p.
5006 Call rewrite_into_loop_closed_ssa only when something changed.
5007 * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration.
5008 * lambda-code.c (can_convert_to_perfect_nest): Declared.
5009 (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter.
5010 Test for perfect_nest_p here. Fix formating.
5011 (replace_uses_equiv_to_x_with_y): Fix formating.
5012 (stmt_uses_op): Removed.
5013 (can_convert_to_perfect_nest): Removed loopivs parameter.
5014 Complete the test by checking the scalar dependences.
5015 (perfect_nestify): Remove the test for can_convert_to_perfect_nest.
5016 Fix formating.
5017
be448346
BS
50182005-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
5019
5020 PR bootstrap/22541
5021 From Dan Kegel <dank@kegel.com>:
5022 * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
5023
2e3b8fe7
EB
50242006-05-17 Eric Botcazou <ebotcazou@adacore.com>
5025
5026 * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true
5027 if the element type is variably modified without recursing.
5028
9cb8f1ba
SP
50292006-05-17 Sebastian Pop <pop@cri.ensmp.fr>
5030
5031 PR middle-end/27332
e8366202 5032 * tree-loop-linear.c (try_interchange_loops): Test for
9cb8f1ba
SP
5033 no data dependences.
5034
e5db3515
ZD
50352006-05-17 Zdenek Dvorak <dvorakz@suse.cz>
5036
5037 PR tree-optimization/27548
5038 * tree-scalar-evolution.c (scev_const_prop): Do not prolong life
5039 range of ssa names that appear on abnormal edges.
5040 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export.
5041 * tree-flow.h (contains_abnormal_ssa_name_p): Declare.
5042
33598a1b
BS
50432005-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
5044
5045 PR middle-end/27620
5046 * expr.c (safe_from_p): Handle CONSTRUCTOR again.
5047
761041be
JJ
50482006-05-17 Jakub Jelinek <jakub@redhat.com>
5049
5050 PR middle-end/27415
5051 * tree.h (OMP_PARALLEL_COMBINED): Define.
5052 * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field.
5053 (new_omp_context): Add is_combined_parallel argument.
5054 (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust
5055 new_omp_context caller.
5056 (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
5057 Adjust gimplify_scan_omp_clauses callers.
5058 (omp_is_private): Issue errors if iteration variable is firstprivate
5059 or reduction in the current context.
5060 * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
5061 on combined parallel workshare constructs.
5062
8dc3f290
L
50632006-05-16 H.J. Lu <hongjiu.lu@intel.com>
5064
5065 * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
5066 (gcc-options.o): New rule.
5067
5068 * optc-gen.awk: Protect variables for gcc-options.o with
5069 #ifdef GCC_DRIVER/#endif.
5070
2ed4b0ce 50712006-05-16 Daniel Berlin <dberlin@dberlin.org>
e8366202 5072
2ed4b0ce
DB
5073 Fix PR tree-optimization/27373
5074 * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument.
5075 (forward_propagate_addr_expr): Update call.
5076
48b06e94
L
50772006-05-16 H.J. Lu <hongjiu.lu@intel.com>
5078
5079 * doc/options.texi: Move the Negative option.
5080
faaf1436
RG
50812006-05-16 Richard Guenther <rguenther@suse.de>
5082
5083 PR tree-optimization/22303
5084 * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads
5085 from STRING_CSTs.
5086 (evaluate_stmt): Fall back to fold_const_aggregate_ref, if
5087 ccp_fold did not simplify the statement.
5088
14c7833c
L
50892006-05-16 H.J. Lu <hongjiu.lu@intel.com>
5090
5091 PR driver/26885
5092 * Makefile.in (GCC_OBJS): New.
5093 (OBJS-common): Add opts-common.o.
5094 (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
5095 (cpp$(exeext)): Likewise.
5096 (gcc.o): Also depend on opts.h.
5097 (opts-common.o): New.
5098
5099 * common.opt (gcoff): Add Negative(gdwarf-2).
5100 (gdwarf-2): Add Negative(gstabs).
5101 (gstabs): Add Negative(gstabs+).
5102 (gstabs+): Add Negative(gvms).
5103 (gvms): Add Negative(gxcoff).
5104 (gxcoff): Add Negative(gxcoff+).
5105 (gxcoff+): Add Negative(gcoff).
5106 * config/i386/i386.opt (m32): Add Negative(m64).
5107 (m64): Add Negative(m32).
5108
5109 * doc/options.texi: Document the Negative option.
5110
5111 * gcc.c: Include "opts.h".
5112 (main): Call prune_options after expandargv.
5113
5114 * optc-gen.awk: Generate common declarations for all flag
5115 variables in options.c. Output the neg_index field.
5116
5117 * opts.c (find_opt): Moved to ...
5118 * opts-common.c: Here. New file.
5119
5120 * opts.h (cl_option): Add a neg_index field.
5121 (find_opt): New.
5122 (prune_options): Likewise.
5123
4156f84b
JJ
51242006-05-16 Jakub Jelinek <jakub@redhat.com>
5125
b570947c
JJ
5126 PR middle-end/27573
5127 * omp-low.c (expand_omp_parallel): Don't assert
5128 .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block,
5129 instead search for it.
5130
4156f84b
JJ
5131 PR c/27499
5132 * gimplify.c (gimplify_omp_for): Remove assertion that iteration var
5133 is signed.
5134
726e9992
AS
51352006-05-16 Andreas Schwab <schwab@suse.de>
5136
5137 * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end
5138 defmac.
5139
d0b89852
RS
51402006-05-15 Roger Sayle <roger@eyesopen.com>
5141
5142 PR target/26600
5143 * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
5144 integer constants other than zero are only legitimate on TARGET_64BIT.
5145 <CONST_VECTOR> Only zero vectors are legitimate.
5146 (ix86_cannot_force_const_mem): Integral and vector constants can
5147 always be put in the constant pool.
5148
a0cfeb0f
DD
51492006-05-16 DJ Delorie <dj@redhat.com>
5150
5151 * crtstuff.c (__dso_handle): Set section from
5152 TARGET_LBIGCC_SDATA_SECTION if defined.
726e9992 5153 * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document.
a0cfeb0f
DD
5154 * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.
5155
21028020
DS
51562006-05-16 Danny Smith <dannysmith@users.sourceforge.net>
5157
eaec4980 5158 PR target/27599
21028020
DS
5159 * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to
5160 host_xmake_file.
5161
4741d956
BE
51622006-05-16 Ben Elliston <bje@au.ibm.com>
5163
5164 * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'.
5165
44422aa3
PB
51662006-05-15 Per Bothner <per@bothner.com>
5167
0977c9ab 5168 * tree.c: (last_annotated_node): Use source_locus typedef.
44422aa3
PB
5169 This permits bootstrapping with --enable-mapped-location.
5170
95dd3097
ZD
51712006-05-15 Zdenek Dvorak <dvorakz@suse.cz>
5172
5173 PR tree-optimization/26830
5174 * tree-into-ssa.c (struct ssa_name_info): Add age field.
5175 (info_for_ssa_name, current_info_for_ssa_name_age,
5176 blocks_to_update): New variables.
5177 (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
5178 (clear_ssa_name_info, initialize_flags_in_bb,
5179 mark_block_for_update): New functions.
5180 (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
5181 (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
5182 prepare_def_site_for): Use mark_block_for_update.
5183 (mark_def_interesting): Assert that the processed block is marked in
5184 blocks_to_update. Do not take blocks argument.
5185 (prepare_use_sites_for, prepare_names_to_update): Do not take blocks
5186 argument.
5187 (rewrite_update_init_block, rewrite_update_stmt): Only process
5188 blocks with statements to rewrite.
5189 (delete_update_ssa): Do not clear SSA_NAME_AUX.
5190 (update_ssa): Initialize and free blocks_to_update. Do not
5191 clear flags on statements. Do not use blocks bitmap.
5192 * tree.h (SSA_NAME_AUX): Removed.
5193 (struct tree_ssa_name): Removed aux field.
5194 * print-tree.c (print_node): Do not print SSA_NAME_AUX.
5195
7136db7a
RG
51962006-05-15 Richard Guenther <rguenther@suse.de>
5197
5198 PR tree-optimization/27603
5199 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
5200 Do computations in original type.
5201
a0145633
MN
52022006-05-15 Mircea Namolaru <namolaru@il.ibm.com>
5203
f8f80cbb
ZD
5204 * see.c: Code style changes such as redundant paranthesis,
5205 redundant intialization of local variables etc.
5206 (see_main): Declared now as static.
5207 * doc/invoke.texi: Update that -fsee is not enabled by
5208 default at -O3.
a0145633 5209
eeb1d9e0
JJ
52102006-05-15 Jakub Jelinek <jakub@redhat.com>
5211
a6fc8e21
JJ
5212 * omp-low.c (check_omp_nesting_restrictions): New function.
5213 (scan_omp_1): Call it.
5214
eeb1d9e0
JJ
5215 PR middle-end/27416
5216 * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned
5217 construct, return *VAR.
5218
a1709769
KK
52192006-05-14 Kaz Kojima <kkojima@gcc.gnu.org>
5220
5221 PR rtl-optimization/27406
5222 * bt-load.c (migrate_btr_def): Skip the block having abnormal
5223 edges.
5224
56106c2e
RS
52252006-05-14 Roger Sayle <roger@eyesopen.com>
5226
5227 PR rtl-optimization/27538
5228 * combine.c (expand_compound_operation): Call gen_lowpart
5229 before calling simplify_shift_const.
5230
c505fc06
RS
52312006-05-14 Roger Sayle <roger@eyesopen.com>
5232
5233 PR rtl-optimization/22563
5234 * expmed.c (store_fixed_bit_field): When using AND and IOR to store
5235 a fixed width bitfield, always force the intermediates into psuedos.
5236
f9a4b91e
BF
52372006-05-14 Bernhard Fischer <aldot@gcc.gnu.org>
5238
5239 PR 27501
5240 * mkconfig.sh: Use operator = instead of == for test.
5241
83409463
NC
52422006-05-13 Nick Clifton <nickc@redhat.com>
5243
5244 * dwarf2out.c (dbx_reg_number): Check return value from
5245 LEAF_REG_REMAP and only use it if it is valid.
5246 (multiple_reg_loc_descriptor): Likewise.
5247
75c3fb73
RG
52482006-05-13 Richard Guenther <rguenther@suse.de>
5249
5250 * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to
5251 host_xmake_file.
5252
a1b53177
SB
52532006-05-13 Steven Bosscher <stevenb.gcc@gmail.com>
5254
5255 * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
5256 information attached to non-INSNs such as NOTEs.
5257 (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
5258
651a36e3
AK
52592006-05-12 Andreas Krebbel <krebbel1@de.ibm.com>
5260
5261 * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
5262 On contraint.
5263 * config/s390/s390.md: Adjust comment describing On constraint.
5264
5d342ef9
JH
52652006-05-11 Jan Hubicka <jh@suse.cz>
5266
5267 * cgraphunit.c (decide_is_function_needed): Don't force always_inline
5268 to be output at -O0.
5269
81e61fb4
VR
52702006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5271
7ebcc52c
VR
5272 PR middle-end/27384
5273 * fold-const.c (size_binop): Move sanity check for arguments to
5274 the beginning of the function.
5275
81e61fb4
VR
5276 PR middle-end/27488
5277 * fold-const.c (tree_expr_nonnegative_p): Return early on invalid
5278 expression.
5279
497cfe24
RG
52802006-05-11 Richard Guenther <rguenther@suse.de>
5281
5282 PR middle-end/27529
5283 * fold-const.c (fold_unary): Handle intermediate conversion
5284 to a pointer type like intermediate conversion to an integer
5285 type in folding of (T1)(T2)var to var.
5286 Match the code to the comment in the final conversion for
5287 (T1)(T2)var to (T1)var regarding to type precision. Rather
5288 than disallow T1 being of pointer type, assert that both T1
5289 and var are of pointer type or not. Make sure not to fall
5290 over the frontends lazyness wrt array to pointer decay though.
5291
29e339b9
RE
52922006-05-10 Richard Earnshaw <rearnsha@arm.com>
5293
5294 * arm.c (arm_struct_value_rtx): Delete.
5295 (TARGET_STRUCT_VALUE_RTX): Use the default definition.
5296 (arm_init_cumulative_args): Always initialize nregs to zero.
5297
5ac4f3bb
RG
52982006-05-10 Richard Guenther <rguenther@suse.de>
5299
5300 PR tree-optimization/27532
5301 * tree-object-size.c (plus_expr_object_size): Fix typo.
5302
e43d8b8a
KH
53032006-05-10 Kazu Hirata <kazu@codesourcery.com>
5304
5305 PR target/24949
5306 * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem,
5307 ashrdi_const, ashrdi3): Use a scratch register.
5308
a04d8591
RG
53092006-05-10 Richard Guenther <rguenther@suse.de>
5310
5311 PR tree-optimization/27302
5312 * fold-const.c (operand_equal_p): For two comparisons,
5313 try comparison of one comparison code swapped if that yields
5314 the same code.
5315
9c5835d5
BE
53162006-05-10 Ben Elliston <bje@au.ibm.com>
5317
4db60bd0
BE
5318 * tree-pretty-print.c (pretty_print_string): No need to handle
5319 '\0' as a special character.
5320
9c5835d5
BE
5321 * tree.h: Include "hashtab.h".
5322 (iterative_hash_expr): Use hashval_t in its prototype.
5323 * Makefile.in (TREE_H): Add $(HASHTAB_H).
5324
543b6009
SE
53252006-05-09 Steve Ellcey <sje@cup.hp.com>
5326
5327 PR bootstrap/26872
5328 * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes.
5329 (hppa*64*-*-hpux11*): Ditto.
5330 (hppa[12]*-*-hpux11*): Ditto.
5331
7ac159a5
DE
53322006-05-09 David Edelsohn <edelsohn@gnu.org>
5333
5334 PR target/26545
5335 * config/rs6000/aix41.h (TARGET_64BIT): Define.
5336
fa959ce4
MM
53372006-05-09 Michael Matz <matz@suse.de>
5338
5339 * config.host (<i[34567]86-*-*, x86_64-*-*>): Set
5340 host_extra_gcc_objs and host_xmake_file.
5341 (<*-*-linux*>): Don't overwrite host_xmake_file.
5342 * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS.
5343 * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define.
5344 (host_detect_local_cpu): Declare.
5345 (CC1_CPU_SPEC): Add -march=native and -mtune=native cases.
5346 * config/i386/i386.c (override_options): Handle -mtune=native
5347 as -mtune=generic.
5348 * config/i386/x-i386: New file.
5349 * config/i386/driver-i386.c: New file.
5350 * doc/invoke.texi (<i386 and x86-64 Options>): Describe
5351 cpu-type "native".
5352
f9c3744b
DM
53532006-05-09 Dirk Mueller <dmueller@suse.de>
5354 Richard Guenther <rguenther@suse.de>
5355
5356 PR middle-end/27498
5357 * fold-const.c (fold_read_from_constant_string): Relax check
5358 for matching types to matching modes.
5359
2c790a28
ZD
53602006-05-09 Zdenek Dvorak <dvorakz@suse.cz>
5361
5362 PR rtl-optimization/27335
5363 * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the
5364 loops.
5365
ec4fc7ed
RS
53662006-05-08 Chao-ying Fu <fu@mips.com>
5367 Richard Sandiford <richard@codesourcery.com>
5368
5369 * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns.
5370 (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise.
5371 * config/mips/mips.md (UNSPEC_SCC): New constant.
5372 * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare.
5373 * config/mips/mips.c (mips_reverse_fp_cond_p): New function.
5374 (mips_emit_compare): Use it.
5375 (mips_expand_vcondv2sf): New function.
5376
74be08f8
DB
53772006-05-08 Daniel Berlin <dberlin@dberlin.org>
5378
5379 Fix PR tree-optimization/27093
e8366202 5380 * tree-ssa-alias.c (recalculate_used_alone): Mark variables for
74be08f8
DB
5381 renaming when they become not-used_alone.
5382
fdaaf002
JDA
53832006-05-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5384
5385 * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
5386 relocation and relocation stubs.
5387
90c92323
EC
53882006-05-08 Eric Christopher <echristo@apple.com>
5389
5390 * unwind-dw2-fde-darwin.c (examine_objects): Only check data
5391 section for ppc.
5392
04f77d0f
JH
53932006-05-08 Jan Hubicka <jh@suse.cz>
5394
46f5f7f2 5395 PR middle-end/24561
04f77d0f
JH
5396 * cgraphunit.c (decide_is_function_needed): When not optimizing even
5397 unused static functions are needed.
5398
857e5753
RS
53992006-05-08 Roger Sayle <roger@eyesopen.com>
5400
5401 PR target/27158
5402 * reload.c (find_reloads_toplev): Only return the simplified SUBREG
5403 of a reg_equiv_constant if the result is a legitimate constant.
5404
b81bd6c9
UB
54052006-05-08 Uros Bizjak <uros@kss-loka.si>
5406
5407 PR target/27277
5408 * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
5409 standard 80387 constants, raise the cost to prevent
5410 compress_float_constant() to generate load from memory.
5411
923d16d4
KH
54122006-05-08 Kazu Hirata <kazu@codesourcery.com>
5413
5414 * config/arm/constraints.md (c): Fix a typo.
5415
bca50406
KH
5416 * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment
5417 typos.
5418
67a4b391
L
54192006-05-07 H.J. Lu <hongjiu.lu@intel.com>
5420
5421 PR target/24879
5422 * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use
5423 inline function.
5424 (_mm_mwait): Likewise.
5425
5426 * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with
5427 "mwait".
5428 (sse3_monitor): Make it 32bit only.
5429 (sse3_monitor64): New. 64bit monitor.
5430
f7360901
VR
54312006-05-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5432
5433 PR target/27421
5434 * config/i386/i386.c (classify_argument): Skip fields with invalid
5435 types.
5436
18455d17
RG
54372006-05-07 Richard Guenther <rguenther@suse.de>
5438
5439 PR tree-optimization/27409
5440 * tree-ssa-structalias.c (get_constraint_for_component_ref):
5441 Do not try to find zero-sized subvars.
5442
ed52affe
RG
54432006-05-07 Richard Guenther <rguenther@suse.de>
5444
5445 PR tree-optimization/27136
5446 * tree-ssa-loop-niter.c (get_val_for): Correct function
5447 comment, assert requirements.
5448 (loop_niter_by_eval): Stop processing if the iterated
5449 value did not simplify.
5450
ef5d0a89
MN
54512006-05-07 Mircea Namolaru <namolaru@il.ibm.com>
5452
e8366202 5453 * opts.c (flag_see): remove its setting at -O3.
90c92323 5454
ce92b223
RE
54552006-05-07 Richard Earnshaw <rearnsha@arm.com>
5456
5457 * genpeep.c (main): Make insn-peep.c depend on flags.h.
5458 * arm/constraints.md: New file.
5459 * arm.h (REG_CLASS_FROM_LETTER_P): Delete.
5460 (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER)
5461 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER)
5462 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM)
5463 (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR)
5464 (EXTRA_MEMORY_CONSTRAINT): Likewise.
5465 * arm.md: Include constraints.md.
5466 (thumb_movsi_insn): Use satisfies_constraint_J.
5467 (movhi, movqi): Use satisfies_constraint_I.
5468
ed1a08a7
AS
54692006-04-29 Anatoly Sokolov <aesok@post.ru>
5470
e8366202 5471 * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name
ed1a08a7
AS
5472 for atmeg a645 device.
5473
75bfa678
RG
54742006-05-06 Richard Guenther <rguenther@suse.de>
5475
5476 PR tree-optimization/27151
5477 * tree-vect-transform.c (vectorizable_condition): Punt on
5478 values that have a different type than the condition.
5479
8d8d1a28
AH
54802006-05-03 Aldy Hernandez <aldyh@redhat.com>
5481
5482 PR/21391
5483 * c-parser.c (c_parser_cast_expression): Only insert casts into
5484 hash table if pointer.
5485 * function.c (used_types_insert_helper): Rename from
5486 used_types_insert.
5487 (used_types_insert): Call used_types_insert_helper.
5488 * function.h (used_types_insert): Accept only one argument.
5489
edd54d25
DE
54902006-05-05 David Edelsohn <edesohn@gnu.org>
5491
5492 * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered
5493 scratch with output modifier.
5494
1958f718
DE
54952006-05-04 David Edelsohn <edelsohn@gnu.org>
5496
5497 PR target/26481
5498 * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint
5499 with output modifier.
5500
05431b85
KH
55012006-05-04 Richard Sandiford <richard@codesourcery.com>
5502
5503 PR target/26765
5504 * config/mips/mips.c (mips_symbolic_address_p): Return true
5505 for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
5506 SYMBOL_GOTTPREL, and SYMBOL_TLS.
5507
d818832c
RG
55082006-05-04 Richard Guenther <rguenther@suse.de>
5509
5510 PR tree-optimization/14287
5511 PR tree-optimization/14844
5512 PR tree-optimization/19792
5513 PR tree-optimization/21608
5514 PR tree-optimization/27090
5515 * tree-ssa-pre.c (try_combine_conversion): New function.
5516 (compute_avail): After constructing the value-handle
5517 expression, use try_combine_conversion to combine NOP_EXPRs
5518 with previous value-handle expressions and use the result if it
5519 is available.
5520
6c4b5a19
JM
55212006-05-04 Joseph S. Myers <joseph@codesourcery.com>
5522
5523 * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove.
5524
69fb1284
JH
55252006-05-04 Jan Hubicka <jh@suse.cz>
5526
5527 PR middle-end/25962
5528 * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.
5529
554006bd
BS
55302006-05-04 Bernd Schmidt <bernd.schmidt@analog.com>
5531
5532 * config/bfin/predicates.md (const01_rtx): Tell generator programs
5533 that this only matches CONST_INTs. All users changed to VOIDmode
5534 operands.
5535
42da70b7
BS
5536 * config/bfin/bfin.c: Include "optabs.h".
5537 (bfin_rtx_costs): Some costs for vector operations, to allow combine
5538 to do more work.
5539 (enum bfin_builtins): Add a number of fractional and vector builtins.
5540 (bfin_init_builtins): Likewise.
5541 (struct builtin_description, bdesc_2arg, bdesc_1arg): New.
5542 (safe_vector_operand, bfin_expand_binop_builtin,
5543 bfin_expand_unop_builtin): New functions.
5544 (bfin_expand_builtin): Handle the new builtins.
5545 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
5546 __ADSPBLACKFIN__.
5547
8cd37d0b
RL
55482006-05-04 Leehod Baruch <leehod@il.ibm.com>
5549
e8366202
MS
5550 * see.c: New file.
5551 * Makefile.in (OBJS-common): Add see.o.
5552 (see.o): Add dependencies.
5553 * common.opt (fsee): New flag for the see optimization was added.
5554 * opts.c (flag_see): Initialized.
5555 * passes.c (init_optimization_passes, pass_see): New pass.
5556 * rtl.h (see_main): Declaration as extern.
5557 * timevar.def (TV_SEE): New.
5558 * tree-pass.h (pass_see): Declaration as extern.
5559 * invoke.texi (-fsee): Document.
5560 * recog.c (validate_simplify_insn): New function.
5561 * recog.h (validate_simplify_insn): Declaration as extern.
5562 * df-problems.c (df_chain_dump): Check for NULL.
8cd37d0b
RL
5563
55642006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com>
e8366202 5565 Daniel Berlin <dberlin@dberlin.org>
8cd37d0b 5566
e8366202
MS
5567 * cfgrtl.c (insert_insn_bb_end_new): New function.
5568 * basic-block.h (insert_insn_bb_end_new): Declaration as extern.
8cd37d0b
RL
5569
55702006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il>
5571
e8366202
MS
5572 * df.h (struct web_entry): Moved from web.c.
5573 (union_defs): Declaration as extern.
5574 (unionfind_root): Likewise.
5575 (unionfind_union): Likewise.
5576 * web.c (struct web_entry): Moved to df.h.
5577 (unionfind_root): Remove static declaration.
5578 (unionfind_union): Likewise.
5579 (union_defs): Likewise and generalize to use callback function.
5580 (web_main): Update arguments for union_defs function call.
8cd37d0b 5581
23ba9627
RG
55822006-05-04 Richard Guenther <rguenther@suse.de>
5583
5584 PR tree-optimization/26447
5585 * tree-ssa-pre.c (realify_fake_stores): For necessary loads
5586 produce SSA_NAME copies before the store stmt to avoid
5587 breaking exception handling.
5588
f6a5ffbf
JJ
55892006-05-04 Jakub Jelinek <jakub@redhat.com>
5590
5591 PR middle-end/27388
5592 * gimplify.c (omp_is_private): If var is shared in some outer context,
5593 return false instead of true. Stop searching on parallel context
5594 boundary.
5595
0ef1a537
AO
55962006-05-03 Alexandre Oliva <aoliva@redhat.com>
5597
5598 PR java/8260
5599 * coverage.c: Use get_gcov_unsigned_t() instead of
5600 unsigned_type_node all over.
5601
afd83fe4
AM
56022006-05-02 Andrew MacLeod <amacleod@redhat.com>
5603
5604 PR tree-optimization/27381
90c92323 5605 * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument,
afd83fe4 5606 maintain the same immediate_use links.
90c92323 5607 * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker
afd83fe4
AM
5608 node rather than segfaulting.
5609
693d710f
JJ
56102006-05-03 Jakub Jelinek <jakub@redhat.com>
5611
5612 PR fortran/27395
5613 * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE
5614 rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN
5615 bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER.
5616
832a0c1d
DB
56172006-05-02 Daniel Berlin <dberlin@dberlin.org>
5618
5619 Fix PR tree-optimization/26626
5620 * tree-ssa-structalias.c (compute_points_to_sets): For now, solve
5621 always.
5622 * tree-ssa-operands.c (access_can_touch_variable): Allow
5623 typecasting through union pointers.
5624
8ca5b2a2
JJ
56252006-05-02 Jakub Jelinek <jakub@redhat.com>
5626
5627 PR c++/26943
5628 * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
5629 (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
5630 to find if var will be a global variable even in the nested context.
5631 (omp_copy_decl): Only check for global variable at the end, it might
5632 be overridden in outer contexts.
5633 (scan_sharing_clauses): For global variables don't create a field.
5634 (lower_rec_input_clauses): Do nothing for global shared variables.
5635 Emit a barrier at the end of ILIST if there were any decls in both
5636 firstprivate and lastprivate clauses.
5637 (lower_send_clauses): Do nothing for global variables except for
5638 COPYIN.
5639
a3428e07
ZD
56402006-05-02 Zdenek Dvorak <dvorakz@suse.cz>
5641
5642 * tree.c (unsigned_type_for, signed_type_for): Make sure a type
5643 of the correct signedness is returned.
5644
26ef4301
JL
56452006-05-02 Jeff Law <law@redhat.com>
5646
5647 PR tree-optimization/27364
5648 * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from
5649 multiply expressions.
5650
263bb8fb
TT
56512006-05-02 Tom Tromey <tromey@redhat.com>
5652
5653 * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo.
5654
54b9e939
KH
56552006-05-02 Kazu Hirata <kazu@codesourcery.com>
5656
5657 PR target/27387
5658 * arm.c (arm_output_mi_thunk): Use pc-relative addressing when
5659 -mthumb -fPIC are used.
5660
2297e173
SS
56612006-05-02 Stanislaw Skowronek <skylark@linux-mips.org>
5662 Joshua Kinard <kumba@gentoo.org>
d541888b
SS
5663
5664 PR target/25871
a1d1988f 5665 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves
d541888b
SS
5666 with 64-bit pointers.
5667
7a7017bc
PB
56682006-05-02 Paul Brook <paul@codesourcery.com>
5669
5670 * config/arm/arm.c (add_minipool_forward_ref): Check if insn
5671 and pool overlap.
5672 (create_fix_barrier): Check that a suitable barrier location is
5673 found.
5674 (arm_reorg): Include ftmp->address in allowable range of addresses.
5675
3beef5cb
DB
56762006-05-02 David Billinghurst <David.Billinghurst@riotinto.com>
5677
5678 PR ada/27366
90c92323 5679 * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment
7a7017bc 5680 on Cygwin.
3beef5cb 5681
d5d86fde
JJ
56822006-05-02 Jakub Jelinek <jakub@redhat.com>
5683
077b0dfb
JJ
5684 PR middle-end/27337
5685 * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF
5686 around RESULT_DECL for result passed by reference.
5687 (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen.
5688 * omp-low.c (use_pointer_for_field): Don't look at
5689 DECL_HAS_VALUE_EXPR_P for RESULT_DECLs.
5690 (scan_omp_1): Call remap_decl on RESULT_DECLs.
5691 (lower_rec_input_clauses): Don't allocate VLA memory for the second
5692 time or var for passing by reference for
5693 OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of
5694 TREE_ADDRESSABLE variables when passing by reference.
5695
5696 * omp-low.c (dump_omp_region): Fix output formatting.
5697
2aee3e57
JJ
5698 PR middle-end/27328
5699 * omp-low.c (remove_exit_barrier): Handle NULL exit_bb.
5700 (expand_omp_parallel): Likewise.
5701 * tree-cfg.c (move_sese_region_to_fn): Likewise.
5702
4a31b7ee
JJ
5703 PR middle-end/27325
5704 * omp-low.c (lower_omp_sections): Call maybe_catch_exception
5705 on statement list containing also constructors and destructors.
5706 (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise.
5707
d5d86fde
JJ
5708 PR middle-end/27310
5709 * except.c (duplicate_eh_regions): Fix clearing of
5710 cfun->eh->region_array entries.
5711
c15b113b
DD
57122006-05-01 DJ Delorie <dj@redhat.com>
5713
5714 * configure.ac (gcc_cv_nm): Don't use an in-tree nm if
5715 build!=host.
5716 (gcc_cv_objdump): Likewise.
5717 * configure: Regenerated.
5718
94634f14
KH
57192006-05-01 Kazu Hirata <kazu@codesourcery.com>
5720
5721 PR target/27374
5722 * config/arm/vfp.md (*arm_movdi_vfp): Correct the output
5723 templates for case 3 and 4.
5724
2d5bc016
DD
57252006-05-01 DJ Delorie <dj@redhat.com>
5726
5727 * vec.c: Include bconfig.h when appropriate.
5728 * Makefile.in (build/vec.o): Adjust dependencies.
5729 * mkconfig.sh: Make sure config.h isn't used for build machine
5730 compiles.
5731
2ce79879
ZD
57322006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
5733
5734 * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New
5735 variables.
5736 (mark_phi_for_rewrite): New function.
5737 (insert_phi_nodes_for, mark_use_interesting): Call
5738 mark_phi_for_rewrite.
5739 (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite.
5740 (update_ssa): Initialize and free phis_to_rewrite.
5741
ed541ddb
ZD
57422006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
5743
5744 PR rtl-optimization/27291
5745 * loop-doloop.c (add_test, doloop_modify): Handle the case condition is
5746 folded to a constant.
5747
dcccd88d
ZD
57482006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
5749
5750 PR tree-optimization/27283
5751 * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees,
5752 not whole # of iteration descriptions.
5753 (niter_for_exit): Return just # of iterations. Fail if # of iterations
5754 uses abnormal ssa name.
5755 (niter_for_single_dom_exit): Ditto.
5756 (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to
5757 return just the number of iterations.
5758
763f4527
ZD
57592006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
5760
5761 PR tree-optimization/27144
5762 * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
5763 (record_estimate): Only record constant upper bound.
5764 (infer_loop_bounds_from_undefined): Call
5765 compute_estimated_nb_iterations just once.
5766 (proved_non_wrapping_p): Renamed to ...
5767 (n_of_executions_at_most): ... this. Expect bound to be a constant.
5768 (convert_step_widening, scev_probably_wraps_p): Call
5769 n_of_executions_at_most instead of proved_non_wrapping_p.
5770 (substitute_in_loop_info): Do not replace values in bounds.
5771 * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update
5772 comments.
5773
2a83cc52
RH
57742006-05-01 Richard Henderson <rth@redhat.com>
5775
5776 PR c/27358
5777 * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after
5778 c_parser_skip_to_pragma_eol. Convert to switch statement. Handle
5779 CPP_PRAGMA.
5780
0f57299d
RS
57812006-05-01 Roger Sayle <roger@eyesopen.com>
5782
5783 * c-typeck.c (parser_build_binary_op): Don't call the function
5784 unsigned_conversion_warning to spot operand/result type overflow.
5785 (build_binary_op): Instead, call convert_and_check instead of
5786 convert to report the problem when the operands are promoted.
5787 * c-common.c (unsigned_conversion_warning): Make static.
5788 * c-common.h (unsigned_conversion_warning): Delete prototype.
5789
ea643120
RG
57902006-05-01 Richard Guenther <rguenther@suse.de>
5791
5792 PR tree-optimization/26726
5793 * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the
5794 problem ...
5795 (find_interesting_uses_address): ... we work around here
5796 by folding INDIRECT_REFs in the substituted base.
5797
444e96af
DN
57982006-05-01 Diego Novillo <dnovillo@redhat.com>
5799
5800 * omp-low.c (dump_omp_region): Add newlines.
5801
71834ad3
RS
58022006-04-30 Roger Sayle <roger@eyesopen.com>
5803
5804 * common.opt (Woverflow): New command line option.
5805 * c-common.c (constant_expression_warning): Check warn_overflow.
5806 (overflow_waring): Pass OPT_Woverflow to warning.
5807 (unsigned_conversion_warning): Likewise.
5808 (convert_and_check): Likewise.
5809 * doc/invoke.texi: Document new command line option.
5810
194c524a
DE
58112006-04-30 David Edelsohn <edelsohn@gnu.org>
5812
5813 * config/rs6000/rs6000.c (rs6000_override_options): Enable
5814 TARGET_NO_FP_IN_TOC for section anchors.
5815 (optimization_options): Enable section anchors for all
5816 non-"Objective" languages.
5817
4f8bdef9
EC
58182006-04-28 Eric Christopher <echristo@apple.com>
5819
5820 * config/darwin-c.c (darwin_ms_struct): Move this
5821 (darwin_set_default_type_attributes): and this...
5822 * config/darwin.c: ... here.
5823 * config/darwin.h (darwin_ms_struct): Declare.
5824
a5f84464
AM
58252006-04-28 Andrew MacLeod <amacleod@redhat.com>
5826
5827 * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
5828
a0f0ab9f
RS
58292006-04-28 Roger Sayle <roger@eyesopen.com>
5830
5831 PR c/25309
5832 * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
5833 (push_array_bounds): Delete prototype. Change BOUNDS argument to
5834 an unsigned HOST_WIDE_INT.
5835 (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
5836 array index.
5837 (really_start_incremental_init): No need to call convert because
5838 bitsize_zero_node is already of type bitsizetype.
5839 (push_init_level): Extract the value of constructor_index as an
5840 unsigned HOST_WIDE_INT quantity, using tree_low_cst.
5841 (process_init_element): Likewise.
5842
c7370b83
JM
58432006-04-28 Joseph S. Myers <joseph@codesourcery.com>
5844
5845 * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX
5846 value before passing to make_relative_prefix.
5847
bb6a0ee1
AM
58482006-04-28 Alan Modra <amodra@bigpond.net.au>
5849
5850 PR middle-end/27260
5851 * builtins.c (expand_builtin_memset): Expand val in original mode.
5852
16d6f994
EC
58532006-04-27 Eric Christopher <echristo@apple.com>
5854
5855 * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket
5856 with #ifndef/#endif.
5857 * config/darwin-c.c (darwin_ms_struct): New.
5858 (darwin_pragma_ms_struct): Ditto.
5859 (darwin_set_default_type_attributes): Ditto.
5860 * config/darwin-protos.h (darwin_pragma_ms_struct): Declare.
5861 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
5862 Register ms_struct pragma.
5863 * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare.
5864 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto.
5865 * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call
5866 darwin_set_default_type_attributes if TARGET_MACHO.
5867
6c00f606
AM
58682006-04-27 Andrew MacLeod <amacleod@redhat.com>
5869
5870 PR tree-optimization/26854
5871 * tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
5872 * doc/tree-ssa.texi: Update immuse iterator documentation.
5873 * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
5874 * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
5875 * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
5876 first_safe_imm_use, next_safe_imm_use): Remove.
5877 (end_imm_use_stmt_p): New. Check for end of immuse stmt traversal.
5878 (end_imm_use_stmt_traverse): New. Terminate immuse stmt traversal.
5879 (move_use_after_head): New. Helper function to sort immuses in a stmt.
5880 (link_use_stmts_after): New. Link all immuses in a stmt consescutively.
5881 (first_imm_use_stmt): New. Get first stmt in an immuse list.
5882 (next_imm_use_stmt): New. Get next stmt in an immuse list.
5883 (first_imm_use_on_stmt): New. Get first immuse on a stmt.
5884 (end_imm_use_on_stmt_p): New. Check for end of immuses on a stmt.
5885 (next_imm_use_on_stmt): New. Move to next immuse on a stmt.
5886 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
5887 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
5888 (perfect_nestify): Use new iterator.
16d6f994 5889 * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
6c00f606
AM
5890 iterator.
5891 * tree-flow.h (struct immediate_use_iterator_d): Add comments.
5892 (next_imm_name): New field in struct immediate_use_iterator_d.
5893 (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
16d6f994 5894 (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
6c00f606
AM
5895 FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
5896 * tree-cfg.c (replace_uses_by): Use new iterator.
5897 * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
5898 * tree-ssa-operands.c (correct_use_link): Remove.
5899 (finalize_ssa_use_ops): No longer call correct_use_link.
5900
9613eaff
SH
59012006-04-27 Stuart Hastings <stuart@apple.com>
5902
5903 * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
5904 * config/t-darwin (crt3.o): Use it.
5905 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
5906 'pmode', use Pmode instead of SImode for SYMBOL_REF.
5907 * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
5908 call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
5909 call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
5910 support.
16d6f994 5911
135c2bd4
RS
59122006-04-27 Roger Sayle <roger@eyesopen.com>
5913
5914 * expmed.c (store_fixed_bit_field): If we're not optimizing for
5915 size, force the intermediate into a new pseudo rather instead of
5916 performing both a bitwise AND and a bitwise IOR in memory.
5917
921b02cd
RG
59182006-04-27 Richard Guenther <rguenther@suse.de>
5919
5920 PR rtl-optimization/26685
5921 * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
5922 this one "max-flow-memory-locations".
5923
67ac6e63
RG
59242006-04-27 Richard Guenther <rguenther@suse.de>
5925
5926 PR tree-optimization/25148
5927 * tree-vrp.c (compare_values): Remove code dealing with
5928 comparisons against type min/max value. Honour overflow
5929 and negative constants in code dealing with comparisons
5930 of plus and minus expressions.
5931 (value_inside_range): Use fold_binary with LE_EXPR and
5932 GE_EXPR rather than compare_values.
5933
869170df
DM
59342006-04-27 Dirk Mueller <dmueller@suse.de>
5935
5936 * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
5937 prototype for SSE.
5938
3bf7d5e7
KZ
59392006-04-26 Kenneth Zadeck <zadeck@naturalbridge.com>
5940
5941 * basic-block.h (safe_insert_insn_on_edge): Removed.
5942 * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.
5943
7b282ff9
DE
59442006-04-26 David Edelsohn <edelsohn@gnu.org>
5945 Paolo Bonzini <bonzini@gnu.org>
5946
5947 PR middle-end/27282
5948 * combine.c (simplify_and_const_int_1): Use gen_int_mode.
5949 (simplify_and_const_int): Same.
5950
44470433
AH
59512006-04-26 Aldy Hernandez <aldyh@redhat.com>
5952
e8366202 5953 * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
44470433 5954
21a66e91
JJ
59552006-04-26 Jakub Jelinek <jakub@redhat.com>
5956
91b6c26d
JJ
5957 PR c/26171
5958 * cgraph.c (cgraph_varpool_finalize_decl): Don't call
5959 cgraph_varpool_assemble_pending_decls if -fopenmp, unless
5960 cgraph_global_info_ready.
5961
07ed51c9
JJ
5962 PR middle-end/26913
5963 * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
5964
1562e1fe
JJ
5965 PR c/25996
5966 * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
5967 either decl or init is error_mark_node.
5968
21a66e91
JJ
5969 PR middle-end/25989
5970 * tree-flow.h (struct omp_region): Add sched_kind.
5971 * omp-low.c (expand_parallel_call): Use region->inner->sched_kind
5972 instead of extracting omp for data.
5973 (expand_omp_for): Save extracted sched_kind.
5974
f7acbf4c
RS
59752006-04-25 Roger Sayle <roger@eyesopen.com>
5976
5977 * expmed.c (store_bit_field): Also check whether the bitsize is
5978 valid for the machine's "insv" instruction before moving the
5979 target into a pseudo for use with the insv.
5980 * config/i386/predicates.md (const8_operand): New predicate.
5981 * config/i386/i386.md (extv, extzv, insv): Use the new
5982 const8_operand predicate where appropriate.
5983
c9936427
DD
59842006-04-25 DJ Delorie <dj@redhat.com>
5985
5986 * doc/install.texi (Specific): Clarify that this is not a list of
5987 supported hosts or targets.
5988
c0c5d392
RS
59892006-04-25 Richard Sandiford <richard@codesourcery.com>
5990
5991 PR rtl-optimization/26725
5992 * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
5993 block's BB_DIRTY flag.
5994
d61772b2
GK
59952006-04-25 Geoffrey Keating <geoffk@apple.com>
5996
887dc802
GK
5997 * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
5998 are no branches.
5999
d61772b2
GK
6000 * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
6001 to print an integer.
6002
d5fa3ec8
DE
60032006-04-25 David Edelsohn <edelsohn@gnu.org>
6004
6005 * varasm.c (align_variable): New function.
6006 (get_block_for_decl): Apply align_variable to DECL before
6007 calculating section information.
6008 (assemble_variable): Split out alignment computation.
6009
495db1a1
AK
60102006-04-25 Andreas Krebbel <krebbel1@de.ibm.com>
6011
6012 * expmed.c (store_bit_field): Handle paradoxical subregs on big endian
6013 machines.
6014
75d8b2d0
BS
60152006-04-25 Bernd Schmidt <bernd.schmidt@analog.com>
6016
6017 * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
6018 MODE_PARTIAL_INT mode.
6019 * config/bfin/bfin-modes.def: Add V2PDI and V2SI.
6020 * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
6021 for CONST_INTs.
6022 (hard_regno_mode_ok): V2PDImode is ok for accumulators.
6023 * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
6024 V2PDImode.
6025 * config/bfin/predicates.md (const01_operand, vec_shift_operand):
6026 New predicates.
6027 * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
6028 New constants.
6029 (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
6030 MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
6031 MACFLAG_IH): Likewise.
6032 (movstricthi_1): Renamed from "*movstricthi".
6033 (load_accumulator, load_accumulator_pair, movsi_insv, insv,
6034 ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
6035 abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
6036 movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
6037 movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
6038 movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
6039 addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
6040 sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
6041 addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
6042 mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
6043 ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
6044 flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
6045 flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
6046 flag_macv2hi_parts, flag_macv2hi_parts_acconly,
6047 flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.
6048
6d75cd5f
BS
6049 * doc/rtl.texi (ss_ashift): Improve wording.
6050
6f8d8ef0
GK
60512006-04-24 Geoffrey Keating <geoffk@apple.com>
6052
6053 * dwarf2out.c (verify_marks_clear): New.
6054 (prune_unused_types): Call verify_marks_clear initially, not
6055 prune_unmark_dies.
6056
e551ad26
BS
60572006-04-24 Bernd Schmidt <bernd.schmidt@analog.com>
6058
6059 * rtl.def (SS_ASHIFT, SS_NEG): New codes.
6060 * doc/rtl.texi: Document them.
6061 * simplify-rtx.c (simplify_unary_operation,
6062 simplify_binary_operation_1): Don't abort when we see them.
6063
bfa11223
MM
60642006-04-24 Mark Mitchell <mark@codesourcery.com>
6065
6066 Revert:
6067 2006-04-23 Mark Mitchell <mark@codesourcery.com>
6068 * configure.ac: Completely disregard languages that are not
6069 enabled.
6070 * configure: Regenerated.
6071
d84b37b0
AP
60722006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
6073 Richard Guenther <rguenther@suse.de>
6074
6075 PR tree-optimization/27236
6076 * tree-inline.c (copy_body_r): Make sure to copy
6077 TREE_THIS_VOLATILE flag.
6078
c0a3f887
RG
60792006-04-24 Richard Guenther <rguenther@suse.de>
6080
6081 PR middle-end/26869
6082 * tree-complex.c (update_parameter_components): Don't handle
6083 unused parameters which have no default def.
6084
72fa5e06
AP
60852006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
6086 Richard Guenther <rguenther@suse.de>
6087
6088 PR tree-optimization/27218
6089 * tree-inline.c (expand_call_inline): Strip useless type
6090 conversions for the return slot address.
6091
0162f155
RG
60922006-04-24 Richard Guenther <rguenther@suse.de>
6093
6094 * cfgloop.h (struct loops): Remove unused field array. Reorder
6095 state after num.
6096 (LOOP_PREFETCH): Remove.
6097
7e1584f8
RG
60982006-04-24 Richard Guenther <rguenther@suse.de>
6099
6100 PR tree-optimization/22525
6101 * value-prof.c (tree_mod_pow2): Remove unnecessary temporary
6102 variable, adjust types of generated expressions.
6103
d24b23bb
L
61042006-04-23 H.J. Lu <hongjiu.lu@intel.com>
6105
6106 * Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
6107 (tree-vect-patterns.o): Likewise.
6108 (jump.o): Likewise.
6109 (cselib.o): Likewise.
6110 (loop-doloop.o): Likewise.
6111 (regclass.o): Likewise.
6112 (reload1.o): Likewise.
6113 (explow.o): Replace target.h with $(TARGET_H).
6114 (ipa-prop.o): Likewise.
6115 (ipa-cp.o): Likewise.
6116 (ipa-inline.o): Likewise.
6117 (reorg.o): Likewise.
6118 (reg-stack.o): Likewise.
6119
e8c3ff97
EB
61202006-04-23 Eric Botcazou <ebotcazou@adacore.com>
6121
6122 * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
6123
38a4afee
MM
61242006-04-23 Mark Mitchell <mark@codesourcery.com>
6125
bfa11223
MM
6126 * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE.
6127
6128 * configure.ac: Completely disregard languages that are not
6129 enabled.
6130 * configure: Regenerated.
6131
38a4afee
MM
6132 PR c++/26534
6133 * c-common.h (c_build_bitfield_integer_type): Declare.
6134 * c-decl.c (c_build_bitfield_integer_type): Move to ...
6135 * c-common.c (c_build_bitfield_integer_type): ... here.
6136
acb188c1
RS
61372006-04-23 Roger Sayle <roger@eyesopen.com>
6138
6139 PR target/21283
6140 * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
6141 a SImode SUBREG of a floating point register after no_new_pseudos.
6142
a02ee5b2
RS
61432006-04-23 Roger Sayle <roger@eyesopen.com>
6144
6145 * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
6146 identify potentially eliminable registers to additionally catch
6147 VIRTUAL_INCOMING_ARGS_REGNUM.
6148 (addsi3): Update the conditions on when to use addsi_small_int.
6149
c21242e8
RS
61502006-04-23 Roger Sayle <roger@eyesopen.com>
6151
6152 PR target/16641
6153 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
6154 STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
6155 rtx to stack_pointer_rtx or frame_pointer_rtx directly.
6156
1464eeb8
EB
61572006-04-23 Eric Botcazou <ebotcazou@adacore.com>
6158
6159 * fold-const.c (range_predecessor): Use operand_equal_p
6160 as the predicate for equality.
6161 (range_successor): Likewise.
6162
9542abd3
KH
61632006-04-22 Kazu Hirata <kazu@codesourcery.com>
6164
6165 Revert:
6166 * config/soft-fp/op-common.h: Fix a typo.
6167
110c4563
FCE
61682006-04-22 Frank Ch. Eigler <fche@redhat.com>
6169
6170 PR libmudflap/26864
6171 * common.opt (flag_mudflap_threads): Overload flag_mudflap.
6172 * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap.
6173
66a4ad37
KH
61742006-04-22 Kazu Hirata <kazu@codesourcery.com>
6175
6176 * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c:
6177 Fix comment typos.
6178 * doc/tm.texi: Fix a typo.
6179
d6eeb3ba
GK
61802006-04-21 Geoffrey Keating <geoffk@apple.com>
6181
6182 * dwarf2out.c (struct die_struct): Document that die_sib makes
6183 a circular linked list.
6184 (FOR_EACH_CHILD): New.
6185 (reverse_die_lists): Delete.
6186 (reverse_all_dies): Delete.
6187 (add_dwarf_attr): Correct documentation.
6188 (remove_child_with_prev): New.
6189 (remove_child_TAG): Update for change to die_struct, use
6190 remove_child_with_prev.
6191 (add_child_die): Update for change to die_struct.
6192 (splice_child_die): Use remove_child_with_prev and add_child_die.
6193 (print_die): Use FOR_EACH_CHILD.
6194 (die_checksum): Likewise.
6195 (assign_symbol_names): Likewise.
6196 (output_location_lists): Likewise.
6197 (build_abbrev_table): Likewise.
6198 (calc_die_sizes): Likewise.
6199 (mark_dies): Likewise.
6200 (unmark_dies): Likewise.
6201 (unmark_all_dies): Likewise.
6202 (output_die): Likewise.
6203 (prune_unused_types_mark): Likewise.
6204 (prune_unused_types_walk): Likewise.
6205 (same_die_p): Update for change to die_struct.
6206 (break_out_includes): Likewise.
6207 (prune_unused_types_prune): Likewise.
6208 (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic.
6209 (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if
6210 it's already clear.
6211 (dwarf2out_finish): Don't call reverse_all_dies.
6212
7a0b46c9
EC
62132006-04-21 Eric Christopher <echristo@apple.com>
6214
6215 * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos
6216 in comments and function names.
6217
5d5e98dc
VR
62182006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
6219
f01da1a5
VR
6220 PR c/25875
6221 * c-typeck.c (digest_init): Robustify.
6222
5d5e98dc
VR
6223 * c-typeck.c (pop_init_level): Simplify.
6224
3144998a
SE
62252006-04-21 Steve Ellcey <sje@cup.hp.com>
6226
6227 * config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
6228
87b24aaf
PB
62292006-04-21 Paul Brook <paul@codesourcery.com>
6230
6231 * config/arm/arm.c (arm_override_options): Error on iWMMXt and
6232 hardware floating point.
6233
e3604432
DE
62342006-04-21 David Edelsohn <edelsohn@gnu.org>
6235
6236 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to
6237 NON_FLOAT_REGS.
6238
15eaa78f
NC
62392006-04-21 Nick Clifton <nickc@redhat.com>
6240
6241 * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include
6242 OPT_EXTRA_PARTS.
6243
56438901
AM
62442006-04-21 Alan Modra <amodra@bigpond.net.au>
6245
6246 PR target/27230
6247 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
6248 C++ lang type in traceback table for Objective-C++.
6249
6250 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment.
6251
a46cec70
L
62522006-04-20 H.J. Lu <hongjiu.lu@intel.com>
6253
6254 * config/i386/i386.c (asm_preferred_eh_data_format): Reformat.
6255
06866a73
VR
62562006-04-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
6257
6258 PR mudflap/26789
6259 * tree-mudflap.c (mudflap_finish_file): Skip function when there
6260 were errors. Remove check for erroneous objects.
6261
bfc646bf
JL
62622006-04-20 Jeff Law <law@redhat.com>
6263
6264 PR tree-optimization/26854
6265 * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when
6266 checking for zero or one use.
6267 * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly.
6268 * tree-cfgcleanup.c (merge_phi_nodes): Similarly.
6269 * tree-ssa-reassoc.c (negate_value): Similarly.
6270 (reassociate_bb): Similarly.
6271
455f78d9
JJ
62722006-04-20 Jakub Jelinek <jakub@redhat.com>
6273
6274 * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
6275 TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
6276 than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).
6277
9a74f8ee
AM
62782006-04-20 Alan Modra <amodra@bigpond.net.au>
6279
6280 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
6281 fp regs if the last fp arg doesn't fit in regs.
6282
904b6a0e
KK
62832006-04-20 Kaz Kojima <kkojima@gcc.gnu.org>
6284
6285 PR target/27182
6286 * config/sh/sh.md (movsicc_true+3): Tweak condition for the case
6287 that the last insn has the REG_INC note.
6288
9dfb66b9
CD
62892006-04-19 Carlos O'Donell <carlos@codesourcery.com>
6290 Nathan Sidwell <nathan@codesourcery.com>
6291
6292 PR c/26774
7a0b46c9 6293 * stor-layout.c (update_alignment_for_field): Do not align
9dfb66b9
CD
6294 ERROR_MARK nodes.
6295 (place_union_field): Place union field at the start of the union.
6296 (place_field): Move ERROR_MARK check later, and use the current
6297 allocation position to maintain monotonicity.
6298
74c96e0c
ZD
62992006-04-19 Zdenek Dvorak <dvorakz@suse.cz>
6300
6301 * dominance.c: Include timevar.h.
6302 (calculate_dominance_info): Use TV_DOMINANCE.
6303 * timevar.def (TV_DOMINANCE): New timevar.
6304 * Makefile.in (dominance.o): Add TIMEVAR_H dependency.
6305
e90cd854
AK
63062006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
6307
4414de4a 6308 PR rtl-optimization/14261
e90cd854
AK
6309 * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
6310 move would be an INSV insn.
7a0b46c9 6311 (noce_process_if_block): Don't optimize if the destination is a
e90cd854
AK
6312 ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
6313
43a09b63
AK
63142006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
6315
6316 * config/s390/s390.md: Add comments with the instructions emitted
6317 by an insn pattern if macros are used.
6318
0f35201e
AM
63192006-04-19 Alan Modra <amodra@bigpond.net.au>
6320
6321 PR rtl-optimization/26026
6322 * fold-const.c (fold_binary): Optimize div and mod where the divisor
6323 is a known power of two shifted left a variable amount.
6324
76f7a74f
GK
63252006-04-18 Geoffrey Keating <geoffk@apple.com>
6326
6327 * dwarf2out.c (prune_unused_types_update_strings): Don't add strings
6328 to hash table twice when the debug_str section has SECTION_MERGE.
6329
49721058
JM
63302006-04-18 Joseph S. Myers <joseph@codesourcery.com>
6331
6332 * config/soft-fp: New directory. From glibc.
6333 * config/soft-fp/t-softfp: New.
6334 * config/soft-fp/README: New.
6335 * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE.
6336 * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New.
6337 (libgcc.mk): Pass LIB2FUNCS_EXCLUDE.
6338 (LIBGCC_DEPS): Add $(SFP_MACHINE).
6339 * config.gcc: Use rs6000/t-fprules-fpbit or
6340 rs6000/t-fprules-softfp and soft-fp/t-softfp together with
6341 rs6000/t-fprules.
6342 * config/rs6000/sfp-machine.h: New. Based on glibc.
6343 * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp:
6344 New.
6345 * config/rs6000/t-fprules: Remove fp-bit rules.
6346 * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=.
6347 * config/rs6000/t-linux64: Likewise. Remove duplicates from
6348 LIB2FUNCS_EXTRA. Remove fp-bit rules.
6349 (softfp_wrap_start, softfp_wrap_end): New.
6350
7e96ee36
DD
63512006-04-18 DJ Delorie <dj@redhat.com>
6352
6353 * config/m32c/m32c.h (PTRDIFF_TYPE): Define.
6354
d955420e
DP
63552006-04-18 Devang Patel <dpatel@apple.com>
6356
6357 * doc/invoke.texi (-Wuninitialized): Clarify -O connection.
7a0b46c9 6358
503b5c9f
NC
63592006-04-18 Nick Clifton <nickc@redhat.com>
6360
6361 * config/sh/t-symbian: Add rule to build sh-c.o
6362 * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use
6363 of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P.
6364 (sh_symbian_encode_section_info): Likewise.
6365
c2f07c00
AK
63662006-04-18 Andreas Krebbel <krebbel1@de.ibm.com>
6367
7a0b46c9 6368 * builtins.c (expand_builtin_strcmp): Cover label definition of
c2f07c00
AK
6369 do_libcall with HAVE_cmpstrnsi.
6370
6370682a
KH
63712006-04-18 Kazu Hirata <kazu@codesourcery.com>
6372
6373 * function.c (temp_slots_at_level, max_slot_level): Use VEC
6374 instead of VARRAY.
6375 * function.h (temp_slot_p): New.
6376 (function): Change the type of x_used_temp_slots to
6377 VEC(temp_slot_p,gc) *.
6378
224504d2
NC
63792006-04-18 Nick Clifton <nickc@redhat.com>
6380
13a41b42
NC
6381 * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to
6382 flag_strength_reduce.
6383
224504d2
NC
6384 * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo.
6385
6ee2e158
PB
63862006-04-18 Paolo Bonzini <bonzini@gnu.org>
6387
e8366202 6388 PR target/27117
6ee2e158
PB
6389
6390 Partial revert of revision 112637
6391 2006-04-03 Paolo Bonzini <bonzini@gnu.org>
6392 Dale Johannesen <dalej@apple.com>
6393
6394 PR target/19653
6395 * regclass.c (struct reg_pref): Update documentation.
6396 (regclass): Set prefclass to NO_REGS if memory is the best option.
6397 (record_reg_classes): Cope with a prefclass set to NO_REGS.
6398
e3949961
PB
63992006-04-18 Paolo Bonzini <bonzini@gnu.org>
6400
e8366202
MS
6401 PR tree-optimization/26821
6402 * tree-ssa-math-opts.c (get_constant_one): New.
6403 (insert_reciprocals): Use it.
e3949961 6404
e26303c2
GK
64052006-04-17 Geoffrey Keating <geoffk@apple.com>
6406
6407 * dwarf2out.c (free_AT): Delete.
6408 (remove_AT): Update string ref counts.
6409 (remove_child_TAG): Don't call free_die.
6410 (free_die): Delete.
6411 (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL
6412 or DW_TAG_GNU_EINCL.
6413 (prune_unused_types_walk_attribs): Reset string refcounts.
6414 (prune_unused_types_update_strings): New.
6415 (prune_unused_types_prune): Don't make unnecessary stores. Don't
6416 call free_die. Do call prune_unused_types_update_strings.
6417 (prune_unused_types): Empty debug_str_hash.
6418
6cc1d694
RS
64192006-04-17 Roger Sayle <roger@eyesopen.com>
6420
6421 * expr.c (expand_assignment): Optimize away no-op moves where the
6422 source and destination are equal and have no side-effects.
6423
71a9b19a
RG
64242006-04-17 Richard Guenther <rguenther@suse.de>
6425
6426 PR target/26826
6427 * reload.c (push_reload): Guard calls to get_secondary_mem
6428 for memory subregs.
6429
08c79682
KH
64302006-04-16 Kazu Hirata <kazu@codesourcery.com>
6431
6432 * alias.c (reg_base_value, old_reg_base_value): Change the
6433 type to VEC(rtx,gc) *.
6434 (REG_BASE_VALUE, find_base_value, record_set,
6435 init_alias_analysis): Use VEC instead of VARRAY.
6436
1a5640b4
KH
6437 * alias.c (alias_sets): Change the type to
6438 VEC(alias_set_entry,gc) *.
6439 (get_alias_set_entry, new_alias_set, record_alias_subset): Use
6440 VEC instead of VARRAY.
6441 (last_alias_set): Remove.
6442
b2c0ad40
KH
6443 * cgraph.h (cgraph_edge_p): New.
6444 Update the prototype of cgraph_function_versioning.
6445 * cgraphunit.c (cgraph_copy_node_for_versioning,
6446 cgraph_function_versioning): Use VEC instead of VARRAY.
6447 * ipa-cp.c (ipcp_insert_stage): Likewise.
6448
726ac11e
RS
64492006-04-16 Roger Sayle <roger@eyesopen.com>
6450
6451 PR target/26961
6452 * fold-const.c (fold_ternary): When converting "A ? B : C" into either
6453 "A op B" or "A op C", we may need to convert A to the type of B and C.
6454
b12cbf2c
AN
64552006-04-16 Adam Nemet <anemet@caviumnetworks.com>
6456
6457 * target.h (struct gcc_target): Add mode_rep_extended.
6458 * rtlanal.c (num_sign_bit_copies_in_rep): New global.
6459 (init_num_sign_bit_copies_in_rep): Initialize it using
6460 mode_rep_extended.
6461 (truncate_to_mode): Use it.
6462 (init_rtlanal): Call init_num_sign_bit_copies_in_rep.
6463 * targhooks.h (default_mode_rep_extended): Declare it.
6464 * targhooks.c (default_mode_rep_extended): Define it.
6465 * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to
6466 default_mode_rep_extended.
6467 (TARGET_INITIALIZER): Include it.
6468 * doc/tm.texi (Misc): Document it.
6469 * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it.
6470 (mips_truncated_to_mode): New function.
6471
d763e130
RS
64722006-04-16 Roger Sayle <roger@eyesopen.com>
6473
6474 PR middle-end/25474
6475 * expr.c (compress_float_constant): Copy the narrow constant into
6476 a new pseudo before extending it to its final width.
6477
2ff61948
RS
64782006-04-16 Roger Sayle <roger@eyesopen.com>
6479 Andrew Pinski <pinskia@gcc.gnu.org>
6480 Dale Johannesen <dalej@apple.com>
6481
6482 PR target/24076
6483 * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
6484 special case code to implement V8HImode and V16QImode with SSE2.
6485
3db8a113
RS
64862006-04-15 Roger Sayle <roger@eyesopen.com>
6487
6488 * config/i386/i386.c (ix86_va_start): Ensure all integer constant
6489 trees are constructed with a suitable tree type.
6490
7fe25d1a
RS
64912006-04-15 Roger Sayle <roger@eyesopen.com>
6492
6493 * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
6494 (integer_onep): Likewise.
6495 (integer_all_onesp): Likewise.
6496 (integer_pow2p): Likewise.
6497 (integer_nonzerop): Likewise.
6498 (real_zerop): Likewise.
6499 (real_onep): Likewise.
6500 (real_twop): Likewise.
6501 (real_minus_onep): Likewise.
6502 (int_size_in_bytes): Likewise.
6503 (host_integerp): Likewise.
6504
75c40d56
KH
65052006-04-15 Kazu Hirata <kazu@codesourcery.com>
6506
6507 * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c,
6508 jump.c, mips-tfile.c, omp-low.c, sched-int.h,
6509 tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos.
6510
aacac31f
KH
6511 * tree-ssa-structalias.h (alias_info): Remove num_references.
6512
8370f6fa
JDA
65132006-04-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6514
6515 * pa.md (output_bb patterns): Shorten long branch alternatives by 4.
6516 (output_bvb patterns): Likewise.
6517 * pa.c (output_bb): Use 'bb' insn for long branch case.
6518 (output_bvb): Likewise use '{bvb|bb}' for long branch case.
6519 (output_dbra): Use '{comb|cmpb}' for long branch case for alternative
6520 1. Correct length operand for alternatives 1 and 2.
6521 (output_movb): Use '{comb|cmpb}' for long branch case for alternatives
6522 1, 2 and 3. Correct length operand for alternatives 1, 2 and 3.
6523
bed575d5
RS
65242006-04-14 Roger Sayle <roger@eyesopen.com>
6525
6526 * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r,
6527 is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that
6528 were accidentally reverted by r112959.
6529
7e2df4a1
JJ
65302006-04-15 Jakub Jelinek <jakub@redhat.com>
6531
6532 PR middle-end/26823
6533 * except.h (eh_region_outermost): New prototype.
6534 * except.c (eh_region_outermost): New function.
6535 * tree-cfg.c (find_outermost_region_in_block): Use it.
6536
43b373a2
KH
65372006-04-14 Kazu Hirata <kazu@codesourcery.com>
6538
6539 * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead
6540 of VARRAY.
6541 * reload1.c (reg_equiv_memory_loc_varray): Rename to
6542 reg_equiv_memory_loc_vec. Change the type to VEC(rtx,gc) *.
6543 (init_reload, reload): Use VEC instead of VARRAY.
6544 * reload.h: Update the prototype for
6545 reg_equiv_memory_loc_varray.
6546
68ba34f3 65472006-04-14 Alexey Starovoytov <alexey.starovoytov@sun.com>
e8366202 6548 Eric Botcazou <ebotcazou@libertysurf.fr>
68ba34f3
AS
6549
6550 * config/sparc/sparc.c (emit_and_preserve): Allocate space for the
6551 register save area.
6552
39b1ec97
UB
65532005-04-13 Uros Bizjak <uros@kss-loka.si>
6554
6555 PR middle-end/27134
6556 * builtins.c (expand_builtin_int_roundingfn): Use expand_normal()
6557 to expand fallback builtin function call.
6558
880864cf
AM
65592006-04-14 Alan Modra <amodra@bigpond.net.au>
6560
6561 PR middle-end/27095
6562 * builtins.c: (expand_builtin_memset): Stabilize args before expansion
6563 and emit libcall here in case the builtin fails.
6564 (expand_builtin_strcmp): Always emit the libcall here on failure.
6565
1935e8a8
KH
65662006-04-14 Kazu Hirata <kazu@codesourcery.com>
6567
6568 * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
6569 * flow.c (reg_n_info): Change the type to
6570 VEC(reg_info_p,heap) *.
6571 * regclass.c (allocate_reg_info, free_reg_info): Use VEC
6572 instead of VARRAY.
6573 * regs.h (reg_info_p): New.
6574 (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS,
6575 REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED,
6576 REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC
6577 instead of VARRAY.
6578
6f8dd94b
EB
65792006-04-13 Eric Botcazou <ebotcazou@adacore.com>
6580
6581 * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
6582 defaulting to 100.
6583 * params.h (MAX_SCHED_READY_INSNS): New macro.
6584 * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle
6585 past MAX_SCHED_READY_INSNS during the first scheduling pass.
6586 (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in
6587 the ready list for 1 cycle during the first scheduling pass.
6588 * doc/invoke.texi (--param): New parameter max-sched-ready-insns.
6589
777f7f9a
RH
65902006-04-13 Richard Henderson <rth@redhat.com>
6591
bed575d5 6592 PR libgomp/26651
777f7f9a
RH
6593 * gimple-low.c (lower_omp_directive): Remove dead code.
6594 (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
6595 * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
6596 * omp-low.c (struct omp_region): Move to tree-flow.h.
6597 (root_omp_region): Export.
6598 (omp_regions, lookup_omp_region): Remove.
6599 (determine_parallel_type): Update for struct omp_region changes.
6600 (dump_omp_region): Dump regions with block numbers.
6601 (new_omp_region): Take type and block instead of stmt; malloc
6602 instead of ggc.
6603 (free_omp_region_1, free_omp_regions): New.
6604 (expand_parallel_call): Take entry_stmt as argument; update for
6605 changes to omp_region.
6606 (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
6607 (remove_exit_barriers): New.
6608 (expand_omp_parallel): Update for struct omp_region changes.
6609 (expand_omp_synch): Likewise.
6610 (expand_omp): Likewise.
6611 (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
6612 (expand_omp_for_static_chunk): Likewise.
6613 (expand_omp_for): Likewise.
6614 (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
6615 (expand_omp_sections): Similarly, with GOMP_sections_end.
6616 (expand_omp_single): New.
6617 (build_omp_regions_1): Update for OMP_CONTINUE.
6618 (execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
6619 (lower_omp_sections): Expand with OMP_CONTINUE, do not collect
6620 OMP_SECTIONS_SECTIONS.
6621 (lower_omp_single_simple): Don't emit barrier here.
6622 (lower_omp_single_copy): Likewise.
6623 (lower_omp_single): Fix bindings, and lower to straightline now.
6624 (lower_omp_master, lower_omp_ordered): Likewise.
6625 (lower_omp_critical): Likewise.
6626 (lower_omp_for): Likewise. Emit OMP_CONTINUE.
6627 * tree-cfg.c (make_edges): Collect an omp_region tree, use it for
6628 omp edges, free it afterward.
6629 (make_omp_sections_edges): Remove.
6630 (is_ctrl_altering_stmt): Don't bother checking flag_openmp.
6631 (move_stmt_r): Handle OMP_CONTINUE.
7a0b46c9 6632 * tree-flow.h (struct omp_region): Move from omp-low.c. Switch
777f7f9a
RH
6633 statement pointers to basic blocks. Add type member.
6634 (root_omp_region, new_omp_region, free_omp_regions): Declare.
6635 * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
6636 * tree-inline.c (estimate_num_insns_1): Likewise.
6637 * tree-pretty-print.c (dump_generic_node): Likewise.
6638 * tree-ssa-operands.c (get_expr_operands): Likewise.
6639 * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
6640 (OMP_RETURN): Rename from OMP_RETURN_EXPR.
6641 (OMP_CONTINUE): New.
6642 * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
6643 (OMP_SECTIONS_SECTIONS): Remove.
6644 (OMP_SECTION_LAST): New.
6645 (OMP_RETURN_NOWAIT): New.
6646
15b1c12a
RS
66472006-04-13 Roger Sayle <roger@eyesopen.com>
6648
6649 * fold-const.c (native_encode_vector, native_interpret_real):
6650 Correct obvious mistakes in the previous check-in.
6651
78bf6e2f
RS
66522006-04-13 Roger Sayle <roger@eyesopen.com>
6653
6654 * fold-const.c (native_encode_expr): New function to encode
6655 the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
6656 or VECTOR_CST into a specified buffer.
6657 (native_encode_int): New function.
6658 (native_encode_real): New function.
6659 (native_encode_complex): New function.
6660 (native_encode_vector): New function.
6661 (native_interpret_expr): Inverse of native_encode_expr to convert
6662 a target representation into an INTEGER_CST, REAL_CST etc...
6663 (native_interpret_int): New function.
6664 (native_interpret_real): New function.
6665 (native_interpret_complex): New function.
6666 (native_interpret_vector): New function.
6667 (fold_view_convert_expr): New function to constant fold/evaluate
6668 a VIEW_CONVERT_EXPR of a suitable constant expression.
6669 (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
6670 Change call of build1 to fold_build1 when constructing a
6671 VIEW_CONVERT_EXPR.
6672
76492753
PB
66732006-04-13 Paolo Bonzini <bonzini@gnu.org>
6674 Ulrich Weigand <uweigand@de.ibm.com>
6675
6676 PR target/27006
6677 * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
6678 to be even.
6679
7b5d92b2
AM
66802006-04-13 Alan Modra <amodra@bigpond.net.au>
6681
6682 PR target/26459
6683 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
6684 optimize to lo_sum for DFmode if !TARGET_FPRS.
6685
d96f49bf
KH
66862006-04-12 Kazu Hirata <kazu@codesourcery.com>
6687
6688 * tree-ssa-alias.c (set_initial_properties, init_alias_info,
6689 delete_alias_info, compute_flow_sensitive_aliasing,
6690 group_aliases): Use VEC instead of VARRAY.
6691 * tree-ssa-structalias.c (update_alias_info): Likewise.
6692 * tree-ssa-structalias.h (alias_info): Change the type of
6693 processed_ptrs to VEC(tree,heap) *.
6694
3f1d3526
R
66952006-04-12 J"orn Rennecke <joern.rennecke@st.com>
6696
6697 PR target/27060
e8366202
MS
6698 * config/sh/lib1funcs.h: New file, broken out of:
6699 * config/sh/lib1funcs.asm.
6700 * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
3f1d3526
R
6701 New macros.
6702 * config/sh/lib1funcs.asm (udivsi3_i4): Use them.
e8366202 6703 * config/sh/lib1funcs-Os-4-200.asm: New file.
3f1d3526
R
6704 * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
6705 * config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
6706 (EXTRA_MULTILIB_PARTS): Include it.
6707 ($(T)sdivsi3_i4i-Os-4-200.o): New rule.
6708 ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
6709 * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
6710 * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
6711 TARGET_SH2.
6712
dacb336e
KH
67132006-04-12 Kazu Hirata <kazu@codesourcery.com>
6714
6715 * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
6716 * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete,
6717 tpa_compact, root_var_init, type_var_init): Use VEC instead of
6718 VARRAY.
6719 * tree-ssa-live.h: Include vecprim.h.
6720 (tree_partition_associator_d): Change the type of
6721 first_partition to VEC(int,heap) *.
6722 (tpa_first_partition): Use VEC instead of VARRAY.
6723
597d6703
KH
6724 * Makefile.in (GTFILES): Move functions.h after tree.h.
6725 * function.c (reset_block_changes, record_block_change,
6726 check_block_change, free_block_changes): Use VEC instead of
6727 VARRAY.
6728 * function.h (function): Change the type of
6729 ib_boundaries_block to VEC(tree,gc) *.
6730 * tree-inline.c (copy_cfg_body): Initialize
6731 ib_boundaries_block to NULL instead of (varray_type) 0.
6732
7488662d
RS
67332006-04-12 Roger Sayle <roger@eyesopen.com>
6734
6735 * expr.c (emit_group_store): Correct operand order in call to
6736 subreg_lowpart_offset. Always create paradoxical SUBREGs with
6737 a SUBREG_BYTE of zero.
6738
76783bc2
RG
67392006-04-12 Richard Guenther <rguenther@suse.de>
6740
6741 * profile.c (compute_branch_probabilities): Remove code
6742 encapsulated in !ir_type (), which are remanents of the
6743 removed RTL profiling code.
6744 * rtl-profile.c: Remove.
6745
79773478
AM
67462006-04-12 Alan Modra <amodra@bigpond.net.au>
6747
6748 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update
6749 magic NULL_RTX comment.
6750 (function_arg): Store entire fp arg to mem if any part should go
6751 on stack.
6752 (rs6000_arg_partial_bytes): Adjust for above change.
6753
10934c3b
RS
67542006-04-11 Roger Sayle <roger@eyesopen.com>
6755
6756 * dwarf2out.c (output_call_frame_info): Create debug_frame_section
6757 if it hasn't been initialized by dwarf2out_init.
6758
58be56ea
JDA
67592006-04-11 John David Anglin <dava.anglin@nrc-cnrc.gc.ca>
6760
6761 * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
6762 symbolic constants in branch patterns.
6763
f6c4ed08
RS
67642006-04-11 Roger Sayle <roger@eyesopen.com>
6765
6766 * caller-save.c: #include "addresses.h" after #include "tm_p.h".
6767
205eb6e7
RS
67682006-04-11 Richard Sandiford <richard@codesourcery.com>
6769
6770 PR rtl-optimization/27073
6771 * gcse.c (try_replace_reg): Revert last change. Continue to search
6772 for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
6773 on the former.
6774
ef6843ed
EB
67752006-04-11 Eric Botcazou <ebotcazou@libertysurf.fr>
6776
6777 * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle
6778 aggregate types other than record and union types.
6779 (function_arg): Likewise.
6780 (function_arg_pass_by_reference): In 64-bit mode, return 0 for
6781 small arrays.
6782 (function_value): In 64-bit mode, return objects that require it
6783 in FP registers.
6784
b4426e0a
RS
67852006-04-11 Roger Sayle <roger@eyesopen.com>
6786
6787 * dwarf2out.c (premark_used_types): Remove problematic prototype.
6788
8beb0d9e
JJ
67892006-04-11 Jakub Jelinek <jakub@redhat.com>
6790
6791 * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
6792
cf282d0a
JL
67932006-04-03 Jeff Law <law@redhat.com>
6794
6795 PR/27087
6796 * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive
6797 alias information too.
6798
b3b2cbc4
MF
67992006-04-10 Mike Frysinger <vapier@gentoo.org>
6800
a1d1988f 6801 * Makefile.in (gcc-cross): Add $(exeext) to target name.
b3b2cbc4 6802
33c9159e
AH
68032006-04-10 Aldy Hernandez <aldyh@redhat.com>
6804
6805 PR/21391
6806 * dwarf2out.c (struct die_struct): Add die_perennial_p field.
6807 (premark_used_types_helper): New.
6808 (premark_used_types): New.
6809 (gen_subprogram_die): Call premark_used_types.
6810 (prune_unused_types_walk): Do not prune perennial dies.
6811 * function.c (used_types_insert): New.
6812 * function.h (struct function): Add used_types_hash field.
6813 (used_types_insert): Add prototype.
6814 * Makefile.in (FUNCTION_H): Depend on HASHTAB_H.
6815 * c-parser.c (c_parser_cast_expression): Save casted types in used
6816 types hash table.
6817
ab9260ac
MM
68182006-04-11 Mark Mitchell <mark@codesourcery.com>
6819
6820 PR target/26459
6821 * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test
6822 rs6000_explicit_options.float_gprs.
6823
acef130f
RS
68242006-04-10 Roger Sayle <roger@eyesopen.com>
6825
6826 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed
6827 from ix86_expand_vector_init_low_nonzero. Take an additional
6828 one_var argument indicating which element is non-zero. Support
6829 one_var != 0 for V4SFmode and V4SImode by permuting the result.
6830 (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero
6831 with one_var instead of ix86_expand_vector_init_low_nonzero.
6832
e3df376d
KH
68332006-04-10 Kazu Hirata <kazu@codesourcery.com>
6834
6835 * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o,
6836 tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o,
6837 global.o, cfglayout.o, lambda-code.o, reg-stack.o,
6838 build/genextract.o): Depend on vecprim.h.
6839 * cfglayout.c, df-problems.c, function.c, genextract.c,
6840 global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c,
6841 tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include
6842 vecprim.h.
6843 * vecprim.h: New.
6844
1a27722f
GK
68452006-04-10 Geoffrey Keating <geoffk@apple.com>
6846
6847 * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next.
6848 Declare VECs of this type.
6849 (struct die_struct): Make field die_attr a VEC of dw_attr_struct.
6850 (remove_children): Delete.
6851 (add_dwarf_attr): Use VEC routines.
6852 (add_AT_flag): Update for changes to add_dwarf_attr.
6853 (add_AT_int): Likewise.
6854 (add_AT_unsigned): Likewise.
6855 (add_AT_long_long): Likewise.
6856 (add_AT_vec): Likewise.
6857 (add_AT_string): Likewise.
6858 (add_AT_die_ref): Likewise.
6859 (add_AT_fde_ref): Likewise.
6860 (add_AT_loc): Likewise.
6861 (add_AT_loc_list): Likewise.
6862 (add_AT_addr): Likewise.
6863 (add_AT_lbl_id): Likewise.
6864 (add_AT_lineptr): Likewise.
6865 (add_AT_macptr): Likewise.
6866 (add_AT_offset): Likewise.
6867 (add_AT_range_list): Likewise.
6868 (get_AT): Use VEC_iterate.
6869 (remove_AT): Use VEC_ordered_remove.
6870 (free_die): Fold remove_children into here; have it use VEC_iterate.
6871 (print_die): Use VEC_iterate on attrs.
6872 (reverse_die_lists): Don't reverse attr lists.
6873 (die_checksum): Use VEC_iterate on attrs.
6874 (same_die_p): Likewise.
6875 (output_location_lists): Likewise.
6876 (build_abbrev_table): Likewise.
6877 (size_of_die): Likewise.
6878 (unmark_all_dies): Likewise.
6879 (output_abbrev_section): Likewise.
6880 (output_die): Likewise.
6881 (prune_unused_types_walk_attribs): Likewise.
6882
1da1ce3f
EB
68832006-04-10 Eric Botcazou <ebotcazou@libertysurf.fr>
6884
1f3d30ed 6885 * doc/install.texi (*-*-solaris2*): Point to the configure page.
1da1ce3f 6886
ef85ac9a
JJ
68872006-04-10 Jakub Jelinek <jakub@redhat.com>
6888
6889 PR debug/27057
6890 * dwarf2out.c (is_symbol_die): Return true also for namespaces.
6891
cf26aa89
RS
68922006-04-09 Roger Sayle <roger@eyesopen.com>
6893
6894 * expr.c (store_constructor): Don't bother clearing target if
6895 we're about to assign a vector to it using vec_init_optab.
6896
ef2bb311 68972006-04-10 Daniel Berlin <dberlin@dberlin.org>
7a0b46c9 6898
ef2bb311
DB
6899 * tree-ssa-alias.c (lhs_may_store_to): New function.
6900 (recalculate_used_alone): Handle LHS of calls.
6901
8b89a26a
JDA
69022006-04-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6903
6904 PR target/27034
6905 PR target/26508
6906 * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts.
6907 * pa64-hpux.h (LIB_SPEC): Correct typo. Don't append milli.a.
6908 (LINK_GCC_C_SEQUENCE_SPEC): Define. Append milli.a here.
6909 (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines.
6910 (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK.
6911 (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text
6912 section. Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB
6913 stubs. Add ".align 8" directives before all ".dword" directives.
6914 (GTHREAD_USE_WEAK): Revise comment.
6915 (TARGET_ATTRIBUTE_WEAK): Define.
6916 * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o,
6917 dfi-stub.o, cxaf-stub.o and jvrc-stub.o.
6918 * stublib.c: New file.
16d74a3c
JDA
6919
6920 PR target/26743
6921 PR target/11254
6922 PR target/10274
6923 * pa.md (cbranch patterns): Revise arguments used in calls to
6924 output_cbranch, output_bb and output_bvd. Add long branch length
6925 attributes.
6926 (fbranch patterns): Handle long branches.
6927 (jump): Revise length check. Revise arguments for output_lbranch call.
6928 Add long branch length attributes.
6929 (decrement_and_branch_until_zero): Add long branch length attributes.
6930 (output_movb, output_parallel_addb and output_parallel_movb patterns):
6931 Likewise. Revise arguments for output_parallel_addb and
6932 output_parallel_movb calls.
6933 * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb,
6934 output_parallel_movb and output_parallel_addb): Update prototypes.
6935 * pa.c (output_cbranch): Revise arguments. Correct handling of
6936 nullification in long branches.
6937 (output_lbranch): Add new argument to control extraction of delay
6938 instruction.
6939 (output_bb): Handle long branches.
6940 (output_bvb, output_dbra, output_movb, output_parallel_movb,
6941 output_parallel_addb): Likewise.
6942
c3a50ca3
RS
69432006-04-09 Richard Sandiford <richard@codesourcery.com>
6944
6945 PR rtl-optimization/27073
6946 * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes,
6947 not REG_EQUIVs.
6948
9ccfe0cd
DB
69492006-04-08 Daniel Berlin <dberlin@dberlin.org>
6950
6951 * tree.h (tree_memory_tag): Add old_used_alone.
6952 (SMT_OLD_USED_ALONE): New macro.
6953 * tree-ssa-alias.c (recalculate_used_alone): Stop
6954 marking things for renaming unnecessarily.
6955
917f1b7e
KH
69562006-04-08 Kazu Hirata <kazu@codesourcery.com>
6957
6958 * builtins.c, config/arm/arm.c, config/i386/cygwin.h,
6959 config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h,
6960 config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c,
6961 haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h,
6962 sched-rgn.c, tree-inline.h, tree-ssa-dom.c,
6963 tree-ssa-loop-prefetch.c, tree-ssa-operands.c,
6964 tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow
6965 spelling convensions.
6966 * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi,
6967 doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment
6968 typos. Follow spelling conventions.
6969
9d746d5e
DD
69702006-04-07 DJ Delorie <dj@redhat.com>
6971
6972 * config/m32c/m32c.c (m32c_function_arg): Structures are always
6973 passed on the stack.
6974 (m32c_init_cumulative_args): When a function returns a structure,
6975 always pass the pointer to that return area on the stack.
6976 (m32c_function_arg_advance): Don't increment the parameter number
6977 if we're processing the returned structure pointer.
6978 (pushm_info): Reverse order of registers.
6979
ff5e9a94
SP
69802006-04-07 Sebastian Pop <pop@cri.ensmp.fr>
6981
6982 * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne,
6983 assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
6984 number_of_iterations_le, number_of_iterations_cond, find_loop_niter,
7a0b46c9 6985 estimate_numbers_of_iterations_loop): Use build_int_cst instead of
ff5e9a94
SP
6986 build_int_cst_type.
6987 * tree-chrec.c (chrec_fold_multiply_poly_poly,
6988 chrec_fold_multiply): Same.
6989 * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost,
6990 force_expr_to_var_cost): Same.
6991 * tree-mudflap.c (mf_xform_derefs_1): Same.
6992 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same.
6993
f6fe3a22
DE
69942006-04-07 David Edelsohn <edelsohn@gnu.org>
6995
6996 * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not
6997 treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra
6998 insn.
28e6f134
JH
6999
70002006-04-07 Jan Hubicka <jh@suse.cz>
7001
7002 * ipa-inline.c (cgraph_early_inlining): Collect garbage.
7003
fcfa143a
RB
70042006-04-07 Richard Guenther <rguenther@suse.de>
7005
7006 PR tree-optimization/26135
7007 * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory
7008 loads for store copy-prop.
7009 (copy_prop_visit_stmt): Likewise.
7010
70112006-04-05 Robert Millan <robertmh@gnu.org>
8224ee20 7012
e8366202 7013 * config/i386/linux.h: Add a comment to mark macros that are
8224ee20 7014 being overriden in config/k*bsd-gnu.h.
e8366202 7015 * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of
8224ee20 7016 DYNAMIC_LINKER.
e8366202 7017 * config/knetbsd-gnu.h: Ditto.
8224ee20 7018
1f651229
JH
70192006-04-06 Jan Hubicka <jh@suse.cz>
7020
7021 PR profile/20815
7022 PR profile/26399
7023 * coverage.c (coverage_checksum_string): Reorganize loop to not read
7024 after buffer.
7025
3425c35f
MS
70262006-04-06 Mike Stump <mrs@apple.com>
7027
7028 * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if
7029 for HAVE_nonlocal_goto to be consistent.
7030 (expand_builtin_nonlocal_goto): Likewise.
7031 (expand_builtin_strcmp): Use #ifdef instead of #if
7032 for HAVE_cmpstrnsi to be consistent.
7033
0f681872
DD
70342006-04-05 DJ Delorie <dj@redhat.com>
7035
7036 * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c
7037 vs m32c.
7038
300adfc2
BS
70392006-04-05 Bernd Schmidt <bernd.schmidt@analog.com>
7040
7041 * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
7042 got-relative addressing for anything but SImode.
7043
dcef6aba
BS
7044 * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered
7045 even if the calling function doesn't modify them.
7046
cf51dca2
RG
70472006-04-05 Richard Guenther <rguenther@suse.de>
7048
7049 PR tree-optimization/26919
7050 * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
7051 to cgraph_estimate_size_after_inlining.
7052
e17e34d8
AM
70532006-04-05 Alan Modra <amodra@bigpond.net.au>
7054
7055 * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
7056
42d375ed
SP
70572006-04-05 Sebastian Pop <pop@cri.ensmp.fr>
7058
7059 PR tree-optimization/26996
7060 * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze
7061 VECTOR_TYPE variables.
7062
6eee9893
RG
70632006-04-05 Richard Guenther <rguenther@suse.de>
7064
7065 PR tree-optimization/26763
7066 * fold-const.c (fold_comparison): Move folding of
7067 PTR + CST CMP PTR + CST ...
7068 (fold_binary): ... here. Fold only for EQ_EXPR and NE_EXPR.
7069
80521187
GP
70702006-04-05 Gerald Pfeifer <gerald@pfeifer.com>
7071
7072 * doc/install.texi (Prerequisites): Refine some wording on
7073 bootstrapping and ksh.
7074 Move the version numbers of DejaGnu here from the testing section
7075 and fix casing of names.
7076 Fix markup and clarify wording for autogen requirements.
7077 Refer to GCJ instead of just java.
7078 Refer to SVN instead of CVS.
7079 Describe diffutils as useful instead of necessary.
7080 (Downloading the source): Refer to SVN instead of CVS.
7081 Adjust a link to our web site accordingly.
7082 (Configuration): Fix casing of Bison.
7a0b46c9 7083 (Building): Refer to SVN instead of CVS.
80521187
GP
7084 Fix a sentence on the use of Bison and remove duplicate (and
7085 incorrect) version number of Bison requirement.
7086 Remove one redundant list of packages needed for building.
7087 (Specific): Avoid reference to CVS.
7088
77ccdfed
EC
70892006-04-04 Eric Christopher <echristo@apple.com>
7090
7091 * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define.
7092 (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto.
7093 (rs6000_handle_struct_attribute): New.
7094 (rs6000_ms_bitfield_layout_p): Ditto.
7095
b3c2c547
GK
70962006-04-04 Geoffrey Keating <geoffk@apple.com>
7097
7098 * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than
7099 NULL for dso parameter to atexit_common.
7100
4b1c1f6f
EC
71012006-04-04 Eric Christopher <echristo@apple.com>
7102
7103 * config/i386/i386.c (machopic_output_stub): Output \t
7104 between instructions and operands.
7105
547b216d
DE
71062006-04-04 David Edelsohn <edelsohn@gnu.org>
7107
7108 * config/rs6000/rs6000.c (num_insns_constant_wide): Change
7109 satisfies_constraint_[IL] to explicit tests on value.
7110
dc61cc6b
SP
71112006-04-04 Sebastian Pop <pop@cri.ensmp.fr>
7112
7113 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
7114 set_nb_iterations_in_loop): Use build_int_cst instead of
7115 build_int_cst_type.
7116 * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use
7117 build_int_cst instead of convert.
7118
2225b57c
CD
71192006-04-04 Carlos O'Donell <carlos@codesourcery.com>
7120
7121 * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document
7122 new value 2 for incoming.
7123 * function.c (expand_function_start): Call struct_value_rtx
7124 with incoming as 2.
7125 * config/sparc/sparc.md: Comment updated_return.
7126 * config/sparc/sparc.opt: Add -mstd-struct-return option.
7127 * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard
7128 struct return if sparc_std_struct_return and incoming is 2.
7129 (print_operand): Do not adjust return if
7130 sparc_std_struct_return.
7131
3967bc2d
RS
71322006-04-04 Roger Sayle <roger@eyesopen.com>
7133
7134 * builtins.c (fold_builtin_sprintf): Use fold_convert instead of
7135 convert in the middle-end.
7136 * expr.c (store_expr, store_constructor, get_inner_reference,
7137 expand_expr_real_1, string_constant, try_casesi, try_tablejump):
7138 Likewise.
7139 * tree.c (build_range_type): Likewise.
7140
b52be2c8
TT
71412006-04-04 Tom Tromey <tromey@redhat.com>
7142
7143 * doc/install.texi (Prerequisites): Mention jar.
7144
d9d93d96
DB
71452006-04-04 Daniel Berlin <dberlin@dberlin.org>
7146
7147 * doc/tree-ssa.texi (Preserving the virtual ssa form): New
7148 subsection.
7149
8160ab35
MK
71502006-04-04 Matthias Klose <doko@debian.org>
7151
7152 * Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
9e826585 7153
f0d1d971
KG
7154 PR bootstrap/26764
7155 PR bootstrap/27334
9edaf51e
MK
7156 * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
7157 strings.
8160ab35 7158
a7d37464
GK
71592006-04-03 Geoffrey Keating <geoffk@apple.com>
7160
4b1c1f6f 7161 * doc/extend.texi (Function Attributes): Rewrite visibility
46bdbc00
GK
7162 attribute documentation.
7163 * doc/invoke.texi (C++ Dialect Options): Rewrite
7164 -fvisibility-inlines-hidden documentation to describe something
7165 entirely different, although in practise compatible.
4cb19a9f 7166 (Code Gen Options): Warn about system headers in -fvisibility=
46bdbc00
GK
7167 documentation.
7168
a7d37464
GK
7169 * doc/extend.texi (Other Builtins): Document that
7170 __builtin_nan is a compile-time constant only when its argument
7171 is valid.
7172
2332d585
AN
71732006-04-03 Adam Nemet <anemet@caviumnetworks.com>
7174
7175 * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When
7176 trying to remove TRUNCATE check if all bits outside the new mode
7177 are identical to the sign bit.
7178
cbc75e62
JL
71792006-04-03 Jeff Law <law@redhat.com>
7180
7181 * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding
7182 and operand scanning in some common cases.
7183
4735cca6 71842006-04-03 Paolo Bonzini <bonzini@gnu.org>
b5c82fa1
PB
7185 Dale Johannesen <dalej@apple.com>
7186
7187 PR target/19653
7188 * regclass.c (struct reg_pref): Update documentation.
7189 (regclass): Set prefclass to NO_REGS if memory is the best option.
7190 (record_reg_classes): Cope with a prefclass set to NO_REGS.
7191 * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
7192 into account. For non-registers, equate an empty preferred
7193 reload class to a `!' in the constraint; move the if clause to
7194 do so after those that reject the insn.
7195 (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
7196 return NO_REGS.
7197 (find_dummy_reload): Likewise.
7198 * doc/tm.texi (Register Classes): Document what it means
7199 if PREFERRED_*_RELOAD_CLASS return NO_REGS.
7200 * config/i386/i386.c (ix86_preferred_reload_class): Force
7201 using SSE registers (and return NO_REGS for floating-point
7202 constants) if math is done with SSE.
7203 (ix86_preferred_output_reload_class): New.
7204 * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
7205 * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
7206 * config/i386/i386.md: Remove # register preferences.
7207
16a2acea
SP
72082006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
7209
7210 PR bootstrap/26992
7211 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
7212 chrec_is_positive, set_nb_iterations_in_loop): Use a variable for
7213 the type of nb_iter.
7214 (instantiate_parameters_1): Convert the operands before calling
7215 chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply.
7216 * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same.
7217
b6f65e3c
RS
72182006-04-02 Roger Sayle <roger@eyesopen.com>
7219
7220 * builtins.c (dummy_object): Use build_int_cst instead of convert.
7221 * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
7222 instead of convert.
7223 * dojump.c (do_jump): Likewise.
7224 * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
7225 * gimplify.c (gimple_boolify, gimplify_init_constructor,
7226 gimplify_boolean_expr): Likewise.
7227 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
7228 * varasm.c (array_size_for_constructor): Likewise.
7229 * tree-object-size.c (compute_object_offset): Likewise.
7230
9fd20553
RS
72312006-04-02 Roger Sayle <roger@eyesopen.com>
7232
7233 PR middle-end/26977
7234 * expr.c (emit_group_store): Check whether simplify_gen_subreg returns
7235 NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
7236
ace23abf
SP
72372006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
7238
7239 PR tree-optimization/26939
7240 * tree-chrec.c (chrec_merge): Use eq_evolutions_p.
7241
e2157b49
SP
72422006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
7243
7244 * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument
4b1c1f6f 7245 at_stmt. Convert the type of operands before calling
e2157b49
SP
7246 build_polynomial_chrec.
7247 (add_to_evolution): Pass an extra argument at_stmt. Adjust the call to
7248 add_to_evolution_1.
7249 (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution.
4b1c1f6f 7250 (instantiate_parameters_1): Convert the type of operands before calling
e2157b49
SP
7251 build_polynomial_chrec.
7252 * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
7253 chrec_fold_multiply_poly_poly, chrec_replace_initial_condition,
7254 reset_evolution_in_loop): Insert asserts to check the types of the
7255 operands.
7256 (chrec_type): Moved...
7257 (eq_evolutions_p): Use operand_equal_p.
7258 * tree-chrec.h (build_polynomial_chrec): Insert an assert to check
7259 the types of the operands.
7260 (chrec_type): ...here.
7261 * tree-data-ref.c (create_data_ref): Convert the operands before
7262 calling chrec_replace_initial_condition.
7263 (same_access_functions, analyze_subscript_affine_affine,
7264 analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p.
7265 (compute_subscript_distance, analyze_ziv_subscript,
7266 analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2,
7267 analyze_miv_subscript): Convert the operands before calling
7268 chrec_fold_minus or chrec_fold_plus.
7269
a84481aa
SP
72702006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
7271
7272 * tree-data-ref.c (compute_all_dependences): Use a pointer to
7273 the dependence_relations vector.
7274 (compute_data_dependences_for_loop): Adjust call to
7275 compute_all_dependences.
7276
d568d1a8
RS
72772006-04-01 Roger Sayle <roger@eyesopen.com>
7278 Richard Henderson <rth@redhat.com>
7279
7280 * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call
7281 gimple_boolify on the condition before calling gimplify_expr.
7282
b7974b3a
BW
72832006-03-31 Bob Wilson <bob.wilson@acm.org>
7284
7285 * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros
7286 to leaf_entry/leaf_return. Change leaf_entry to add 16 bytes to
7287 the frame size. Update to use the new macros.
7288 * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros.
7289 * config/xtensa/ieee754-df.S: Likewise.
7290
72912006-03-31 Richard Henderson <rth@redhat.com>
56e84019
RH
7292
7293 * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into...
7294 (make_edges): ... here. Control fallthru creation with a local
7295 variable. Do not play with fake edges.
7296 (make_omp_sections_edges): Don't set EDGE_ABNORMAL.
7297 (make_goto_expr_edges): Don't play with fake edges. Make for_call
7298 a boolean.
7299
0c33762a
JM
73002006-04-01 Joseph S. Myers <joseph@codesourcery.com>
7301
7302 * dwarf2.h (DW64_CIE_ID): Define.
7303 * dwarf2out.c (DWARF_CIE_ID): Define.
7304 (output_call_frame_info): Output 0xffffffff before standard 8-byte
7305 length header. Use DWARF_CIE_ID.
7306 (value_format): Use DW_FORM_data4 or DW_FORM_data8 for
7307 dw_val_class_loc_list depending on DWARF_OFFSET_SIZE.
7308
b890ea50
KK
73092006-03-31 Kaz Kojima <kkojima@gcc.gnu.org>
7310
7311 * config/sh/linux-atomic.asm: New file.
7312 * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm.
7313
16659fcf
DD
73142006-03-31 DJ Delorie <dj@redhat.com>
7315
7316 * config/m32c/cond.md: Set condition flags properly throughout.
7317 * config/m32c/minmax.md: Likewise.
7318 * config/m32c/prologue.md: Likewise.
7319 * config/m32c/bitops.md: Likewise.
7320 * config/m32c/muldiv.md: Likewise.
7321 * config/m32c/mov.md: Likewise.
7322 * config/m32c/addsub.md: Likewise.
7323 * config/m32c/m32c.md: Likewise.
7324 * config/m32c/jump.md: Likewise.
7325 * config/m32c/shift.md: Likewise.
7326
7327 * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to
7328 conditionally output the pattern for this.
7329 * config/m32c/m32c.c (flags_needed_for_conditional): New.
7330 (m32c_compare_redundant): New.
7331 (m32c_output_compare): New.
7332 * config/m32c/m32c-protos.h (m32c_output_compare): New.
7333
7334 * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber
7335 dest, not src. Allow other 4-byte modes.
7336
fc262682
DC
73372006-03-30 Denis Chertykov <denisc@overta.ru>
7338
7339 * doc/md.texi: Refer to avr/constraints.md instead of
7340 avr/avr.h.
7341
5650dfbd
RS
73422006-03-30 Roger Sayle <roger@eyesopen.com>
7343
7344 * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to
7345 signed vs. unsigned comparison failures on some hosts.
7346
d3603e8c
AM
73472006-03-31 Alan Modra <amodra@bigpond.net.au>
7348
ca0e79d9
AM
7349 PR target/26459
7350 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
7351 change to FLOAT_REGS.
7352
d3603e8c
AM
7353 * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
7354 (rs6000_override_options): Use it.
7355 (rs6000_handle_option): Set it. Set rs6000_explicit_options.abi
7356 only for -mabi=spe/no-spe and -mabi=altivec.
7357
24cec83c
GK
73582006-03-30 Geoffrey Keating <geoffk@apple.com>
7359
7360 * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with
7361 !Zdynamiclib.
7362
ad3a7ce3
CD
73632006-03-30 Carlos O'Donell <carlos@codesourcery.com>
7364
7365 * Makefile.in: Rename docdir to gcc_docdir.
7366
79edfde8
RS
73672006-03-30 Roger Sayle <roger@eyesopen.com>
7368
7369 PR target/17959
e8366202 7370 * expr.c (emit_group_store): Optimize group stores into a pseudo
79edfde8
RS
7371 register by using a paradoxical subreg to initialize the destination
7372 if the first or last member of the group specifies a "low part".
7373
c7ec5472
MK
73742006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
7375
7376 PR target/26734
7377 * rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
7378 * target.h (struct gcc_target.speculate_insn): Change type of the
7379 second parameter to 'int'.
7380 * lists.c (alloc_DEPS_LIST): Change signature. Update reference to
7381 the second operand of the DEPS_LIST.
7382 (copy_DEPS_LIST_list): Update reference to the second operand of the
7383 DEPS_LIST.
7384 * rtl.h (alloc_DEPS_LIST): Update signature.
7385 * sched-int.h (ds_t): Change typedef to 'int'.
7386 (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
7387
682b6a9e
MK
73882006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
7389
7390 * haifa-sched.c (try_ready): Change condition to restore
7391 non-speculative pattern of the instruction.
7392 (process_insn_depend_be_in_spec): Code to keep probability of the
7393 speculative dependence non-decreasing.
7394
144f8315
JZ
73952006-03-30 Jie Zhang <jie.zhang@analog.com>
7396
7397 * config/bfin/bfin.c (single_move_for_strmov): Renamed to...
7398 (single_move_for_movmem): ... this. Also change all uses.
7399 (bfin_expand_strmov): Renamed to...
7400 (bfin_expand_movmem): ... this. Also change all uses.
7401 * config/bfin/bfin.md (movstrsi): Renamed to...
7402 (movstrsi): ...this.
7403
ae25dbda
PB
74042006-03-30 Paolo Bonzini <bonzini@gnu.org>
7405
7406 PR tree-optimization/26830
7407
7408 * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth.
7409 (copy_prop_visit_stmt): Remove write-only variable ann.
7410 (init_copy_prop): Check variable loop depth here. Do not simulate
7411 memory-tag and virtual operand PHIs except for store copy prop.
7412
7d3a3b01
RG
74132006-03-30 Richard Guenther <rguenther@suse.de>
7414
7415 * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic
7416 variants with double arguments.
7417
10a27391
DE
74182006-03-29 David Edelsohn <edelsohn@gnu.org>
7419
7420 * genpreds.c (write_tm_constrs_h): Delete variable p.
f8569394
DE
7421 * genconditions.c (write_header): Add tm-constrs.h to included
7422 headers.
f160357f 7423 * genpeep.c (main): Add toplev.h to included headers.
92cf85e9 7424 * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency.
c13a761d 7425 (build/genpeep.o): Add toplev.h dependency.
40377a6d 7426 * config/rs6000/constraints.md: Add "W" constraint.
10a27391 7427
a6a12bb9
RS
74282006-03-29 Roger Sayle <roger@eyesopen.com>
7429
7430 * stor-layout.c (mode_for_size_tree): Remove restiction on type
7431 sizes by correctly testing whether the size fits a host integer.
7432 (initialize_sizetypes): Use set_min_and_max_values_for_integral_type
7433 to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full
7434 SImode range for the default sizetype and bitsizetype.
7435
0a931ce5
RS
74362006-03-29 Roger Sayle <roger@eyesopen.com>
7437
7438 * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW
7439 and TREE_CONSTANT_OVERFLOW bits of the argument. Return
7440 quickly if the argument is already of the correct type.
7441 Call fold_build1 instead of build1. Tidy up blank lines.
7442
279bb624
DE
74432006-03-29 David Edelsohn <edelsohn@gnu.org>
7444
7445 * genemit.c (main): Add tm-constrs.h to included headers.
7446 * genoutput.c (output_prologue): Add tm-constrs.h to included headers.
7447 * genpeep.c (main): Add tm-constrs.h to included headers.
7448 * genpreds.c (write_satisfies_constraint_fns): Rename to ...
7449 (write_tm_constrs_h): this and write complete file.
7450 (write_tm_preds_h): Do not emit satisfies_constraint fns.
7451 (write_insn_preds_c): Add tm-constrs.h to included headers.
7452 (gen_constrs): New variable.
7453 (parse_option): Parse "-c".
7454 (main): Invoke write_tm_constrs_h.
7455 * genrecog.c (write_header): Add tm-constrs.h to included headers.
7456 * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h.
7457 (object_out_file): Add tm-constrs.h dependency.
7458 (insn-emit.o): Same.
7459 (insn-output.o): Same.
7460 (insn-peep.o): Same.
7461 (insn-preds.o): Same.
7462 (insn-recog.o): Same.
7463 (tm-constsr.h): New target.
7464 (s-constrs-h): New target.
7465
7466 * config/rs6000/constraints.md: New file.
7467 * config/rs6000/rs6000.c: Include tm-constrs.h.
7468 (num_insn_constant_wide): Convert to satisfies_constraint.
7469 (rs6000_rtx_costs): Convert to satisfies_constraint.
7470 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete.
7471 (CONST_OK_FOR_LETTER_P): Delete.
7472 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7473 (EXTRA_CONSTRAINT): Delete.
7474 (EXTRA_MEMORY_CONSTRAINT): Delete.
7475 (EXTRA_ADDRESS_CONSTRAINT): Delete.
7476 * config/rs6000/predicates.md: Convert to satisfies_constraint.
7477 * config/rs6000/rs6000.md: Include constraints.md. Convert to
7478 satisfies_constraint.
7479
7480 * config/i386/i386.c: Include tm-constrs.h.
7481
e14b10df
SP
74822006-03-29 Sebastian Pop <pop@cri.ensmp.fr>
7483
7484 * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls.
7485 * tree-data-ref.c (find_data_references_in_loop,
7486 compute_data_dependences_for_loop): Use pointers to VEC.
7487 (analyze_all_data_dependences): Adjust calls.
7488 * tree-data-ref.h (find_data_references_in_loop,
7489 compute_data_dependences_for_loop): Adjust declarations.
7490 * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to
7491 compute_data_dependences_for_loop.
7492
221b2a64
PB
74932006-03-29 Paul Brook <paul@codesourcery.com>
7494
7495 * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
7496 (movdf_vfp): Ditto.
7497
d31db22f
SP
74982006-03-29 Sebastian Pop <pop@cri.ensmp.fr>
7499
7500 PR tree-optimization/26859
7501 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid
7502 division by zero.
7503 (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags
7504 for the step after fold_convert.
7505
67f07489
PB
75062006-03-29 Paul Brook <paul@codesourcery.com>
7507
7508 * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators.
7509 (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses.
7510
c2a64439
PB
75112006-03-29 Paul Brook <paul@codesourcery.com>
7512
7513 PR middle-end/23623
7514 * targhooks.c (default_narrow_bitfield): New fuction.
7515 * targhooks.h (default_narrow_bitfield): add prototype.
7516 * target.h (gcc_target): Add narrow_volatile_bitfield.
7517 * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define.
7518 * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield.
7519 * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS.
7520 * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define.
7521
4dc19cc0
AK
75222006-03-29 Andreas Krebbel <krebbel1@de.ibm.com>
7523
4b1c1f6f 7524 * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to
4dc19cc0
AK
7525 tmake_file.
7526 * config/s390/s390.c (S390_scalar_mode_supported_p): New function.
7527 (NR_C_MODES): Add TDmode, DDmode and SDmode.
7528 (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT.
7529 (s390_hard_regno_mode_ok): Disallow TDmode in integer regs.
7530 (s390_function_arg_float): Allow SDmode and DDmode values to be
7531 passed in floating point registers.
4b1c1f6f 7532 (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT
4dc19cc0
AK
7533 check with SCALAR_FLOAT_MODE_P.
7534 (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro.
7535
f08ac361
ZD
75362006-03-28 Zdenek Dvorak <dvorakz@suse.cz>
7537
7538 PR tree-optimization/25985
7539 * tree-ssa-loop-niter.c (number_of_iterations_le,
7540 number_of_iterations_ne): Make comments more precise.
7541 (number_of_iterations_cond): Add only_exit argument. Use the
7542 fact that signed variables do not overflow only when only_exit
7543 is true.
7544 (loop_only_exit_p): New.
7545 (number_of_iterations_exit): Pass result of loop_only_exit_p to
7546 number_of_iterations_cond.
7547
dd79d394
ZD
75482006-03-28 Zdenek Dvorak <dvorakz@suse.cz>
7549
7550 PR tree-optimization/26643
7551 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle
7552 bit_field_refs.
7553
95ec2af0
KK
75542006-03-28 Kaz Kojima <kkojima@gcc.gnu.org>
7555
7556 * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG.
7557 (divsi3_i4_int): Likewise.
7558
e8366202 75592006-03-28 Roger Sayle <roger@eyesopen.com>
5ac60669
RS
7560
7561 * expr.c (emit_group_store): Only create a new pseudo reg if the
7562 quantity it needs to hold isn't already a suitable pseudo.
7563
b6313dcf
JL
75642006-03-28 Jeff Law <law@redhat.com>
7565
7566 * timevar.def (TV_TREE_PHI_CPROP): New timevar.
7567 * tree-ssa-dom.c (pass_phi_only_cprop): Use it.
7568
dd2c62dc
RS
75692006-03-28 Roger Sayle <roger@eyesopen.com>
7570
7571 * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as
7572 the equivalent ~X & Y, and the symmetry related transformations.
4b1c1f6f 7573 (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as
dd2c62dc
RS
7574 ~X & Y, and symmetry related transforms.
7575
3cc82eea
MK
75762006-03-28 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
7577
7578 Revert my 2006-03-27 patches.
7579
e8206491
RS
75802006-03-28 Roger Sayle <roger@eyesopen.com>
7581
7582 * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as
7583 ~(T1)X, when T1 and T2 are integer types of the same precision
7584 and (T2)X isn't an extension.
7585
72922229
JL
75862006-03-28 Jeff Law <law@redhat.com>
7587
7588 PR tree-optimization/26796
7589 * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which
7590 need EH edge cleanups rather than purging them immediately.
7591 (eliminate_degenerate_phis): Handle queued EH cleanups.
7592
c245c134
DB
75932006-03-28 Daniel Berlin <dberlin@dberlin.org>
7594
7595 * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE
7596 from parent_var.
7597
7f166b0a
RS
75982006-03-27 Roger Sayle <roger@eyesopen.com>
7599
7600 PR middle-end/22524
7601 * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to
7602 cast BIT_NOT_EXPR operand to the correct type.
7603
ebf78a47
SP
76042006-03-27 Sebastian Pop <pop@cri.ensmp.fr>
7605
7606 * tree-loop-linear.c: Don't include varray.h.
7607 (gather_interchange_stats, try_interchange_loops,
7608 linear_transform_loops): Use VEC instead of VARRAY.
7609 * lambda-mat.c: Don't include varray.h.
7610 * tree-chrec.c: Same.
7611 * lambda-trans.c: Same.
7612 * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use
7613 VEC instead of VARRAY.
7614 * tree-vectorizer.h: Idem.
7615 * tree-data-ref.c (dump_data_references,
7616 dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs,
7617 initialize_data_dependence_relation, finalize_ddr_dependent,
7618 compute_all_dependences, find_data_references_in_loop,
7619 compute_data_dependences_for_loop, analyze_all_data_dependences,
7620 free_dependence_relation, free_dependence_relations,
7621 free_data_refs): Idem.
7622 * tree-data-ref.h (data_reference_p, subscript_p): New.
7623 (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use
7624 VEC instead of VARRAY.
7625 (DDR_SUBSCRIPTS_VECTOR_INIT): Removed.
7626 (find_data_references_in_loop, compute_data_dependences_for_loop,
7627 dump_ddrs, dump_dist_dir_vectors, dump_data_references,
7628 dump_data_dependence_relations, free_dependence_relations,
7629 free_data_refs): Adjust declaration.
7630 (lambda_transform_legal_p): Move declaration here...
7631 * tree-vect-analyze.c (vect_analyze_data_ref_dependences,
7632 vect_compute_data_refs_alignment, vect_verify_datarefs_alignment,
7633 vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses,
7634 vect_analyze_data_refs): Use VEC instead of VARRAY.
7635 * lambda.h (lambda_transform_legal_p): ...from here.
7636 * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY.
7637 * tree-vect-transform.c (vect_update_inits_of_drs): Idem.
7638 * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o,
7639 tree-chrec.o): Don't depend on VARRAY_H.
7640
5edb2b13
MK
76412006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
7642
7643 * rtl.def (Copyright): Update date.
7644 (DEPS_LIST): Change type of the second operand to 'int'.
7645 * target.h (Copyright): Update date.
7646 (struct gcc_target.speculate_insn): Change type of the second parameter
7647 to 'int'.
7648 * lists.c (Copyright): Update date.
7649 (alloc_DEPS_LIST): Change signature. Update reference to the second
7650 operand of the DEPS_LIST.
7651 (copy_DEPS_LIST_list): Update reference to the second operand of the
7652 DEPS_LIST.
7653 * rtl.h (Copyright): Update date.
7654 (alloc_DEPS_LIST): Update signature.
7655 * sched-int.h (Copyright): Update date.
7656 (ds_t): Change typedef to 'int'.
7657 (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
7658
c96a7cc5
MK
76592006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
7660
7661 * haifa-sched.c (Copyright): Update date.
7662 (try_ready): Change condition to restore non-speculative pattern
7663 of the instruction.
7664 (process_insn_depend_be_in_spec): Code to keep probability of the
7665 speculative dependence non-decreasing.
7666
b256fbaf
BS
76672006-03-27 Bernd Schmidt <bernd.schmidt@analog.com>
7668
7669 * regrename.c (replace_oldest_value_addr): Initialize a variable to
7670 shut up the compiler.
7671
575066d2
R
76722006-03-27 J"orn Rennecke <joern.rennecke@st.com>
7673
7674 * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule
7675 to use lib prefix for target.
7676 ($(T)libic_invalidate_array_4-200.a): Likewise.
7677 ($(T)libic_invalidate_array_4a.a): Likewise.
7678
25e651ca
AS
76792006-03-27 Andrew Stubbs <andrew.stubbs@st.com>
7680 J"orn Rennecke <joern.rennecke@st.com>
7681
7682 * superh.opt: New file.
7683 * sh.c (boardtype, osruntime): Remove.
7684 * superh.h (SUBTARGET_OPTIONS): Remove.
7685 * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options.
7686
7687 * config.gcc (sh*-*-*): Don't use c-c ranges for tr. Quote sed
7688 arguments with ^ and/or [].
7689
7690 * config.gcc (sh-*-*): Add quoting to account for quirk of
7691 Solaris /bin/sh.
7692 Replace == with = in enable_incomplete_targets test.
7693
7694 * config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT
7695 with MASK_LITTLE_ENDIAN.
7696
7697 * config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file.
7698 * config/sh/sh.opt: Added to some comments.
7699 * config/sh/superh.h: Removed some chaff.
7700
7701 * config/sh/sh.opt: Add m4-[1234]00* options.
7702 * config/sh/sh.c (sh_handle_option): Likewise.
7703 * config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define.
7704 (ic_invalidate_array_4-100.o): New rule.
7705 ($(T)libic_invalidate_array_4-100.a): Likewise.
7706 (ic_invalidate_array_4-200.o): Likewise.
7707 ($(T)libic_invalidate_array_4-200.a): Likewise.
7708 (ic_invalidate_array_4a.o): Likewise.
7709 ($(T)libic_invalidate_array_4a.a): Likewise.
7710 * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS.
7711 * config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*,
7712 m4-200*, and m4a*.
7713 * config/sh/crt1.asm: Merged in profiling code.
7714 * config/sh/superh.h (STARTFILE_SPEC): Override.
7715 * config/sh/t-superh: Override EXTRA_MULTILIB_PARTS.
7716 Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o.
7717 * config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
7718
7719 * t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants.
7720 * config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS /
7721 MULTILIB_DIRNAMES / MULTILIB_MATCHES settings.
7722
7723 * sh.opt (mpretend-cmove): New option.
7724 * sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1.
7725 * sh.md (movsicc_t_false, movsicc_t_tru): New patterns.
7726 (movsicc): Add TARGET_PRETEND_CMOVE code.
7727
74aa8b4b
AK
77282006-03-27 Andreas Krebbel <krebbel1@de.ibm.com>
7729
4b1c1f6f 7730 * config/s390/s390-protos.h (s390_hard_regno_mode_ok,
74aa8b4b
AK
7731 s390_class_max_nregs): New function prototypes.
7732 * config/s390/s390.c (REGNO_PAIR_OK): New macro.
7733 (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions.
7734 * config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
7735 CLASS_MAX_NREGS): Macro bodies replaced by function calls.
7736
0d06ead5
GK
77372006-03-26 Geoffrey Keating <geoffk@apple.com>
7738
7739 * dwarf2out.c (add_location_or_const_value_attribute): Call
7740 tree_add_const_value_attribute if nothing else works.
7741 (reference_to_unused): New.
7742 (rtl_for_decl_init): Use reference_to_unused to decide whether
7743 to output an initializer.
7744
036aadfc
AM
77452006-03-27 Alan Modra <amodra@bigpond.net.au>
7746
7747 PR target/26459
7748 * config/rs6000/rs6000.md (DF reg move peephole): Prevent
7749 peephole removing spe frob_di_df_2.
7750
ba42e045
SP
77512006-03-26 Sebastian Pop <pop@cri.ensmp.fr>
7752
7753 * tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS.
7754 (subscript_dependence_tester_1): Declared.
7755 (print_dir_vectors, print_dist_vectors): New.
7756 (debug_data_dependence_relation): New.
7757 (dump_data_dependence_relation): Print more details.
7758 (initialize_data_dependence_relation): Initialize DDR_LOOP_NEST.
7759 (analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0.
7760 (save_dist_v, save_dir_v, add_outer_distances,
7761 build_classic_dist_vector_1): New.
7762 (build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST.
7763 Don't test for lambda_vector_lexico_pos.
7764 (same_access_functions, add_multivariate_self_dist,
7765 add_other_self_distances, dir_from_dist): New.
4b1c1f6f 7766 (build_classic_dir_vector): Replace implementation almost identical to
ba42e045
SP
7767 build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to
7768 dir_from_dist.
7769 (subscript_dependence_tester_1): New.
7770 (subscript_dependence_tester): Handle the lexicographically negative
7771 distance vectors by recomputing the dependence relation.
7772 (compute_affine_dependence): Remove parameter loop_nest_depth.
7773 (compute_self_dependence): Don't call compute_subscript_distance.
7774 (compute_all_dependences): Remove parameters nb_loops, loop_nest_depth.
7775 Add a parameter for the loop_nest.
7776 (find_loop_nest_1, find_loop_nest): New.
7777 (compute_data_dependences_for_loop): Compute the loop nest, and give
7778 up if the nest is not well formed.
7779 * tree-data-ref.h (loop_p): New.
4b1c1f6f 7780 (struct data_dependence_relation): Replace size_vect field with
ba42e045
SP
7781 loop_nest, a vec of loops.
7782 (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS.
7783 (DDR_LOOP_NEST): New.
7784 (print_dir_vectors, print_dist_vectors,
7785 debug_data_dependence_relation): Declared.
7786 (index_in_loop_nest): New.
7787 * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use
7788 DDR_LOOP_NEST and index_in_loop_nest to determine the dependence
7789 distance.
7790
30a440a7
AN
77912006-03-25 Adam Nemet <anemet@caviumnetworks.com>
7792
7793 * simplify-rtx.c (simplify_relational_operation): Call
7794 simplify_relational_operation_1 even if mode is VOIDmode.
7795
fe1f8f44
DB
77962006-03-25 Daniel Berlin <dberlin@dberlin.org>
7797
7798 PR tree-optimization/26804
7799 * tree.h (DECL_CALL_CLOBBERED): New macro.
7800 (tree_decl_common): Add call_clobbered_flag.
7801 * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED.
7802 (mark_call_clobbered): Set DECL_CALL_CLOBBERED.
7803 (clear_call_clobbered): Clear DECL_CALL_CLOBBERED.
7804 (mark_non_addressable): Ditto.
7805 * tree-ssa.c (verify_call_clobbered): New function.
7806 (verify_alias_info): Use it.
7807 * tree-pass.h (pass_reset_cc_flags): New prototype.
7808 * tree-ssa-alias.c (pass_reset_cc_flags): New structure.
7809 (reset_cc_flags): New function.
7810 * passes.c (init_optimization_passes): Call reset_cc_flags after
7811 initializing referenced_vars.
7812
1d8b38a0
UB
78132006-03-25 Uros Bizjak <uros@kss-loka.si>
7814 Roger Sayle <roger@eyesopen.com>
7815
7816 PR middle-end/26717
7817 * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A
7818 to 1.0 for non-real operands. Implement A / A optimization for
7819 complex operands.
7820
75bcbcdb
L
78212006-03-25 H.J. Lu <hongjiu.lu@intel.com>
7822
7823 * config/i386/i386.c (size_cost): Correct the comment for
7824 cost of storing fp registers.
7825 (i386_cost): Likewise.
7826 (i486_cost): Likewise.
7827 (pentium_cost): Likewise.
7828 (pentiumpro_cost): Likewise.
7829 (k6_cost): Likewise.
7830 (athlon_cost): Likewise.
7831 (k8_cost): Likewise.
7832 (pentium4_cost): Likewise.
7833 (nocona_cost): Likewise.
7834 (generic64_cost): Likewise.
7835 (generic32_cost): Likewise.
7836
625a46d9
DC
78372006-03-24 Denis Chertykov <denisc@overta.ru>
7838
7839 * config/avr/avr-protos.h (extra_constraint): Delete.
7840 (extra_constraint_Q): New declaration.
7841 * config/avr/constraints.md: New file.
7842 * config/avr/avr.md: Include it.
7843 (REG_X, REG_Y, REG_Z, REG_W): New constants.
7844 (TMP_REGNO, ZERO_REGNO): Likewise.
7845 (UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise.
7846 * config/avr/avr.c (avr_reg_class_from_letter): Delete.
7847 (extra_constraint): Delete.
7848 (extra_constraint_Q): Test for memory constraint 'Q'.
7849 * config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete.
7850 (REG_CLASS_FROM_LETTER): Delete.
7851 (CONST_OK_FOR_LETTER_P): Delete.
7852 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7853 (EXTRA_CONSTRAINT): Delete.
7854 (TMP_REGNO): Delete.
7855 (ZERO_REGNO): Delete.
7856
3ae194cd
JL
78572006-03-24 Jeff Law <law@redhat.com>
7858
7859 * tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt
7860 directly. Call mark_new_vars_to_rename slightly earlier.
7861
895de5a8
GK
78622006-03-24 Geoffrey Keating <geoffk@apple.com>
7863
9e51ddaa
GK
7864 * dwarf2out.c (is_c_family): Understand new DWARF3 language types.
7865 (is_cxx): Likewise.
7866 (gen_compile_unit_die): Use new language types for Objective-C and
7867 Objective-C++.
7868 (dwarf2out_decl): Use is_cxx rather than testing explicitly against
7869 DW_LANG_C_plus_plus.
7870
895de5a8
GK
7871 PR 26793
7872 * config/t-darwin (crt3.o): Work around bug 26840.
7873 * config/darwin-crt3.c: Rewrite.
7874 * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o.
7875
e713adf6
CD
78762006-03-24 Carlos O'Donell <carlos@codesourcery.com>
7877
7878 * doc/invoke.texi: Document -femit-class-debug-always
7879 * common.opt: Add -femit-class-debug-always.
7880
93fa8428
AK
78812006-03-24 Andreas Krebbel <krebbel1@de.ibm.com>
7882
7883 * config/s390/s390.c (s390_decompose_address): Allow SImode for
7884 index and base register.
7885 (s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p,
7886 print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P
7887 with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with
7888 REGNO_OK_FOR_INDEX_P.
7889 * config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with
7890 ADDR_REGNO_P.
7891 (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P,
7892 REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P,
7893 REG_OK_FOR_BASE_P): Definitions removed.
7894
8cb86b65
JJ
78952006-03-24 Jakub Jelinek <jakub@redhat.com>
7896
7897 PR middle-end/26611
7898 * gimplify.c (gimplify_bind_expr): Only call omp_add_variable on
7899 non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit
7900 set yet or weren't marked as local yet.
7901
84c9cb12
BS
79022006-03-24 Bernd Schmidt <bernd.schmidt@analog.com>
7903
7904 * regrename.c (scan_rtx_address): Initialize a variable to shut up
7905 the compiler.
7906
d04b6e6e
EB
79072006-03-24 Eric Botcazou <ebotcazou@adacore.com>
7908
7909 * config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare.
7910 (rs6000_legitimate_small_data_p): Delete.
7911 * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate.
7912 (rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p
7913 and make static. Add forward declaration. Update uses.
7914 (rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead
7915 of offsettable_memref_p.
7916 * config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix.
7917 Use rs6000_offsettable_memref_p instead of a less accurate predicate.
7918
243cc836
JL
79192006-03-24 Jeff Law <law@redhat.com>
7920
7921 * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work
7922 around bug in immediate-use iterator.
7923
5b314bb3
AM
79242006-03-24 Alan Modra <amodra@bigpond.net.au>
7925
7926 PR target/26607
7927 * config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__
7928 or __LITTLE_ENDIAN__.
7929
b368d6b8
R
79302006-03-23 J"orn Rennecke <joern.rennecke@st.com>
7931
7932 * config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files.
7933 * config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant.
7934 * config/sh/t-sh (LIB1ASMFUNCS): Add _div_table.
7935 * config/sh/sh.opt (mdiv=): Amend description.
7936 * config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro.
7937 (TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise.
7938 (sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1,
7939 SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC.
7940 (OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1.
7941 Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros.
7942 * config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns.
7943 (udivsi3, divsi3): Use them. Check TARGET_DIVIDE_CALL_TABLE /
7944 TARGET_DIVIDE_CALL_FP.
7945
a57aee2a
MK
79462006-03-23 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
7947
7948 * haifa-sched.c (choose_ready): Fix type of the local variable.
7949 Move local variables. Add comment.
7950 (check_reg_live): Change signature. Make callable from debugger.
7951 * sched-int.h (check_reg_live): Update signature.
7952 * sched-ebb.c (check_reg_live): Update parameters.
7953 * sched-rgn.c (check_reg_live): Ditto.
7954 (region_head_or_leaf_p): Check pointer before dereferencing.
7955 * config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation
7956 before reload on optimization levels below 1.
7957
dec6909b
RH
79582006-03-23 Richard Henderson <rth@redhat.com>
7959
e584065d
RH
7960 * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject
7961 tls symbols.
7962
dec6909b
RH
7963 PR target/26347
7964 * config/alpha/predicates.md (local_symbolic_operand): Reject
7965 weak symbols.
7966
60fee157
AP
79672006-03-23 Andrew Pinski <pinskia@physics.uc.edu>
7968
7969 PR tree-opt/26795
7970 * tree-ssa-pre.c (create_value_expr_from): Don't reject
7971 expressions which have overflowed constants.
7972
79b9dd8c
ZD
79732006-03-23 Zdenek Dvorak <dvorakz@suse.cz>
7974
7975 * cse.c (cse_end_of_basic_block): Do not check for LOOP_END note.
7976
054a09fb
ZD
79772006-03-23 Zdenek Dvorak <dvorakz@suse.cz>
7978
7979 * cfgloopmanip.c (create_loop_notes): Removed.
7980 * final.c (final_scan_insn): Do not handle loop notes.
7981 * jump.c (squeeze_notes): Ditto.
7982 * cfglayout.c (skip_insns_after_block,
7983 duplicate_insn_chain): Ditto.
7984 * cfgcleanup.c (rest_of_handle_jump2): Do not call
7985 create_loop_notes.
7986 * cfgloop.h (create_loop_notes): Declaration removed.
7987
c16ba1d5
RS
79882006-03-23 Richard Sandiford <richard@codesourcery.com>
7989
7990 * varasm.c (output_constant_pool): Restore fnname and fndecl
7991 arguments.
7992 (assemble_start_function): Adjust call accordingly.
7993 (assemble_end_function): Likewise.
7994
698cf1c8
VR
79952006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7996
91d876d9 7997 PR mudflap/26789
7a752640
VR
7998 * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects.
7999
91d876d9 8000 PR mudflap/26790
698cf1c8
VR
8001 * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node.
8002
ddaf3b86
VR
80032006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8004
8005 PR driver/22600
8006 * system.h (ICE_EXIT_CODE): New macro.
8007 * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE.
8008 (diagnostic_action_after_output): Likewise.
8009 * gcc.c (fatal_ice): New function.
8010 (execute): Use it instead of fatal.
8011 (fancy_abort): Likewise.
8012 * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs.
8013
4dc7782d
JL
80142006-03-22 Jeff Law <law@redhat.com>
8015
8016 * loop-unroll.c (analyze_iv_to_split_insn): Handle
8017 iv_analyze_result returning false.
8018
f328a23a
JZ
80192006-03-22 Jie Zhang <jie.zhang@analog.com>
8020
8021 * config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove.
8022
fad41cd7
RH
80232006-03-22 Richard Henderson <rth@redhat.com>
8024
8025 PR middle-end/26084
8026 * except.c (duplicate_eh_regions_0): New.
8027 (duplicate_eh_region_1): Duplicate the children of the node as
8028 well as the node itself. Link them up properly.
8029 (duplicate_eh_region_2): Merge into ...
8030 (duplicate_eh_regions): ... here. Take copy_region argument, and
8031 copy only a sub-tree if asked. Simplify copying and fixup.
8032 (eh_region_outer_p): New.
8033 * except.h (duplicate_eh_regions): Update decl.
8034 (eh_region_outer_p): Declare.
8035 * omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN.
8036 (lower_omp_master): Likewise.
8037 (lower_omp_ordered): Likewise.
8038 * tree-cfg.c (struct move_stmt_d): Add new_label_map.
8039 (move_stmt_r): Use it to remap labels. Handle recursion vs
8040 remap_decls_p properly.
8041 (move_block_to_fn): Pass in new_label_map. Remap RESX_EXPR.
8042 (find_outermost_region_in_block): New.
8043 (new_label_mapper): New.
8044 (move_sese_region_to_fn): Copy eh information to the new function
8045 properly.
8046 * tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions
8047 argument.
8048 * tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region
8049 number.
8050
bc4a3483
RS
80512006-03-22 Richard Sandiford <richard@codesourcery.com>
8052
8053 * doc/md.texi (-mshared): Mention that -mshared code can be linked
8054 into shared libraries.
8055
08b1e29a
RS
80562006-03-22 Richard Sandiford <richard@codesourcery.com>
8057
8058 * doc/md.texi: Refer to i386/constraints.md instead of
8059 i386/predicates.md.
8060 * config/i386/constraints.md: New file, extracted from...
8061 * config/i386/predicates.md: ...here.
8062 * config/i386/i386.md: Include constraints.md.
8063
5b5cba1f
JM
80642006-03-21 Jason Merrill <jason@redhat.com>
8065
ac382b62
JM
8066 * builtins.c (expand_builtin_fork_or_exec): Fix pasto.
8067
5b5cba1f
JM
8068 PR middle-end/20297
8069 * expr.c (init_block_move_fn): Force default visibility.
8070 (init_block_clear_fn): Likewise.
8071 * builtins.c (expand_builtin_fork_or_exec): Likewise.
8072 * targhooks.c (default_external_stack_protect_fail): Likewise.
8073
d9870b7e
RS
80742006-03-21 Richard Sandiford <richard@codesourcery.com>
8075
8076 * config/mips/predicates.md (const_call_insn_operand): Allow direct
8077 calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
8078 * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS.
8079 Use TARGET_OLDABI instead of !TARGET_NEWABI.
8080 (loadgp): Use mips_current_loadgp_style.
8081 (loadgp_noshared): New pattern.
8082 (sibcall_internal): Use MIPS_CALL.
8083 (sibcall_value_internal): Likewise.
8084 (sibcall_value_multiple_internal): Likewise.
8085 (call_internal): Likewise.
8086 (call_value_internal): Likewise.
8087 (call_value_multiple_internal): Likewise.
8088 (call_split): Use MIPS_CALL and add an 'S' constraint.
8089 (call_value_split): Likewise.
8090 (call_value_multiple_split): Likewise.
8091 * config/mips/mips.opt (-mabicalls): Tweak docstring.
8092 (-mshared): New option.
8093 * config/mips/mips-protos.h (mips_loadgp_style): New enum.
8094 (mips_current_loadgp_style): Declare.
8095 * config/mips/mips.c (mips_classify_symbol): Avoid using
8096 SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL
8097 rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if
8098 TARGET_ABSOLUTE_ABICALLS.
8099 (override_options): Adjust comments. Improve the warning that is
8100 issued when -mabicalls and -G are used together.
8101 (mips_file_start): Remove comment.
8102 (mips_current_loadgp_style): New function.
8103 (mips_gnu_local_gp): New variable.
8104 (mips_emit_loadgp): Use mips_current_loadgp_style. Handle
8105 LOADGP_ABSOLUTE.
8106 (mips_output_function_prologue): Use mips_current_laodgp_style.
8107 (mips_expand_prologue): Call mips_emit_loadgp before emitting
8108 the cprestore instruction.
8109 (mips_extra_live_on_entry): Fix reversed test. Don't make $25
8110 live for TARGET_ABSOLUTE_ABICALLS.
8111 * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro.
8112 (ASM_SPEC): Pass down -mshared and -mno-shared.
8113 (MIPS_CALL): New macro.
8114 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__
8115 definition.
8116 * doc/invoke.texi (-mabicalls): Update documentation.
8117 (-mshared): Document.
8118
487d9a61
SE
81192006-03-21 Steve Ellcey <sje@cup.hp.com>
8120
8121 * config/ia64/unwind-hpux.c: New file.
8122 * config/ia64/t-hpux: Add unwind-hpux.c to libgcc.
8123
f7da48ef
SE
81242006-03-21 Steve Ellcey <sje@cup.hp.com>
8125
8126 PR libgomp/26384
8127 * config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options.
8128
a3b196e3
JL
81292006-03-21 Jeff Law <law@redhat.com>
8130
8131 * tree-vrp.c (extract_range_from_unary_expr): Derive ranges for
8132 type conversions of a VR_VARYING source to a wider type.
8133
ec23ed60
EB
81342006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
8135
8136 * config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to
8137 tm_file on Solaris 10 and later.
8138 (sparc64-*-solaris2*): Likewise.
8139 (sparc-*-solaris2*): Likewise.
8140 * config/sol26.h: Rename to config/sol2-6.h.
8141 * config/sol2-10.h: New file.
8142
5ded46eb
AP
81432006-03-21 Andrew Pinski <pinskia@physics.uc.edu>
8144
8145 PR tree-opt/26781
8146 * tree-ssa-pre.c (create_component_ref_by_pieces):
8147 Handle STRING_CST.
8148
3c9bb46e
JJ
81492006-03-21 Jakub Jelinek <jakub@redhat.com>
8150
8151 PR c++/26690
8152 * tree.c (get_callee_fndecl): If CALL is error_mark_node,
8153 return it immediately.
8154
b6bbd675
MM
81552006-03-21 Michael Matz <matz@suse.de>
8156
8157 * genautomata.c (<struct state>, num_out_arcs, presence_signature):
8158 New members.
8159 (remove_arc, add_arc): Update num_out_arcs member.
8160 (set_out_arc_insns_equiv_num): Returns nothing instead of number
8161 of out arcs.
8162 (cache_presence): New function.
8163 (compare_states_for_equiv): New function.
8164 (state_is_differed): Don't take number of outargs, adjust callers.
8165 Use new invariant for speeding up.
8166 (init_equiv_class): Create initial classes based on sorted
8167 input.
8168 (partition_equiv_class): Don't track out_arcs_num.
8169 (evaluate_equiv_classes): Call cache_presence on all states and
8170 sort them.
8171
c4963a0a
BS
81722006-03-21 Bernd Schmidt <bernd.schmidt@analog.com>
8173
8174 * config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare.
8175 * config/bfin/bfin.c (bfin_dsp_memref_p): New function.
8176 (bfin_valid_reg_p): Test for pseudos explicitly and use only
8177 REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all
8178 callers changed.
8179 * config/bfin/bfin.h (PREG_P): Use P_REGNO_P.
8180 (IREG_P, P_REGNO_P, I_REGNO_P): New macros.
8181 (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS.
8182 (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
8183 REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete
8184 macros.
8185 (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS,
8186 REGNO_MODE_CODE_OK_FOR_BASE_P): New macros.
8187 (REGNO_REG_CLASS): ARGP is in PREGS.
8188 * config/bfin/bfin.md (movhi_insn): Allow for addresses containing
8189 IREGS.
8190 (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split
8191 to deal with those addresses.
8192 * addresses.h: New file.
8193 * caller-save.c: Include "addresses.h".
8194 (init_caller_save): Use new base_reg_class function.
8195 * rtl-factoring.c: Include "addresses.h".
8196 (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1.
8197 * recog.c: Include "addresses.h".
8198 (preprocess_constraints): Use new base_reg_class function.
8199 * regrename.c: Include "addresses.h".
8200 (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class
8201 functions. Keep track of a new var INDEX_CODE to compute valid
8202 classes.
8203 (replace_oldest_value_addr): Likewise.
8204 (replace_oldest_value_mem): Use base_reg_class.
8205 * reload.c: Include "addresses.h".
8206 (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros.
8207 (find_reloads): Use new base_reg_class function.
8208 (find_reloads_address): Likewise; also use regno_ok_for_base_p.
8209 (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE;
8210 all callers and prototype changed.
8211 * reload1.c: Include "addresses.h".
8212 (maybe_fix_stack_asms): Use base_reg_class.
8213 * regclass.c: Include "addresses.h".
8214 (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions.
8215 (init_reg_autoinc): Use new base_reg_class function.
8216 (record_reg_classes): Likewise.
8217 (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE,
8218 OUTER_CODE and INDEX_CODE. All callers and prototype changed.
8219 Use new args to compute necessary class.
8220
8221 * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o,
8222 regrename.o, rtl-factoring.o): Update dependencies.
8223 * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document.
8224 (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
8225 (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P,
8226 REG_OK_FOR_INDEX_P): Delete documentation.
8227
69bdb292
AS
82282006-03-21 Alexey Starovoytov <alexey.starovoytov@sun.com>
8229
8230 * config.gcc (sparc-*-solaris2*): Change the default CPU setting
8231 from V7 to V9 for Solaris 7 and above.
8232
0698a1d2
TM
82332006-03-21 Toon Moene <toon@moene.indiv.nluug.nl>
8234
8235 * doc/invoke.texi: Document new flag -fargument-noalias-anything.
8236 * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2,
8237 argument pointers may not alias any other storage.
8238 * common.opt: Define option -fargument-noalias-anything.
8239 * tree-ssa-structalias.c (intra_create_variable_infos): Fortran
8240 alias semantics is specified by flag_argument_noalias > 2.
8241
ee51e035 82422006-03-20 Jeff Law <law@redhat.com>
e67c25c7
JL
8243
8244 * tree-pass.h (pass_phi_only_copy_prop): Delete.
8245 (pass_phi_only_cprop): Declare.
8246 * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop
8247 with phi_only_cprop
8248 * tree-ssa-dom.c (degenerate_phi_result): New function.
8249 (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise.
8250 (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise.
8251 (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise.
8252 (eliminate_degenerate_phis): Likewise.
8253 (pass_phi_only_cprop): New pass descriptor.
8254 * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and
8255 support code. Callers updated.
8256 (execute_copy_prop, do_copy_prop): Likewise and corresponding changes.
8257 (store_copy_prop): Likewise.
8258 (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove.
8259
0ed5edac
JM
82602006-03-20 Jason Merrill <jason@redhat.com>
8261
8262 PR c++/21764
8263 * c-pragma.c (visstack): Move out of handle_pragma_visibility.
8264 (push_visibility, pop_visibility): Likewise.
8265 * c-pragma.h: Declare them.
8266
c6d56443
KK
82672006-03-20 Kaz Kojima <kkojima@gcc.gnu.org>
8268
8269 * config/sh/sh.c (untangle_mova): Initialize n_addr and n_target.
8270
8271 * config/sh/sh.c (find_regmode_weight): Change the type of the first
8272 parameter and use get_ebb_head_tail.
8273 (sh_md_init_global): Adjust uses of find_regmode_weight.
8274
ede497cf
SB
82752006-03-20 Steven Bosscher <stevenb.gcc@gmail.com>
8276
8277 * function.h (struct function) <x_tail_recursion_reentry>:
8278 Rename to x_stack_check_probe_note.
8279 (tail_recursion_reentry): Rename to stack_check_probe_note.
8280 * function.c: Replace tail_recursion_reentry with
8281 stack_check_probe_note everywhere.
8282 (expand_function_start): Only emit a note for
8283 stack_check_probe_note with -fstack-protect.
8284 * stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes.
8285
8286 * emit-rtl.c (remove_unnecessary_notes): Remove.
8287 (pass_remove_unnecessary_notes): Remove.
8288 * rtl.h (remove_unnecessary_notes): Remove prototype.
8289 * final.c (final_start_function): Don't call remove_unnecessary_notes.
8290 * tree-pass.h (pass_remove_unnecessary_notes): Remove.
8291 * passes.c (pass_remove_unnecessary_notes): Don't run it.
8292
e13f1c14
AP
82932006-03-20 Andrew Pinski <pinskia@physics.uc.edu>
8294
8295 PR tree-opt/26629
8296 * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands.
8297 (valid_in_set): Handle ARRAY_REF.
8298 Change "if min_variant or VH" to asserts.
8299 (create_component_ref_by_pieces): Handle ARRAY_REF.
8300 (create_expression_by_pieces): Likewise.
8301 (can_PRE_operation): ARRAY_REFs can now be PRE'd.
8302
7a22dbec
DE
83032006-03-20 David Edelsohn <edelsohn@gnu.org>
8304
8305 * genpreds.c (write_insn_extra_address_constraint): Argument `c'
8306 is operand of switch, not str[0].
8307
e0bf274f
AM
83082006-03-20 Alan Modra <amodra@bigpond.net.au>
8309
8310 * config/rs6000/rs6000.c (rs6000_handle_option): Use
8311 TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too.
8312
e800e79b
DE
83132006-03-19 David Edelsohn <edelsohn@gnu.org>
8314
8315 * genpreds.c (write_tm_preds_h): Add semicolon and newline at
8316 end of insn_extra_address_constraint declaration.
8317
d2894ab5
DE
83182006-03-19 David Edelsohn <edelsohn@gnu.org>
8319
8320 * config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask.
8321 (no-sum-in-toc): Same.
8322 * config/rs6000/rs6000.c (rs6000_handle_option): Use new
8323 variables.
8324 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
8325 NO_FP_IN_TOC for -fPIC instead of mask.
8326
8327 * config/rs6000/t-aix43 (T_ADAFLAGS): Delete.
8328 (BOOT_LDFLAGS): Delete.
8329 (LDFLAGS): Delete.
8330 * config/rs6000/t-aix52: Same.
8331
8332 * config/rs6000/rs6000.md (store_multiple_power): Delete.
8333 (stmsi[345678]_power): New.
8334
30b82356
SE
83352006-03-17 Steve Ellcey <sje@cup.hp.com>
8336
8337 * config/ia64/ia64.opt: Add empty line to end of file.
8338
445a6ba4
RG
83392006-03-17 Richard Guenther <rguenther@suse.de>
8340
8341 PR middle-end/26721
8342 * builtins.c (get_pointer_alignment): For component style references
8343 adjust alignment to the component type alignment. Make sure
8344 to adjust alignment for component access of constants.
8345
ea5bd0d8
DE
83462006-03-17 David Edelsohn <edelsohn@gnu.org>
8347
8348 * config/rs6000/rs6000.md (strlensi): Emit barrier after
8349 unconditional jump.
8350
3cf94279
PB
83512006-03-17 Paul Brook <paul@codesourcery.com>
8352
8353 * doc/install.texi: Docuemnt --with-mode.
8354 * config.gcc: Add --with-mode for arm*-*-*.
8355 * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode".
8356
4241ecb0
R
83572006-03-17 J"orn Rennecke <joern.rennecke@st.com>
8358
8359 * sh.c (max_labelno_before_reorg): New variable.
8360 (sh_reorg): Initialize it.
8361 (find_barrier): Check max_labelno_before_reorg before using
8362 label_to_alignment. Take length of explicit alignment insns
8363 into account. When seeing a UNSPECV_CONST_END, return it.
8364
8365 * sh.c (fixup_mova): Set mode of affected label to QImode.
8366 (untangle_mova): New function.
8367 (find_barrier): Use it. Check mode of label before decrementing
8368 num_mova.
8369 (sh_reorg): Likewise.
8370 Set mode of all insns back to VOIDmode.
8371
8372 * sh.c (MOVA_LABELREF): New macro.
8373 (mova_p, fixup_mova, sh_reorg): Use it.
8374 (find_barrier, sh_reorg): Don't count num_mova back to 0 unless
8375 ADDR_DIFF_VEC matches mova.
8376
79252435
SB
83772006-03-17 Steven Bosscher <stevenb.gcc@gmail.com>
8378
8379 * dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument
8380 with ATTRIBUTE_UNUSED.
8381
6a037308
AO
83822006-03-17 Alexandre Oliva <aoliva@redhat.com>
8383
8384 * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
8385 pointer, instead of assuming it is possible to derive the
8386 correct args size from a call insn.
8387
d97c1295
JBG
83882006-03-16 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8389
8390 * rtl.h (CONST_INT_P): Define.
8391 * config/vax/vax.c (print_operand_address): Use CONST_INT_P()
8392 instead of GET_CODE(x) == CONST_INT.
8393 (vax_rtx_costs): Likewise.
8394 (vax_output_int_move): Likewise.
8395 (vax_output_int_add): Likewise.
8396 (legitimate_constant_address_p): Likewise.
8397 (index_term_p): Likewise.
8398 * config/vax/vax.h (PRINT_OPERAND): Likewise.
8399 * config/vax/vax.md (and<mode>3): Likewise.
8400 (ashrsi3): Likewise.
8401 (extv): Likewise.
8402 (movstricthi): Likewise.
8403 (movstrictqi): Likewise.
8404 (rotrsi3): Likewise.
8405 (five unnamed insns): Likewise.
8406
192d0f89
GK
84072006-03-16 Geoffrey Keating <geoffk@apple.com>
8408
8409 * doc/tm.texi (SDB and DWARF): Add extra parameter to
8410 ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables.
8411 * dwarf2asm.h (dw2_asm_output_offset): Add section parameter.
8412 * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter.
8413 Pass to ASM_OUTPUT_DWARF_OFFSET.
8414 * dwarf2out.c (debug_frame_section): New.
8415 (output_call_frame_info): Use debug_frame_section. Pass it to
8416 dw2_asm_output_offset.
8417 (output_die): Pass appropriate section to dw2_asm_output_offset.
8418 (output_compilation_unit_header): Likewise.
8419 (output_pubnames): Likewise.
8420 (output_aranges): Likewise.
8421 (enum dw_val_class): Break dw_val_class_lbl_offset into
8422 dw_val_class_lineptr and dw_val_class_macptr.
8423 (add_AT_lbl_offset): Delete.
8424 (add_AT_lineptr): New.
8425 (add_AT_macptr): New.
8426 (AT_lbl): Expect a lineptr or macptr.
8427 (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr.
8428 (attr_checksum): Likewise.
8429 (same_dw_val_p): Likewise.
8430 (size_of_die): Likewise.
8431 (value_format): Likewise.
8432 (output_die): Likewise.
8433 (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of
8434 add_AT_lbl_offset.
8435 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
8436 * config/i386/i386.c (x86_file_start): Call darwin_file_start.
8437 * config/darwin-protos.h (darwin_file_start): New.
8438 (darwin_asm_output_dwarf_offset): New.
8439 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
8440 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call
8441 darwin_file_start.
8442 * config/darwin.c (darwin_emit_unwind_label): Don't output label
8443 if not EH section; simplify.
8444 (darwin_file_start): New.
8445 (darwin_asm_output_dwarf_offset): New.
8446 * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment,
8447 mark as 'debug'.
8448 (DEBUG_INFO_SECTION): Likewise.
8449 (DEBUG_ABBREV_SECTION): Likewise.
8450 (DEBUG_ARANGES_SECTION): Likewise.
8451 (DEBUG_MACINFO_SECTION): Likewise.
8452 (DEBUG_LINE_SECTION): Likewise.
8453 (DEBUG_LOC_SECTION): Likewise.
8454 (DEBUG_PUBNAMES_SECTION): Likewise.
8455 (DEBUG_STR_SECTION): Likewise.
8456 (DEBUG_RANGES_SECTION): Likewise.
8457 (FRAME_BEGIN_LABEL): Must start with 'L' in debug section.
8458 (ASM_OUTPUT_DWARF_OFFSET): New.
8459
620b87b3
JM
84602006-03-16 Joseph S. Myers <joseph@codesourcery.com>
8461
8462 * config.gcc (tm_defines): Always add to previous value rather
8463 than replacing it.
8464
ea462dd0
RS
84652006-03-16 Richard Sandiford <richard@codesourcery.com>
8466
8467 * config/mips/predicates.md (splittable_const_int_operand): New,
8468 split from move_operand.
8469 (splittable_symbolic_operand): New.
8470 (move_operand): Add commentary. Use splittable_const_int_operand.
8471 Inline mips_atomic_symbolic_constant_p.
8472 * config/mips/mips.md: Add combine splitters for handling moves
8473 of splittable_const_int_operands and splittable_symbolic_operands.
8474 * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete.
8475 (mips_split_symbol): Declare.
8476 (mips_move_integer): Declare.
8477 * config/mips/mips.c (mips_split_p): Make global.
8478 (TARGET_MIN_ANCHOR_OFFSET): Override default.
8479 (TARGET_MAX_ANCHOR_OFFSET): Likewise.
8480 (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
8481 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise.
8482 (mips_offset_within_object_p): Handle block symbols.
8483 (mips_atomic_symbolic_constant_p): Delete.
8484 (mips_cannot_force_const_mem): Return false for constants that
8485 mips_legitimize_move can handle.
8486 (mips_use_blocks_for_constant_p): New function.
8487 (mips_split_symbol): Make global.
8488 (mips_move_integer): Likewise. Add a temporary register argument.
8489 (mips_legitimize_const_move): Use splittable_const_int_operand and
8490 splittable_symbolic_operand.
8491 (mips_use_anchors_for_symbol_p): New function.
8492 * config/mips/mips.h: Protect externs with !USED_FOR_TARGET.
4b1c1f6f 8493 (mips_split_p): Declare.
ea462dd0 8494
5d2a73d5
RS
84952006-03-16 Richard Sandiford <richard@codesourcery.com>
8496
8497 * config.gcc (mips64*-*-linux*): Keep existing tm_defines.
8498 (mips*-*-linux*): Likewise.
8499
da54e73b
RS
85002006-03-16 Roger Sayle <roger@eyesopen.com>
8501 Daniel Speyer <dspeyer@wam.umd.edu>
8502
8503 PR middle-end/18259
8504 * tree-dump.c (dump_real): New function.
8505 (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants.
8506 * Makefile.in (REAL_H): New macro for dependencies on real.h.
8507 (tree-dump.o): Add $(REAL_H) to the dependencies.
8508
a47564c8
RS
85092006-03-16 Roger Sayle <roger@eyesopen.com>
8510
8511 PR middle-end/21781
8512 * real.c (real_from_string): If the mantissa is zero, don't bother
8513 parsing the exponent as the result should always be zero.
8514
349f4ea1
AK
85152006-03-16 Andreas Krebbel <krebbel1@de.ibm.com>
8516
8517 * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms.
8518
048d0d36
MK
85192006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
8520
dec6909b
RH
8521 * config/ia64/ia64.c (stops_p): Added explicit initialization.
8522 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
8523 ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn,
8524 ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global,
048d0d36
MK
8525 ia64_sched_finish_global): New static functions to implement
8526 hooks from gcc_target.sched.
8527 (spec_check_no, max_uid, pending_data_specs): New static variables.
dec6909b 8528 (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p,
048d0d36 8529 ia64_spec_check_src_p): New static functions.
dec6909b
RH
8530 (ia64_adjust_cost): Renamed to ia64_adjust_cost_2.
8531 (TARGET_SCHED_ADJUST_COST): Removed.
8532 (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL,
048d0d36
MK
8533 TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED,
8534 TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
8535 TARGET_SCHED_GEN_CHECK,
8536 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
dec6909b
RH
8537 TARGET_SCHED_SET_SCHED_FLAGS): New macros.
8538 (update_set_flags, group_barrier_needed, set_src_needs_barrier):
048d0d36 8539 Fixed to handle speculation checks.
dec6909b
RH
8540 (rtx_needs_barrier): Fixed to handle speculative loads and
8541 their checks.
8542 (ia64_variable_issue): Added code to count speculative loads and their
8543 checks.
8544 (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle
8545 speculative loads.
8546 (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET):
8547 New enumerations.
8548 (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET):
8549 New constants.
8550 (ia64_ld_address_bypass_p): Fixed to handle speculative loads.
048d0d36 8551 (ia64_reorg): Reset stops_p to NULL after it is freed.
dec6909b 8552 * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA,
048d0d36 8553 UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants.
dec6909b
RH
8554 (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f,
8555 chk_a.
8556 (data_speculative, control_speculative, check_load): New attributes.
8557 (mov<mode>_advanced, mov<mode>_speculative,
8558 mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced,
8559 zero_extend<mode>di2_speculative,
8560 zero_extend<mode>di2_speculative_advanced): New patterns for
8561 data and control speculative loads.
8562 (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for
8563 check loads.
8564 (advanced_load_check_clr_<mode>, speculation_check_<mode>):
8565 New pattern for data and control speculation checks.
048d0d36
MK
8566 (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr,
8567 ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr,
8568 reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes):
8569 Auxiliary definitions for the patterns.
dec6909b
RH
8570 * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a,
8571 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource
8572 constraints.
048d0d36 8573 (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition
dec6909b
RH
8574 for speculation.
8575 (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i.
8576 * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f,
048d0d36
MK
8577 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a):
8578 New resource constraints.
8579 (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition
dec6909b
RH
8580 for speculation.
8581 (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i.
8582 * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec,
8583 msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
8584 msched-in-control-spec, msched-ldc, msched-control-ldc,
8585 msched-spec-verbose, msched-prefer-non-data-spec-insns,
8586 msched-prefer-non-control-spec-insns,
048d0d36
MK
8587 msched-count-spec-in-critical-path): New flags to tune speculative
8588 scheduling.
8589 * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec,
dec6909b
RH
8590 msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
8591 msched-in-control-spec, msched-ldc, msched-control-ldc,
8592 msched-spec-verbose, msched-prefer-non-data-spec-insns,
8593 msched-prefer-non-control-spec-insns,
048d0d36
MK
8594 msched-count-spec-in-critical-path): Document new flags.
8595
496d7bb0
MK
85962006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
8597
dec6909b
RH
8598 * target.h (struct spec_info_def): New opaque declaration.
8599 (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended,
8600 speculate_insn, needs_block_p, gen_check,
8601 first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags.
8602 * target-def.h (TARGET_SCHED_ADJUST_COST_2,
8603 TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN,
8604 TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK,
8605 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
8606 TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in
8607 gcc_target.sched.
8608 (TARGET_SCHED): Use new macros.
8609 * rtl.h (copy_DEPS_LIST_list): New prototype.
8610 * sched-int.h (struct sched_info): Change signature of new_ready field,
496d7bb0 8611 adjust all initializations. New fields: add_remove_insn,
dec6909b 8612 begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg,
496d7bb0 8613 region_head_or_leaf_p.
dec6909b
RH
8614 (struct spec_info_def): New structure declaration.
8615 (spec_info_t): New typedef.
8616 (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec,
8617 recovery_block, orig_pat.
8618 (glat_start, glat_end): New variables declaraions.
8619 (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT):
496d7bb0 8620 New access macros.
dec6909b
RH
8621 (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB,
8622 DETACH_LIFE_INFO, USE_GLAT.
8623 (enum SPEC_SCHED_FLAGS): New enumeration.
8624 (NOTE_NOTE_BB_P): New macro.
8625 (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block,
8626 attach_life_info, debug_spec_status, check_reg_live): New functions.
8627 (get_block_head_tail): Change signature to get_ebb_head_tail, adjust
8628 all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c,
8629 sched-ebb.c
496d7bb0 8630 (get_dep_weak, ds_merge): Prototype functions from sched-deps.c .
dec6909b
RH
8631 * ddg.c (get_block_head_tail): Adjust all uses.
8632 * modulo-sched.c (get_block_head_tail): Adjust all uses.
496d7bb0
MK
8633 (sms_sched_info): Initialize new fields.
8634 (contributes_to_priority): Removed.
dec6909b 8635 * haifa-sched.c (params.h): New include.
496d7bb0 8636 (get_block_head_tail): Adjust all uses.
dec6909b
RH
8637 (ISSUE_POINTS): New macro.
8638 (glat_start, glat_end): New global variables.
8639 (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data,
496d7bb0
MK
8640 nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header,
8641 old_last_basic_block, before_recovery, current_sched_info_var,
8642 rgn_n_insns, luid): New static variables.
dec6909b
RH
8643 (insn_cost1): New function. Move logic from insn_cost to here.
8644 (find_insn_reg_weight1): New function. Move logic from
8645 find_insn_reg_weight to here.
8646 (reemit_notes, move_insn, max_issue): Change signature.
8647 (move_insn1): Removed.
8648 (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d,
8649 extend_bb): New static functions to support extension of scheduler's
8650 data structures.
8651 (generate_recovery_code, process_insn_depend_be_in_spec,
8652 begin_speculative_block, add_to_speculative_block,
8653 init_before_recovery, create_recovery_block, create_check_block_twin,
8654 fix_recovery_deps): New static functions to support
8655 generation of recovery code.
8656 (fix_jump_move, find_fallthru_edge, dump_new_block_header,
8657 restore_bb_notes, move_block_after_check, move_succs): New static
8658 functions to support ebb scheduling.
8659 (init_glat, init_glat1, attach_life_info1, free_glat): New static
8660 functions to support handling of register live information.
8661 (associate_line_notes_with_blocks, change_pattern, speculate_insn,
496d7bb0
MK
8662 sched_remove_insn, clear_priorities, calc_priorities, bb_note,
8663 add_jump_dependencies): New static functions.
dec6909b 8664 (check_cfg, has_edge_p, check_sched_flags): New static functions for
496d7bb0
MK
8665 consistancy checking.
8666 (debug_spec_status): New function to call from debugger.
8667 (priority): Added code to handle speculation checks.
8668 (rank_for_schedule): Added code to distinguish speculative instructions.
8669 (schedule_insn): Added code to handle speculation checks.
8670 (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes):
8671 Fixed to handle ebbs.
dec6909b 8672 (move_insn): Added code to handle ebb scheduling.
496d7bb0 8673 (max_issue): Added code to use ISSUE_POINTS of instructions.
dec6909b
RH
8674 (choose_ready): Added code to choose between speculative and
8675 non-speculative instructions.
8676 (schedule_block): Added code to handle ebb scheduling and scheduling of
8677 speculative instructions.
8678 (sched_init): Initialize new variables.
8679 (sched_finish): Free new variables. Print statistics.
8680 (try_ready): Added code to handle speculative instructions.
8681 * lists.c (copy_DEPS_LIST_list): New function.
8682 * sched-deps.c (extend_dependency_caches): New function. Move logic
8683 from create_dependency_caches to here.
496d7bb0 8684 (get_dep_weak, ds_merge): Make global.
dec6909b
RH
8685 * genattr.c (main): Code to output prototype for
8686 dfa_clear_single_insn_cache.
8687 * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros.
8688 (output_dfa_clean_insn_cache_func): Code to output
8689 dfa_clear_single_insn_cache function.
8690 * sched-ebb.c (target_n_insns): Remove. Adjust all users to use
496d7bb0 8691 n_insns.
dec6909b
RH
8692 (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs):
8693 Removed.
8694 (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb):
8695 New static variables.
8696 (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb,
496d7bb0
MK
8697 fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from
8698 struct sched_info.
dec6909b 8699 (ebb_sched_info): Initialize new fields.
496d7bb0
MK
8700 (get_block_head_tail): Adjust all uses.
8701 (compute_jump_reg_dependencies): Fixed to use glat_start.
8702 (schedule_ebb): Code to remove unreachable last block.
dec6909b
RH
8703 (schedule_ebbs): Added code to update register live information.
8704 * sched-rgn.c (region_sched_info): Initialize new fields.
496d7bb0
MK
8705 (get_block_head_tail): Adjust all uses.
8706 (last_was_jump): Removed. Adjust users.
dec6909b 8707 (begin_schedule_ready, add_remove_insn, insn_points, extend_regions,
496d7bb0
MK
8708 add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p):
8709 Implement new hooks.
dec6909b
RH
8710 (check_dead_notes1): New static function.
8711 (struct region): New fields: dont_calc_deps, has_real_ebb.
8712 (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros.
8713 (BB_TO_BLOCK): Fixed to handle EBBs.
8714 (EBB_FIRST_BB, EBB_LAST_BB): New macros.
8715 (ebb_head): New static variable.
8716 (debug_regions, contributes_to_priority): Fixed to handle EBBs.
8717 (find_single_block_regions, find_rgns, find_more_rgns): Initialize
496d7bb0
MK
8718 new fields.
8719 (compute_dom_prob_ps): New assertion.
dec6909b
RH
8720 (check_live_1, update_live_1): Fixed to work with glat_start instead of
8721 global_live_at_start.
496d7bb0
MK
8722 (init_ready_list): New assertions.
8723 (can_schedule_ready_p): Split update code to begin_schedule_ready.
8724 (new_ready): Add support for BEGIN_CONTROL speculation.
dec6909b
RH
8725 (schedule_insns): Fixed code that updates register live information
8726 to handle EBBs.
8727 (schedule_region): Fixed to handle EBBs.
496d7bb0 8728 (init_regions): Use extend_regions and check_dead_notes1.
dec6909b
RH
8729 * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY,
8730 PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters.
496d7bb0
MK
8731 * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED,
8732 TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
8733 TARGET_SCHED_GEN_CHECK,
8734 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
8735 TARGET_SCHED_SET_SCHED_FLAGS): Document.
dec6909b 8736 * doc/invoke.texi (max-sched-insn-conflict-delay,
496d7bb0
MK
8737 sched-spec-prob-cutoff): Document.
8738
63f54b1a
MK
87392006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
8740
dec6909b 8741 * sched-int.h (struct haifa_insn_data): New fields: resolved_deps,
63f54b1a
MK
8742 inter_tick, queue_index.
8743 (struct sched_info): Change signature of init_ready_list field.
8744 Adjust all initializations.
8745 (RESOLVED_DEPS): New access macro.
8746 (ready_add): Remove prototype.
8747 (try_ready): Add prototype.
8748 * sched-rgn.c (init_ready_list): Use try_ready.
8749 (schedule_region): Initialize
8750 current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}.
8751 * sched-ebb.c (new_ready): Remove. Adjust ebb_sched_info.
8752 (init_ready_list): Use try_ready.
8753 (schedule_ebb): Initialize current_sched_info->sched_max_insns_priority.
8754 * lists.c (remove_list_elem): Remove `static'.
8755 (remove_free_INSN_LIST_elem): New function.
8756 * rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes.
8757 * haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros.
8758 (INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY):
8759 New constants.
8760 (readyp): New variable.
8761 (queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready,
8762 change_queue_index, resolve_dep): New static functions.
8763 (try_ready): New function. Adjust callers in sched-rgn.c and
8764 sched-ebb.c to use it instead of ready_add.
8765 (clock_var): Move at the begining of file.
8766 (rank_for_schedule): Fix typo.
8767 (queue_insn): Add assertion. Handle QUEUE_INDEX.
8768 (ready_lastpos): Enforce assertion.
8769 (ready_add): Make it static. Handle QUEUE_INDEX. Add new argument,
8770 update all callers.
8771 (ready_remove_first, ready_remove): Handle QUEUE_INDEX.
8772 (schedule_insn): Rewrite to use try_ready and resolve_dep.
8773 (queue_to_ready): Use free_INSN_LIST_list.
8774 (early_queue_to_ready): Fix typo.
8775 (schedule_block): Init readyp. Move init_ready_list call after the
8776 initialization of clock_var. Fix error in rejecting insn by
8777 targetm.sched.dfa_new_cycle. Add call to fix_inter_tick. Remove code
8778 that previously corrected INSN_TICKs. Add code for handling
8779 QUEUE_INDEX.
8780 (set_priorities): Fix typo.
8781 (sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX.
8782 Clarify comment and code that keeps current_sched_info->next_tail
8783 non-null.
8784
d08eefb9
MK
87852006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
8786
8787 * sched-rgn.c (extend_rgns): New static function.
8788 (find_rgns): Use it.
8789 (gather_region_statistics, print_region_statistics): New static
8790 functions.
8791 * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter.
dec6909b 8792 * doc/invoke.texi (max-sched-extend-regions-iters): Document.
d08eefb9 8793
ddbd5439 87942006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
dec6909b 8795 Andrey Belevantsev <abel@ispras.ru>
ddbd5439
MK
8796
8797 * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
dec6909b 8798 * lists.c (unused_deps_list): New variable.
4b1c1f6f 8799 (free_list): Add assertions to verify the proper distinguishing
dec6909b
RH
8800 between INSN_LISTs and DEPS_LISTs.
8801 (find_list_elem, remove_list_elem, remove_list_node): New static
ddbd5439 8802 functions.
dec6909b
RH
8803 (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node,
8804 remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem,
8805 remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions.
8806 (alloc_INSN_LIST): Assert that the list we're working on is indeed
ddbd5439 8807 an INSN_LIST.
dec6909b 8808 (free_INSN_LIST_node): Likewise.
ddbd5439
MK
8809 * modulo-sched.c (current_sched_info): Initialize flags field.
8810 * reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT.
8811 * rtl.def (DEPS_LIST): Define.
dec6909b
RH
8812 * rtl.h: Declare new functions from lists.c.
8813 * sched-deps.c (spec_dependency_cache): New static variable.
8814 (maybe_add_or_update_back_dep_1, add_back_dep): New static functions.
8815 (add_dependence): Change return type to void. Move the logic to ...
8816 (add_or_update_back_dep_1): ... here. Handle speculative dependencies.
8817 (delete_all_dependences): Add comment about forward_dependency_cache.
ddbd5439 8818 Handle spec_dependency_cache. Handle DEPS_LISTs.
dec6909b
RH
8819 (fixup_sched_groups): Clarify the change of priority of output
8820 and anti dependencies.
8821 (sched_analyze_2): Adjust add_dependence calls to create data
ddbd5439 8822 speculative dependence.
dec6909b 8823 (add_forward_dependence): Renamed to add_forw_dep, change prototype.
ddbd5439 8824 Adjust all callers. Handle DEPS_LISTS.
dec6909b 8825 (compute_forward_dependences): Use add_forw_dep. Sort LOG_LINKs in
ddbd5439 8826 presence of speculation.
dec6909b 8827 (init_dependency_caches, free_dependency_caches):
ddbd5439 8828 Handle spec_dependency_cache.
dec6909b 8829 (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep,
ddbd5439
MK
8830 estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status):
8831 New static functions.
dec6909b 8832 (add_or_update_back_dep, add_or_update_back_forw_dep,
ddbd5439
MK
8833 add_back_forw_dep, delete_back_forw_dep): New functions.
8834 * sched-int.h (ds_t, dw_t): New typedefs.
8835 (struct sched_info): Add new field flags.
8836 (struct haifa_insn_data): Add new bitfield has_internal_dep.
8837 Prototype new sched-deps.c functions.
dec6909b 8838 (HAS_INTERNAL_DEP, DEP_STATUS): New access macros.
ddbd5439
MK
8839 (BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK,
8840 MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA,
8841 BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC,
8842 SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE,
8843 SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP):
8844 New constants.
dec6909b 8845 (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS):
ddbd5439
MK
8846 New enums.
8847 * sched-rgn.c (current_sched_info): Initialize flags field.
8848 (schedule_insns): Initialize current_sched_info before the sched_init
8849 call.
8850 * sched-ebb.c (current_sched_info): Initialize flags field.
8851 (add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P.
8852 Call add_or_update_back_dep instead of add_dependence.
8853 Create control speculative dependencies.
8854 (schedule_insns): Initialize current_sched_info before the sched_init
8855 call.
8856
3062335c
KK
88572006-03-16 Kaz Kojima <kkojima@gcc.gnu.org>
8858
8859 * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set
8860 fs->signal_frame.
8861 (sh_fallback_frame_state): Likewise.
8862
747b9f55
GK
88632006-03-15 Geoffrey Keating <geoffk@apple.com>
8864
8865 * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports.
8866 Do switch on default_use_cxa_atexit.
8867 (powerpc*-*-darwin*): Build crt2.o on powerpc.
8868 * config/darwin-crt3.o: New.
8869 * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default
8870 to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use.
8871 (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate
8872 OS version.
8873 * config/rs6000/t-darwin: Move crt2.o building to here.
8874 * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update
8875 Mac OS version for using __cxa_get_exception_ptr. Don't test versions
8876 of __cxa_atexit.
8877
79166a87
JBG
88782006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8879
8880 * config/vax/vax.c (nonindexed_address_p): Change logical negation
8881 from '! xxx' to '!xxx' for coding-style conformance.
8882 * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise.
8883 (EXTRA_CONSTRAINT): Likewise.
8884 * config/vax/vax.md (four unnamed insns): Likewise.
4b1c1f6f 8885
34a9f549
PB
88862006-03-15 Paul Brook <paul@codesourcery.com>
8887
8888 * config/arm/arm.c (minipool_pad): New.
5a281edb 8889 (add_minipool_forward_ref): Include pool alignment padding in address
34a9f549
PB
8890 calculation.
8891 (push_minipool_fix): Set minipool_pad.
8892 (minipool_pad): Ditto.
8893
ff9d4590
JBG
88942006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8895
8896 * config/vax/vax.c (split_quadword_operands): Use MEM_P()
8897 instead of GET_CODE() == MEM and REG_P() instead of
8898 GET_CODE() == REG.
8899 (print_operand_address): Likewise.
8900 (vax_address_cost): Likewise.
8901 (vax_rtx_costs): Likewise.
8902 (vax_notice_update_cc): Likewise.
8903 (vax_output_int_add): Likewise.
8904 (INDEX_REGISTER_P): Likewise.
8905 (BASE_REGISTER_P): Likewise.
8906 (nonindexed_address_p): Likewise.
8907 (vax_mode_dependent_address_p): Likewise.
8908 * config/vax/vax.h (EXTRA_CONSTRAINT): Likewise.
8909 (PRINT_OPERAND): Likewise.
8910 * config/vax/vax.md (ashlsi3): Likewise.
8911 (ashlsi3): Likewise.
8912 (some more unnamed insns): Likewise.
8913
db490c39
KH
89142006-03-15 Kazu Hirata <kazu@codesourcery.com>
8915
8916 * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an
8917 iterator-style macro.
8918 (mark_control_dependent_edges_necessary): Update the use of
8919 EXECUTE_IF_CONTROL_DEPENDENT.
8920
f705a9a0
R
89212006-03-15 J"orn Rennecke <joern.rennecke@st.com>
8922
8923 * config/sh/predicates.md (cache_address_operand): Special.
8924 (ua_address_operand): Likewise.
8925
8b96512f
ZD
89262006-03-15 Zdenek Dvorak <dvorakz@suse.cz>
8927
8928 * haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle
8929 loop notes.
8930 * sched-deps.c (sched_analyze_insn, sched_analyze): Ditto.
8931
c0fa4721
AS
89322006-03-15 Andreas Schwab <schwab@suse.de>
8933
8934 * gensupport.c (identify_predicable_attribute): Don't free p_false
8935 when it is still in use.
8936
cc0f8895
EB
89372006-03-15 Eric Botcazou <ebotcazou@libertysurf.fr>
8938
8939 * config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify
8940 the default setting here.
8941
1cba0d4e
SB
89422006-03-14 Steven Bosscher <stevenb.gcc@gmail.com>
8943
8944 * tree-pass.h (pass_cfg): Remove.
8945 * alias.c (rest_of_handle_cfg, pass_cfg): Remove.
8946 * passes.c (pass_cfg): Don't run it.
8947
e4881f23
KH
89482006-03-14 Kazu Hirata <kazu@codesourcery.com>
8949
8950 * Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.
8951 * reg-stack.c (stack_regs_mentioned_data): Change the type to
8952 VEC(char,heap) *.
8953 (stack_regs_mentioned): Update the uses of
8954 stack_regs_mentioned_data. Don't access the array beyond its
8955 end.
8956 (reg_to_stack): Update the uses of stack_regs_mentioned_data.
8957 Don't include gt-reg-stack.h.
8958
02433683
KH
8959 * config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove.
8960 * system.h (UNALIGNED_WORD_ASM_OP): Poison.
8961
df6872b7
KH
8962 * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove.
8963
5b94780f
KH
8964 PR middle-end/26684
8965 * reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef
8966 STACK_REGS.
8967
e1835ff1
JDA
89682006-03-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8969
8970 * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo.
8971
b5564e87
RG
89722006-03-14 Richard Guenther <rguenther@suse.de>
8973
8974 PR tree-optimization/26672
8975 * tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in
8976 SSA form.
8977
6971d714
RG
89782006-03-14 Richard Guenther <rguenther@suse.de>
8979
8980 PR tree-optimization/26667
8981 * ipa-inline.c (cgraph_check_inline_limits): Walk the correct
8982 node for the callees. Always allow inlining if it will shrink
8983 the function size.
8984
7de80559
RG
89852006-03-14 Richard Guenther <rguenther@suse.de>
8986
8987 PR middle-end/26659
8988 * builtins.c (get_pointer_alignment): Prefer alignment
8989 information from decls over that from types.
8990
0e512a4f
AP
89912006-03-14 Andrew Pinski <pinskia@physics.uc.edu>
8992
8993 PR target/26657
8994 * config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp.
8995
716019c0
JM
89962006-03-14 Joseph S. Myers <joseph@codesourcery.com>
8997
8998 * config/rs6000/rs6000.opt (mdlmzb): New option.
8999 (msched-prolog, msched-epilog): Use Var not Mask.
9000 * doc/invoke.texi (-mdlmzb): Document.
9001 * config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
9002 MASK_SCHED_PROLOG.
9003 (rs6000_override_options): Enable -mdlmzb for 405 and 440.
9004 * config/rs6000/rs6000.md: Add dlmzb support for 405 and 440.
9005
a14df7da
UP
90062006-03-13 Uttam Pawar <uttamp@us.ibm.com>
9007
9008 PR rtl-optimization/25739
9009 * bt-load.c (augment_live_range): Free tos pointer.
9010
9011 * gensupport.c (identify_predicable_attribute): Free
9012 p_false pointer.
9013 * gcov.c (create_file_names): Free name pointer.
9014
f8318079
RS
90152006-03-13 Roger Sayle <roger@eyesopen.com>
9016
9017 PR middle-end/26557
9018 * stmt.c (emit_case_nodes): Handle the case where the index is a
9019 CONST_INT, where the comparison mode is specified by the index type.
9020
26a851b9
JDA
90212006-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9022
9023 * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O
9024 is defined.
9025
94c5a841
RS
90262006-03-13 Richard Sandiford <richard@codesourcery.com>
9027
9028 * config/mips/mips.md (*branch_fp): Use %Z2 for the condition.
9029 (*branch_fp_inverted): Likewise.
9030
5b4fc8fb
JJ
90312006-03-13 Jakub Jelinek <jakub@redhat.com>
9032
9033 PR middle-end/25989
9034 * omp-low.c (expand_omp_for_generic): Mark istart0
9035 and iend0 as addressable.
9036
792e526b
JZ
90372006-03-13 Jie Zhang <jie.zhang@analog.com>
9038
9039 * config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC.
9040
2bbec6d9
JL
90412006-03-13 Jeff Law <law@redhat.com>
9042
9043 * tree-vrp.c (stmt_interesting_for_vrp): Some statements with
9044 virtual operands are interesting.
9045 (vrp_visit_stmt): Corresponding changes.
9046
a94aa272
BS
90472006-03-13 Bernd Schmidt <bernd.schmidt@analog.com>
9048
9049 * config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents
9050 of RETS.
4af990cd
BS
9051 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If
9052 TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__.
9053 * config/bfin/crti.S: Use it instead of __PIC__.
9054 * config/bfin/crtn.S: Likewise.
a94aa272 9055
96c30d2a
BS
9056 * config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol,
9057 call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY,
9058 not if flag_pic.
9059 Lose 'G' modifier for call operand.
9060 * config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't
9061 recognize 'G' modifier.
9062
3feaea00
EB
90632006-03-13 Eric Botcazou <ebotcazou@adacore.com>
9064
9065 PR middle-end/18859
9066 * gimplify.c (gimplify_switch_expr): Discard empty ranges.
9067 * stmt.c (expand_case): Likewise.
9068
ba946209
ZD
90692006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
9070
9071 PR rtl-optimization/26254
9072 * loop-invariant.c (seq_insns_valid_p): New function.
9073 (move_invariant_reg): Only emit new code if it is valid.
9074
96e82e0a
ZD
90752006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
9076
9077 * cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p):
9078 Removed.
9079 (force_nonfallthru_and_redirect): Do not use last_loop_beg_note.
9080 (rtl_split_edge): Do not use back_edge_of_syntactic_loop_p.
9081 (commit_one_edge_insertion): Do not look for loop notes.
9082
50af6384
ZD
90832006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
9084
9085 * jump.c (follow_jumps): Do not check for loop notes. Move check for
9086 flag_test_coverage out of loop.
9087
80838531
ZD
90882006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
9089
9090 * final.c (shorten_branches): Remove outdated comment, and turn
9091 the if branch that guards it to continue.
9092
7490e6c4
ZD
90932006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
9094
9095 * cfgloop.c (flow_loop_dump): Do not dump loop->invalid field.
9096 * cfgloop.h (struct loop): Remove unused fields.
9097
5abcfa7e
KH
90982006-03-13 Kazu Hirata <kazu@codesourcery.com>
9099
9100 * doc/invoke.texi (-fdump-rtl-loop): Remove.
4b1c1f6f 9101 (-dL, -fdump-rtl-loop2): Update the dump file names
5abcfa7e 9102
c6075909
KH
9103 * doc/invoke.texi: Update dump file names.
9104
3d47ea88
SB
91052006-03-12 Steven Bosscher <stevenb.gcc@gmail.com>
9106
9107 * predict.c (estimate_probability): Remove.
9108 * profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove.
9109 * basic-block.h (estimate_probability): Remove prototype.
9110 * passes.c (finish_optimization_passes): Dump branch prediction or
9111 profiling heuristics to the .profile tree dump.
9112 (init_optimization_passes): Unqueue pass_branch_prob.
9113
9114 * doc/invoke.texi (-fdump-rtl-bp): Remove.
9115
fc6c490e
SB
91162006-03-11 Steven Bosscher <stevenb.gcc@gmail.com>
9117
9118 * rtl.def (LABEL_REF): Remove the field for LABEL_NEXTREF.
9119 * rtl.h (LABEL_NEXTREF): Remove field accessor.
9120
9fb798d7
EB
91212006-03-11 Eric Botcazou <ebotcazou@adacore.com>
9122
9123 * function.h (frame_offset_overflow): Declare.
9124 * function.c (frame_offset_overflow): New function.
9125 (assign_stack_local_1): Call it to detect that the offset overflows.
9126 * cfgexpand.c (alloc_stack_frame_space): Likewise.
9127
6dd3c0a5
SB
91282006-03-11 Steven Bosscher <stevenb.gcc@gmail.com>
9129
9130 * config/sh/sh.c: Include alloc-pool.h.
9131 (label_ref_list_pool): New alloc pool.
9132 (label_ref_list_t): New type for lists of labels.
9133 (struct pool_node): Make wend a label_ref_list_t.
9134 (add_constant): Use the new type, eradicate LABEL_NEXTREF
9135 references.
9136 (dump_table): Likewise.
9137 (sh_reorg): Set up the alloc pool before using add_constant and
9138 dump_table, and destroy it when finishing.
9139
a70ec386
RS
91402006-03-11 Richard Sandiford <richard@codesourcery.com>
9141
9142 * config/mips/mips.c: Remove redundant comment.
9143
21f9ec0c
JM
91442006-03-10 Jason Merrill <jason@redhat.com>
9145
9146 PR c/26004
4b1c1f6f 9147 * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if
21f9ec0c
JM
9148 the target was declared 'register'.
9149
a8597866
AN
91502006-03-10 Adam Nemet <anemet@caviumnetworks.com>
9151
9152 * genpreds.c (write_insn_constraint_len): Change definition of
9153 insn_constraint_len to return size_t to match the declaration.
9154
8e4edce7
DD
91552006-03-10 DJ Delorie <dj@redhat.com>
9156
9157 * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers
9158 start at zero.
9159 (m32c_expand_insv): Fix test for an AND mask.
9160
891c0eee
RG
91612006-03-10 Richard Guenther <rguenther@suse.de>
9162
9163 PR middle-end/26565
9164 * builtins.c (get_pointer_alignment): Handle component
9165 references for field alignment.
9166
8c1aaf26
R
91672006-03-10 J"orn Rennecke <joern.rennecke@st.com>
9168
9169 * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h
9170 when building with libgloss.
9171 (sh*elf): Implement --without-fp option.
4b1c1f6f 9172 (sh64-superh-linux*): Don't multilib.
8c1aaf26 9173
7a6164d4
R
91742006-03-10 J"orn Rennecke <joern.rennecke@st.com>
9175
9176 * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
9177
3e0a08d7
AP
91782006-03-09 Andrew Pinski <pinskia@physics.uc.edu>
9179
9180 * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable.
9181 Set it when one of the replacement functions returned true.
9182 Return TODO_cleanup_cfg if cfgchanged is true.
9183 (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg.
9184
f243cee6
AN
91852006-03-09 Adam Nemet <anemet@caviumnetworks.com>
9186
9187 * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate
9188 instead of gen_lowpart.
9189
a8c1d5f8
RS
91902006-03-09 Richard Sandiford <richard@codesourcery.com>
9191
9192 * config/mips/mips-protos.h (mips_output_conditional_branch): Change
9193 interface.
9194 (mips_output_order_conditional_branch): Declare.
9195 * config/mips/mips.h (MIPS_BRANCH): New macro.
9196 * config/mips/mips.c (gen_conditional_branch): Use VOIDmode
9197 for the comparison. Use gen_condjump.
9198 (mips_output_conditional_branch): Rework interface to take the
9199 asm templates for a direct branch and the inverse of a direct branch.
9200 (mips_output_order_conditional_branch): New function.
9201 (mips_builtin_branch_and_move): New function.
9202 (mips_expand_builtin_compare): Use it. Use VOIDmode for the
9203 branch condition. Use gen_single_cc as the condition for
9204 __builtin_mips_upper_* or __builtin_mips_lower_*.
9205 (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move.
9206 Use VOIDmode for the branch condition.
9207 * config/mips/predicates.md (order_operator): New predicate.
9208 * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant.
9209 (branch_fp): Rename to...
9210 (*branch_fp): ...this. Remove mode from comparison operator.
9211 Use new mips_output_conditional_branch interface.
9212 (branch_fp_inverted): Rename to...
9213 (*branch_fp_inverted): ...this and update as for *branch_fp.
9214 (*branch_zero<mode>): Rename to...
9215 (*branch_order<mode>): ...this. Remove mode from comparison operator.
9216 Use mips_output_order_conditional_branch. Only accept ordered
4b1c1f6f 9217 comparisons.
a8c1d5f8
RS
9218 (*branch_zero<mode>_inverted): Rename to...
9219 (*branch_order<mode>_inverted): ...this and update as for
9220 *branch_order<mode>.
9221 (*branch_equality<mode>): Accept zero as the second operand to
9222 the equality operator. Use the new mips_output_conditional_branch
9223 interface.
9224 (*branch_equality<mode>_inverted): Likewise.
9225 (condjump): New expander.
9226 * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison
9227 operator.
9228 * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise.
9229 (bc1any2t, bc1any2f): Likewise.
9230 (single_cc): New expander.
9231 (*branch_upper_lower, *branch_upper_lower_inverted): New patterns.
9232
cbbb5b6d
RS
92332006-03-09 Richard Sandiford <richard@codesourcery.com>
9234
9235 * doc/md.texi: Update documentation of MIPS constraints.
9236 * config/mips/constraints.md: New file.
9237 * config/mips/mips.md: Include it.
9238 * config/mips/mips.c (mips_char_to_class): Delete.
9239 (override_options): Don't initialize mips_char_to_class.
9240 * config/mips/mips.h (mips_char_to_class): Delete.
9241 (REG_CLASS_FROM_LETTER): Delete.
9242 (CONST_OK_FOR_LETTER_P): Delete.
9243 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
9244 (EXTRA_CONSTRAINT_Y): Delete.
9245 (EXTRA_CONSTRAINT_STR): Delete.
9246 (CONSTRAINT_LEN): Delete.
9247 (EXTRA_MEMORY_CONSTRAINT): Delete.
9248
1799e5d5
RH
92492006-03-09 Diego Novillo <dnovillo@redhat.com>
9250
9251 * tree-cfg.c (move_block_to_fn): Remove the statements from the
9252 original fn's eh regions.
9253
f8fe0545
EB
92542006-03-09 Eric Botcazou <ebotcazou@adacore.com>
9255
9256 * fold-const.c (build_range_check): Make sure to use a valid type to
9257 apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)"
9258 transformation.
9259
9260 (range_predecessor): New static function.
9261 (range_successor): Likewise.
9262 (merge_ranges): Use them to compute predecessors and successors of
9263 range bounds.
9264
d56ee62b
RS
92652006-03-09 Roger Sayle <roger@eyesopen.com>
9266
9267 PR middle-end/26561
9268 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as
9269 X op C3, consider whether C3 overflows towards +Inf or -Inf.
9270
07127a0a
DD
92712006-03-08 DJ Delorie <dj@redhat.com>
9272
9273 * config/m32c/addsub.md (addqi3): Disparage a0/a1.
9274 (addpsi3): Expand to include memory operands. Remove
9275 reload-specific splits.
9276 * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New.
9277 (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New.
9278 (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New.
9279 (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders.
9280 (shift1_qi, shift1_hi, insv): New.
9281 * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove.
9282 (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed,
9283 cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc,
9284 cond_to_int): New.
9285 * config/m32c/m32c-protos.h: Update as needed.
9286 * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't
9287 default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1.
9288 Fail for unrecognized R* constraints.
9289 (m32c_cannot_change_mode_class): Be more picky about pseudos.
9290 (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00.
9291 (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)).
9292 Add Sp constraint.
9293 (m32c_init_libfuncs): New.
9294 (m32c_legitimate_address_p): Add debug wrapper.
9295 (m32c_rtx_costs): New.
9296 (m32c_address_cost): New.
9297 (conversions): Add 'B' prefix.
9298 (m32c_print_operand): 'h' and 'H' pick lower and upper halves of
9299 operands, or word regnames for QI operands. 'B' prints bit
9300 position.
9301 (m32c_expand_setmemhi): New.
9302 (m32c_expand_movmemhi): New.
9303 (m32c_expand_movstr): New.
9304 (m32c_expand_cmpstr): New.
9305 (m32c_prepare_shift): Shift counts are limited to 16 bits at a time.
9306 (m32c_expand_neg_mulpsi3): Handle non-ints.
9307 (m32c_cmp_flg_0): New.
9308 (m32c_expand_movcc): New.
9309 (m32c_expand_insv): New.
9310 (m32c_scc_pattern): New.
9311 * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take
9312 a0/a1 out of SIregs.
9313 (STORE_FLAG_VALUE): New.
9314 * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and
9315 code macros.
9316 (no_insn): New.
9317 * config/m32c/mov.md: Make constraints more liberal.
9318 (zero_extendqihi2): Optimize r0/r1 case.
9319 * config/m32c/muldiv.md (mulpsi3): Check for intvals.
9320 * config/m32c/predicates.md (m32c_any_operand): New.
9321 (m32c_nonimmediate_operand): New.
9322 (m32c_hl_operand): New.
9323 (m32c_r3_operand): New.
9324 (ap_operand): New.
9325 (ma_operand): New.
9326 (memsym_operand): New.
9327 (memimmed_operand): New.
9328 (a_qi_operand): New.
9329 (m32c_eqne_operator): New.
9330 (m32c_1bit8_operand): New.
9331 (m32c_1bit16_operand): New.
9332 (m32c_1mask8_operand): New.
9333 (m32c_1mask16_operand): New.
9334 * config/m32c/blkmov.md: New file.
9335 * config/m32c/t-m32c (MD_FILES): Add blkmov.
9336
6677e189
AT
93372006-03-08 Andreas Tobler <a.tobler@schweiz.ch>
9338
8f4fc766
AT
9339 * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum
9340 unsigned to fix signed/unsigned comparison issue in
9341 DWARF2_FRAME_REG_OUT.
9342 (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/
9343 unsigned comparison issue in DWARF2_FRAME_REG_OUT.
9344
6677e189
AT
9345 * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration
9346 of ptr into the ENABLE_CHECKING section.
9347
60c9ad46
JL
93482006-03-08 Jeff Law <law@redhat.com>
9349
9350 * tree-vrp.c (infer_value_range): Only count pointer uses
9351 and dereferences if -fdelete-null-pointer-checks is enabled.
9352
9353 * tree-vrp.c (find_assert_locations): Infer value ranges for
9354 single use pointers, but do not create ASSERT_EXPRs for them.
9355 When a non-null range is inferred for a pointer, backwards
9356 propagate that range to other equivalent pointers through the
9357 use-def chain.
9358
dedfa466
PB
93592006-03-08 Paolo Bonzini <bonzini@gnu.org>
9360
9361 PR bootstrap/26500
9362 * Makefile.in (dvi, html, install-info): Invoke the corresponding
9363 language hook targets.
9364 * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in,
9365 objcp/Make-lang.in: Create stub rules for dvi, html, install-info
9366 if language hook targets were missing.
9367
ac574e1b
ZD
93682006-03-07 Zdenek Dvorak <dvorakz@suse.cz>
9369
9370 * tree-ssa-opfinalize.h: Removed.
9371 * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h
9372 dependency.
9373 * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h.
9374 (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST,
9375 INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op,
9376 add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops,
9377 finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
9378 finalize_ssa_v_must_def_ops): New.
9379
50d5ff7d
KZ
93802006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com>
9381
9382 * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong
9383 block as parameter.
9384
fb638355
GK
93852006-03-07 Geoffrey Keating <geoffk@apple.com>
9386
cd554454
GK
9387 * varasm.c (assemble_end_function): Say that 'fnname' is unused.
9388
dbde310d
GK
9389 * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin
9390 addresses with offsets; reorganize.
9391
fb638355
GK
9392 * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file.
9393 (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT.
9394 (expand_builtin_init_dwarf_reg_sizes): Likewise.
9395
0f047685
DB
93962006-03-08 David Billinghurst <David.Billinghurst@riotinto.com>
9397
9398 PR target/26588
9399 * config/i386/cygwin.h (GOMP_SELF_SPECS): Define.
9400
c18f0c26
BE
94012006-03-08 Ben Elliston <bje@au.ibm.com>
9402
9403 * config/fp-bit.h (CMPtype): Typedef to a word mode integer.
9404
48fa3029
AH
94052006-03-07 Aldy Hernandez <aldyh@redhat.com>
9406
9407 PR gomp/26238
9408 * doc/passes.texi (Tree-SSA passes): Document omp lowering and
9409 expansion.
9410
6f1be8e1
RG
94112006-03-07 Richard Guenther <rguenther@suse.de>
9412
9413 PR tree-optimization/26587
9414 * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR.
9415
6410fb81
RS
94162006-03-07 Richard Sandiford <richard@codesourcery.com>
9417
9418 * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION.
9419
1d3dbd99
RS
94202006-03-07 Richard Sandiford <richard@codesourcery.com>
9421
9422 * hooks.c (hook_bool_mode_rtx_true): New function.
9423 * hooks.h (hook_bool_mode_rtx_true): Declare.
9424 * toplev.c (compile_file): Call output_shared_constant_pool.
9425 * varasm.c (shared_constant_pool): New variable.
9426 (assemble_start_function, assemble_end_function): Remove arguments
9427 from call to output_constant_pool.
9428 (create_constant_pool): New function, split out from...
9429 (init_varasm_status): ...here.
9430 (force_const_mem): Choose between the shared and per-function constant
9431 pools. Set current_function_uses_const_pool when reusing old entries
9432 as well as when creating new ones.
9433 (mark_constant): Ignore data argument.
9434 (mark_constants): Remove pool argument.
9435 (mark_constant_pool): Likewise. Use current_function_uses_const_pool
9436 to decide whether the function uses a constant pool.
9437 (output_constant_pool_contents): New function, split out from...
9438 (output_constant_pool): ...here.
9439 (output_shared_constant_pool): New function.
9440 (init_varasm_once): Initialize shared_constant_pool.
9441 * output.h (output_constant_pool): Delete.
9442 (output_shared_constant_pool): Declare.
9443 * config/s390/s390-protos.h (s390_output_constant_pool): Delete.
9444 * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override.
9445
7d14f0fc
NC
94462006-03-06 Nick Clifton <nickc@redhat.com>
9447
9448 * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to
9449 flag_strength_reduce.
9450
d9b9633d
BE
94512006-03-06 Ben Elliston <bje@au.ibm.com>
9452
45b9a4e8
BE
9453 * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and
9454 x86_64-*-linux* configurations.
9455
d9b9633d 9456 * config/dfp-bit.h (CMPtype): Typedef to a word mode integer.
c92f986f 9457 (LIBGCC2_WORDS_BIG_ENDIAN): Define.
d9b9633d 9458
acfc4f0a
KH
94592006-03-05 Kazu Hirata <kazu@codesourcery.com>
9460
9461 * tree-ssa-threadupdate.c (rediscover_loops_after_threading):
9462 Remove.
9463 * basic-block.h: Remove the extern for
9464 rediscover_loops_after_threading.
9465
b00bf166
KH
9466 * cfgloop.c (cancel_loop): Make it static.
9467 * cfgloop.h: Remove the prototype for cancel_loop.
9468
a678e384
KH
9469 * flow.c (recompute_reg_usage): Make it static.
9470 * rtl.h: Remove the prototype for recompute_reg_usage.
9471
0bf8477d
KH
9472 * function.c (use_return_register): Make it static.
9473 * function.h: Remove the prototype.
9474
d42ee77a
KH
94752006-03-05 Kazu Hirata <kazu@codesourcery.com>
9476
9477 * recog.c (volatile_mem_p, validate_change_maybe_volatile):
9478 Remove.
9479 * recog.h: Remove the prototype for
9480 validate_change_maybe_volatile.
9481
dc782dcd
KH
94822006-03-05 Kazu Hirata <kazu@codesourcery.com>
9483
9484 * rtlanal.c (replace_reg): Remove.
9485 * rtl.h: Remove the prototype for replace_reg.
9486
3c491cab
KH
94872006-03-05 Kazu Hirata <kazu@codesourcery.com>
9488
9489 * regclass.c (reg_scan_update): Remove.
9490 (reg_scan_mark_refs): Remove the last argument.
9491 * rtl.h: Remove the prototype for reg_scan_update.
9492
c0220ea4
KH
94932006-03-04 Kazu Hirata <kazu@codesourcery.com>
9494
9495 * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c,
9496 combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c,
9497 config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c,
9498 config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c,
9499 df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c,
9500 loop-invariant.c, omp-low.c, opts.c, passes.c,
9501 rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c,
9502 tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c,
9503 tree-ssa-structalias.c, tree-ssa-threadedge.c,
9504 tree-ssa-threadupdate.c, tree-vect-patterns.c,
9505 tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c,
9506 unwind-dw2.c: Fix comment typos. Follow spelling conventions.
9507
ae3b9f19
KH
95082006-03-04 Kazu Hirata <kazu@codesourcery.com>
9509
9510 * dwarf2out.c (dwarf2out_add_library_unit_info): Remove.
9511 * dwarf2out.h: Remove the prototype for
9512 dwarf2out_add_library_unit_info.
9513
a82db052
KH
95142006-03-04 Kazu Hirata <kazu@codesourcery.com>
9515
9516 * tree.c (add_var_to_bind_expr): Remove.
9517 * tree.h: Remove the prototype for add_var_to_bind_expr.
9518
3c6c67f8
KH
95192006-03-04 Kazu Hirata <kazu@codesourcery.com>
9520
9521 * regclass.c (n_non_fixed_regs): Remove.
9522 (init_reg_sets_1, globalize_reg): Remove all uses of
9523 n_non_fixed_regs.
9524 * hard-reg-set.h: Remove the extern for n_non_fixed_regs.
9525
22ec0cc8
KH
95262006-03-04 Kazu Hirata <kazu@codesourcery.com>
9527
9528 * rtlanal.c (insns_safe_to_move_p): Remove.
9529 * rtl.h: Remove the prototype for insns_safe_to_move_p.
9530
2f8dc5bb
KH
95312006-03-04 Kazu Hirata <kazu@codesourcery.com>
9532
9533 * expmed.c (expand_mult_add): Remove.
9534 * expr.h: Remove the prototype for expand_mult_add.
9535
4469af7a
JJ
95362006-03-04 Jakub Jelinek <jakub@redhat.com>
9537
9538 * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET
9539 and REG_SAVED_VAL_EXP constants.
9540 * unwind-dw2.c (struct _Unwind_Context): Add by_value array.
9541 (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
9542 Handle regs stored by value.
9543 (_Unwind_SetGRValue, _Unwind_GRByValue): New functions.
9544 (execute_cfa_program): Handle DW_CFA_val_offset,
9545 DW_CFA_val_offset_sf and DW_CFA_val_expression.
9546 (uw_update_context_1): Handle REG_SAVED_REG with regs stored by
9547 value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP.
9548 (uw_install_context_1): Handle target regs stored by value.
9549
efdb3de9
DB
95502006-03-03 Daniel Berlin <dberlin@dberlin.org>
9551
9552 * tree-sra.c (tree_sra): Return todoflags;
9553 (generate_one_element): Set TODO_update_smt_usage if needed.
9554 (pass_sra): Remove TODO_update_smt_usage.
9555 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some
9556 parameter.
9557 (tree_ssa_forward_propagate_single_use_vars): Return
9558 TODO_update_smt_usage if we need to update SMT usage.
9559 (pass_forwprop): Remove TODO_update_smt_usage.
4b1c1f6f 9560
65ad7c63
DN
95612006-03-03 Diego Novillo <dnovillo@redhat.com>
9562
9563 * tree-ssa-operands.c: Tidy whitespace. Fix spelling.
9564 (correct_use_link): Remove reference to get_stmt_operands.
9565 (update_stmt_operands): Likewise.
9566 (get_modify_expr_operands): New function factored out of
9567 parse_ssa_operands and get_expr_operands.
9568 Try to create V_MUST_DEFs for LHS by default.
9569 (get_expr_operands) <case MODIFY_EXPR>: Call
9570 get_modify_expr_operands.
9571 <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF.
9572 <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS.
9573 (parse_ssa_operands) <case MODIFY_EXPR>: Call
9574 get_modify_expr_operands.
9575
417e90ca
KH
95762006-03-03 Kazu Hirata <kazu@codesourcery.com>
9577
9578 * tree-dfa.c (referenced_var_lookup_if_exists): Remove.
9579 * tree-flow.h: Remove the prototype for
9580 referenced_var_lookup_if_exists.
9581
f6d65153
SE
95822006-03-03 Steve Ellcey <sje@cup.hp.com>
9583
9584 PR rtl-optimization/26345
9585 PR target/19061
9586 * config/ia64/predicates.md (basereg_operand): Don't look in subregs.
9587
9a75ede0
RS
95882006-03-03 Roger Sayle <roger@eyesopen.com>
9589
9590 PR tree-optimization/26524
9591 * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use
9592 fold_convert to create a constant of the appropriate type.
9593
3fa9c136
RS
95942006-03-03 Richard Sandiford <richard@codesourcery.com>
9595
9596 * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
9597 SYMBOL_REF_IN_BLOCK_P.
9598 * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead
9599 of SYMBOL_FLAG_IN_BLOCK.
9600 * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P
9601 instead of SYMBOL_REF_IN_BLOCK_P.
9602 * explow.c (use_anchored_address): Likewise.
9603 * rtl.c (rtx_size): Likewise.
9604 * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO
9605 instead of SYMBOL_FLAG_IN_BLOCK.
9606 (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
9607 SYMBOL_REF_IN_BLOCK_P.
9608 (assemble_variable): Likewise.
9609 (output_constant_def_contents): Likewise.
9610 (output_constant_pool): Likewise.
9611 (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO
9612 instead of SYMBOL_FLAG_IN_BLOCK.
9613 * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
9614 SYMBOL_REF_IN_BLOCK_P.
9615 (SYMBOL_REF_BLOCK): Likewise.
9616 (SYMBOL_REF_OFFSET): Likewise.
9617 (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
9618 SYMBOL_REF_IN_BLOCK_P.
9619 (SYMBOL_FLAG_IN_BLOCK): Replace with...
9620 (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this.
9621 (SYMBOL_REF_IN_BLOCK_P): Replace with...
9622 (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this.
9623
f677599e
JJ
96242006-03-03 Jakub Jelinek <jakub@redhat.com>
9625
9626 * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto.
9627
0f2f71b5
RS
96282006-03-02 Roger Sayle <roger@eyesopen.com>
9629
9630 * simplify-rtx.c (simplify_unary_operation): When simplifying
9631 (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure
9632 that we perform the right shift in the appropriate mode, and
9633 then extend or truncate the result to requested mode.
9634
f82783bd
ZD
96352006-03-03 Zdenek Dvorak <dvorakz@suse.cz>
9636
9637 * gengtype.c (main): Handle double_int type.
9638 * tree.h (struct tree_int_cst): Make type of int_cst double_int.
9639 * double-int.c: New file.
9640 * double-int.h: New file.
9641 * system.h: Include doubleint.h.
9642 * Makefile.in (SYSTEM_H): Include double-int.h.
9643 (double-int.o): Add.
9644
778f0e89
JM
96452006-03-03 Joseph S. Myers <joseph@codesourcery.com>
9646
9647 PR bootstrap/26478
9648 * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before
9649 copying over it.
9650
701b8964
ZD
96512006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
9652
0f2f71b5
RS
9653 * tree-vrp.c (remove_range_assertions): Do not update statements
9654 unnecessarily.
701b8964 9655
59994160
ZD
96562006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
9657
9658 * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg
9659 cleanup.
9660 * gcse.c (rest_of_handle_gcse): Ditto.
9661 * except.c (gate_handle_eh): Ditto.
9662 * cfgcleanup.c (rest_of_handle_jump2): Ditto.
9663 * basic-block.h (CLEANUP_PRE_LOOP): Remove.
9664
5143b5fc
EC
96652006-03-02 Eric Christopher <echristo@apple.com>
9666
9667 * config/i386/i386.c (machopic_output_stub): Add indirection to
9668 jump.
9669
c6ba18c6
ZD
96702006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
9671
9672 * loop.c: Removed.
9673
4c837a1e
DM
96742006-03-02 David S. Miller <davem@sunset.davemloft.net>
9675
9676 Sun Niagara specific optimizations.
9677 * config.gcc: Recognize niagara as target.
9678 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara.
9679 (TARGET_CPU_niagara): Define.
9680 (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara.
9681 (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara.
9682 (CPP_CPU_SPEC): Handle -mcpu=niagara.
9683 (ASM_CPU_SPEC): Likewise.
9684 (PROCESSOR_NIAGARA): New enum entry.
9685 (REGISTER_MOVE_COST): Handle Niagara.
9686 (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise.
9687 * config/sparc/sparc.c (niagara_costs): New processor_costs entry.
9688 (sparc_override_options): Recognize "niagara", set appropriate
9689 default MASK_* values for it, and align functions to 32-bytes
9690 by default just like ULTRASPARC/ULTRASPARC3.
9691 (sparc_initialize_trampoline): Handle niagara like ultrasparc.
9692 (sparc64_initialize_trampoline): Likewise.
9693 (sparc_use_sched_lookahead): Use zero for niagara.
9694 (sparc_issue_rate): Use one for niagara.
9695 * config/sparc/niagara.md: New file.
9696 * config/sparc/sparc.md: Include it.
9697 * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC,
9698 ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately
9699 when default cpu is niagara.
9700 (CPP_CPU_SPEC): Handle -mcpu=niagara.
9701 (ASM_CPU_SPEC): Likewise.
9702 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately
9703 when default cpu is niagara.
9704 (ASM_CPU_SPEC): Handle -mcpu=niagara.
9705 * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara
9706 just like v9/ultrasparc/ultrasparc3.
9707 * doc/invoke.texi: Add documentation for "niagara" and improve
9708 existing documentation for ultrasparc variants.
5143b5fc 9709
2434ab1d
DN
97102006-03-02 Diego Novillo <dnovillo@redhat.com>
9711
9712 * tree-ssa-operands.c (update_stmt_operands): Update documentation.
9713
434aeebb
RS
97142006-03-02 Richard Sandiford <richard@codesourcery.com>
9715
9716 * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document.
9717 (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS,
9718 and say that only one is needed.
9719 * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null.
9720 * target.h (have_switchable_bss_sections): New hook.
9721 * explow.c (use_anchored_address): Check that the symbol is in a block.
9722 * varasm.c (tls_comm_section, comm_section, lcomm_section)
9723 (bss_noswitch_section): New variables.
9724 (get_unnamed_section): Add SECTION_UNNAMED to the flags.
9725 (get_noswitch_section): New function.
9726 (get_block_for_section): Allow SECT to be null.
9727 (unlikely_text_section_p): Use SECTION_STYLE.
9728 (bss_initializer_p): New function.
9729 (get_variable_section): Move earlier in file. Take a new argument,
9730 prefer_noswitch_p. Move bss checks from assemble_variable to here.
9731 Return one of the new *_sections in such cases.
9732 (get_block_for_decl): New function, extracting some logic from
9733 use_blocks_for_decl_p.
9734 (change_symbol_section): Remove in favor of...
9735 (change_symbol_block): ...this new function.
9736 (use_blocks_for_decl_p): Remove checks now performed by
9737 get_block_for_decl.
9738 (make_decl_rtl): Use change_symbol_block and get_block_for_decl.
9739 (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of...
9740 (emit_local, emit_bss, emit_common): ...these new functions.
9741 Return true if the alignment was honored.
9742 (emit_tls_common): New function.
9743 (asm_emit_uninitialised): Delete.
9744 (assemble_variable_noswitch): New function, split out from...
9745 (assemble_variable): ...here. Don't make decisions about common
9746 variables here. Globalize all public decls that go into non-common
9747 sections. Check whether SYMBOL_REF_BLOCK is null.
9748 (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null.
9749 (output_constant_pool): Likewise.
9750 (init_varasm_once): Initialize the new section variables.
9751 (have_global_bss_p): New function.
9752 (categorize_decl_for_section): Use bss_initializer_p.
9753 (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH.
9754 (place_block_symbol): Assert that the symbol must be in a block.
9755 * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro.
9756 (TARGET_INITIALIZER): Include it.
9757 * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative.
9758 * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros.
9759 (SECTION_MACH_DEP): Bump by two.
9760 (SECTION_UNNAMED, SECTION_NOSWITCH): New macros.
9761 (unnamed_section): Mention SECTION_UNNAMED in comment.
9762 (named_section): Likewise SECTION_NAMED.
9763 (noswitch_section_callback): New type.
9764 (noswitch_section): New structure.
9765 (section): Add a noswitch_section alternative.
9766 (SECTION_STYLE): New macro.
9767 (tls_comm_section, comm_section, lcomm_section): Declare.
9768 (bss_noswitch_section, have_global_bss_p): Declare.
9769 * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
9770 * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
9771 Override.
9772 * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
9773 * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
9774 Override.
9775
c2924966
DB
97762006-03-02 Daniel Berlin <dberlin@dberlin.org>
9777
a1d1988f
MS
9778 * tree-vrp.c (execute_vrp): Return value.
9779 * regrename.c (rest_of_handle_regrename): Ditto.
9780 * tree-into-ssa.c (rewrite_into_ssa): Ditto.
9781 * tree-complex.c (tree_lower_complex): Ditto.
c2924966 9782 (tree_lower_complex_O0): Ditto.
a1d1988f
MS
9783 * tracer.c (rest_of_handle_tracer): Ditto.
9784 * postreload-gcse.c (rest_of_handle_gcse2): Ditto.
9785 * postreload.c (rest_of_handle_postreload): Ditto.
9786 * tree-tailcall.c (execute_tail_recursion): Ditto.
c2924966 9787 (execute_tail_calls): Ditto.
a1d1988f
MS
9788 * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
9789 * tree.h (init_function_for_compilation): Ditto.
9790 * ipa-cp.c (ipcp_driver): Ditto.
9791 * tree-scalar-evolution.c (scev_const_prop): Ditto.
9792 * tree-scalar-evolution.h (scev_const_prop): Ditto.
9793 * final.c (compute_alignments): Ditto.
c2924966
DB
9794 (rest_of_handle_final): Ditto.
9795 (rest_of_handle_shorten_branches): Ditto.
9796 (rest_of_clean_state): Ditto.
a1d1988f 9797 * omp-low.c (execute_expand_omp): Ditto.
c2924966 9798 (execute_lower_omp): Ditto.
a1d1988f
MS
9799 * tree-ssa-dse.c (tree_ssa_dse): Ditto.
9800 * ipa-reference.c (static_execute): Ditto.
9801 * tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
9802 * reorg.c (rest_of_handle_delay_slots): Ditto.
c2924966 9803 (rest_of_handle_machine_reorg): Ditto.
a1d1988f
MS
9804 * cgraphunit.c (rebuild_cgraph_edges): Ditto.
9805 * flow.c (recompute_reg_usage): Ditto.
c2924966
DB
9806 (rest_of_handle_remove_death_notes): Ditto.
9807 (rest_of_handle_life): Ditto.
9808 (rest_of_handle_flow2): Ditto.
a1d1988f
MS
9809 * tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
9810 * tree-ssa-ccp.c (do_ssa_ccp): Ditto.
c2924966
DB
9811 (do_ssa_store_ccp): Ditto.
9812 (execute_fold_all_builtins): Ditto.
a1d1988f
MS
9813 * mode-switching.c (rest_of_handle_mode_switching): Ditto.
9814 * modulo-sched.c (rest_of_handle_sms): Ditto.
9815 * ipa-pure-const.c (static_execute): Ditto.
9816 * cse.c (rest_of_handle_cse): Ditto.
c2924966 9817 (rest_of_handle_cse2): Ditto.
a1d1988f
MS
9818 * web.c (rest_of_handle_web): Ditto.
9819 * tree-stdarg.c (execute_optimize_stdarg): Ditto.
9820 * tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
9821 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
9822 * tree-nrv.c (tree_nrv): Ditto.
c2924966 9823 (execute_return_slot_opt): Ditto.
a1d1988f 9824 * tree-ssa-alias.c (compute_may_aliases): Ditto.
c2924966 9825 (create_structure_vars): Ditto.
a1d1988f 9826 * loop-init.c (rtl_loop_init): Ditto.
c2924966
DB
9827 (rtl_loop_done): Ditto.
9828 (rtl_move_loop_invariants): Ditto.
9829 (rtl_unswitch): Ditto.
9830 (rtl_unroll_and_peel_loops): Ditto.
9831 (rtl_doloop): Ditto.
a1d1988f 9832 * gimple-low.c (lower_function_body): Ditto.
c2924966 9833 (mark_used_blocks): Ditto.
a1d1988f
MS
9834 * tree-ssa-sink.c (execute_sink_code): Ditto.
9835 * ipa-inline.c (cgraph_decide_inlining): Ditto.
c2924966 9836 (cgraph_early_inlining): Ditto.
a1d1988f
MS
9837 * global.c (rest_of_handle_global_alloc): Ditto.
9838 * jump.c (cleanup_barriers): Ditto.
c2924966 9839 (purge_line_number_notes): Ditto.
a1d1988f 9840 * ifcvt.c (rest_of_handle_if_conversion): Ditto.
c2924966 9841 (rest_of_handle_if_after_reload): Ditto.
a1d1988f 9842 * tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
c2924966
DB
9843 (tree_ssa_loop_im): Ditto.
9844 (tree_ssa_loop_unswitch): Ditto.
9845 (tree_vectorize): Ditto.
9846 (tree_linear_transform): Ditto.
9847 (tree_ssa_loop_ivcanon): Ditto.
9848 (tree_ssa_empty_loop): Ditto.
9849 (tree_ssa_loop_bounds): Ditto.
9850 (tree_complete_unroll): Ditto.
9851 (tree_ssa_loop_prefetch): Ditto.
9852 (tree_ssa_loop_ivopts): Ditto.
9853 (tree_ssa_loop_done): Ditto.
a1d1988f
MS
9854 * predict.c (tree_estimate_probability): Ditto.
9855 * recog.c (split_all_insns_noflow): Ditto.
c2924966
DB
9856 (rest_of_handle_peephole2): Ditto.
9857 (rest_of_handle_split_all_insns): Ditto.
a1d1988f
MS
9858 * tree-eh.c (lower_eh_constructs): Ditto.
9859 * regmove.c (rest_of_handle_regmove): Ditto.
c2924966 9860 (rest_of_handle_stack_adjustments): Ditto.
a1d1988f
MS
9861 * local-alloc.c (rest_of_handle_local_alloc): Ditto.
9862 * function.c (instantiate_virtual_regs): Ditto.
c2924966
DB
9863 (init_function_for_compilation): Ditto.
9864 (rest_of_handle_check_leaf_regs): Ditto.
a1d1988f 9865 * gcse.c (rest_of_handle_jump_bypass): Ditto.
c2924966 9866 (rest_of_handle_gcse): Ditto.
a1d1988f
MS
9867 * ipa-type-escape.c (type_escape_execute): Ditto.
9868 * alias.c (rest_of_handle_cfg): Ditto.
9869 * tree-if-conv.c (main_tree_if_conversion): Ditto.
9870 * profile.c (rest_of_handle_branch_prob): Ditto.
9871 * tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
9872 * rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
9873 * bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
9874 * tree-dfa.c (find_referenced_vars): Ditto.
9875 * except.c (set_nothrow_function_flags): Ditto.
c2924966
DB
9876 (convert_to_eh_region_ranges): Ditto.
9877 (rest_of_handle_eh): Ditto.
a1d1988f 9878 * emit-rtl.c (unshare_all_rtl): Ditto.
c2924966 9879 (remove_unnecessary_notes): Ditto.
a1d1988f 9880 * except.h (set_nothrow_function_flags): Ditto.
c2924966 9881 (convert_to_eh_region_ranges): Ditto.
a1d1988f
MS
9882 * cfgexpand.c (tree_expand_cfg): Ditto.
9883 * tree-cfgcleanup.c (merge_phi_nodes): Ditto.
9884 * tree-ssa-pre.c (do_pre): Ditto.
c2924966 9885 (execute_fre): Ditto.
a1d1988f 9886 * cfgcleanup.c (rest_of_handle_jump): Ditto.
c2924966 9887 (rest_of_handle_jump2): Ditto.
a1d1988f
MS
9888 * tree-sra.c (tree_sra): Ditto.
9889 * tree-mudflap.c (execute_mudflap_function_ops): Ditto.
c2924966 9890 (execute_mudflap_function_decls): Ditto.
a1d1988f 9891 * tree-ssa-copy.c (do_copy_prop): Ditto.
c2924966 9892 (do_store_copy_prop): Ditto.
a1d1988f
MS
9893 * ipa-prop.h (ipcp_driver): Ditto.
9894 * cfglayout.c (insn_locators_initialize): Ditto.
9895 * tree-ssa-forwprop.c
c2924966 9896 (tree_ssa_forward_propagate_single_use_vars): Ditto.
a1d1988f
MS
9897 * cfglayout.h (insn_locators_initialize): Ditto.
9898 * tree-ssa-dce.c (tree_ssa_dce): Ditto.
9899 * tree-ssa.c (execute_early_warn_uninitialized): Ditto.
c2924966 9900 (execute_late_warn_uninitialized): Ditto.
a1d1988f 9901 * rtl.h (cleanup_barriers): Ditto.
c2924966
DB
9902 (split_all_insns_noflow): Ditto.
9903 (purge_line_number_notes): Ditto.
9904 (unshare_all_rtl): Ditto.
9905 (remove_unnecessary_notes): Ditto.
9906 (recompute_reg_usage): Ditto.
9907 (variable_tracking_main): Ditto.
a1d1988f
MS
9908 * integrate.c (emit_initial_value_sets): Ditto.
9909 * integrate.h (emit_initial_value_sets): Ditto.
9910 * tree-optimize.c (execute_free_datastructures): Ditto
c2924966
DB
9911 (execute_free_cfg_annotations): Ditto.
9912 (execute_fixup_cfg): Ditto.
9913 (execute_cleanup_cfg_pre_ipa): Ditto.
9914 (execute_cleanup_cfg_post_optimizing): Ditto.
9915 (execute_init_datastructures): Ditto.
a1d1988f
MS
9916 * tree-object-size.c (compute_object_sizes): Ditto.
9917 * combine.c (rest_of_handle_combine): Ditto.
9918 * tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
9919 * bb-reorder.c (duplicate_computed_gotos): Ditto.
c2924966
DB
9920 (rest_of_handle_reorder_blocks): Ditto.
9921 (rest_of_handle_partition_blocks): Ditto.
a1d1988f
MS
9922 * var-tracking.c (variable_tracking_main): Ditto.
9923 * tree-profile.c (tree_profiling): Ditto.
9924 * tree-vect-generic.c (expand_vector_operations): Ditto.
9925 * reg-stack.c (rest_of_handle_stack_regs): Ditto.
9926 * sched-rgn.c (rest_of_handle_sched): Ditto.
c2924966 9927 (rest_of_handle_sched2): Ditto.
a1d1988f
MS
9928 * basic-block.h (free_bb_insn): Ditto.
9929 * tree-ssa-structalias.c (ipa_pta_execute): Ditto.
9930 * tree-cfg.c (execute_build_cfg): Ditto.
c2924966
DB
9931 (remove_useless_stmts): Ditto.
9932 (split_critical_edges): Ditto.
9933 (execute_warn_function_return): Ditto.
9934 (execute_warn_function_noreturn): Ditto.
a1d1988f
MS
9935 * tree-ssa-reassoc.c (execute_reassoc): Ditto.
9936 * cfgrtl.c (free_bb_for_insn): Ditto.
9937 * passes.c (execute_one_pass): Run additional
c2924966 9938 todos returned by execute function.
a1d1988f 9939 * tree-pass.h (struct tree_opt_pass): Make execute
c2924966
DB
9940 return a value.
9941
62c577fd
RG
99422006-03-02 Richard Guenther <rguenther@suse.de>
9943
9944 * tree-ssa-alias.c (find_used_portions): Consider taking
9945 the address as making the variable not write-only.
9946
c5dde55b
NC
99472006-03-02 Nick Clifton <nickc@redhat.com>
9948
9949 * config.gcc (default_use_cxa_atexit): Extend the description of
9950 this configure variable. Set its default value to "yes" for
9951 Linux, NetBSD and ELF targets on the assumption that they will
9952 use C libraries with the __cxa_atexit function.
9953
75334508
BE
99542006-03-02 Ben Elliston <bje@au.ibm.com>
9955
9956 * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs'
9957 parameter as unused to suppress a build warning.
9958
16c44183
BE
99592006-03-02 Ben Elliston <bje@au.ibm.com>
9960
9961 * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile
9962 config/dfp-bit.c.
9963
a11dd268
RS
99642006-03-01 Roger Sayle <roger@eyesopen.com>
9965
9966 PR other/26489
9967 * gthr-posix.h (__gthrw2): Define to take three parameters, the
9968 declared name, the weak reference name, and the typeof name.
9969 (__gthrw): Avoid expanding the declared name suffix.
9970 (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls.
9971
d213accd
JJ
99722006-03-01 Jakub Jelinek <jakub@redhat.com>
9973
9974 * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants
9975 from DWARF 3.
9976 (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale,
9977 DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count,
9978 DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled,
9979 DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity,
9980 DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New.
9981 (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New.
9982 (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited,
9983 DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New.
9984 (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch,
9985 DW_DS_leading_separate, DW_DS_trailing_separate): New.
9986 (DW_END_default, DW_END_big, DW_END_little): New.
9987 (DW_END_lo_user, DW_END_hi_user): Define.
9988 (DW_LNE_lo_user, DW_LNE_hi_user): Define.
9989 (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New.
9990 (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC,
9991 DW_LANG_D): New.
9992
18cd8a03
DN
99932006-03-01 Diego Novillo <dnovillo@redhat.com>
9994
9995 * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG.
9996 Update all users.
9997 * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage.
9998 Update all users.
9999 (TODO_update_smt_usage): Rename from TODO_update_tmt_usage.
10000 Update all users.
10001 * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE.
10002 Update all users.
10003 * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag'
10004 to 'symbol_mem_tag'.
10005 Update all users.
10006 * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT
10007 rename.
10008
8acb1b3d
RS
100092006-03-01 Roger Sayle <roger@eyesopen.com>
10010
10011 * builtins.c (fold_builtin_copysign): Delete unreachable code.
10012
c446d1a7
AP
100132006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
10014
10015 PR target/25761
10016 * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just
10017 MACHO_DYNAMIC_NO_PIC_P.
10018 (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P.
10019
ab0ff804
AP
100202006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
10021
10022 PR target/26389
10023 * config/darwin-protos.h (darwin_asm_output_anchor):
10024 Declare.
10025 * config/darwin-sections.def (cstring_section):
10026 Add SECTION_MERGE to the flags.
10027 (literal4_section): Likewise.
10028 (literal8_section): Likewise.
10029 (objc_selector_refs_section): Likewise.
10030 (objc_cls_refs_section): Likewise.
10031 * config/darwin.c (darwin_asm_output_anchor): New
10032 function.
10033 * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define.
10034
607f460c 100352006-03-01 Daniel Berlin <dberlin@dberlin.org>
18cd8a03 10036
607f460c
DB
10037 Fix PR tree-optimization/26443
10038 * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage
10039 to todo and PROP_tmt_usage to properties_destroyed.
10040 * tree-ssa-ccp.c (pass_ccp): Ditto.
10041 (pass_store_ccp): Ditto.
10042 * tree-ssa-dom.c (pass_dominator): Ditto.
10043
02075bb2
DN
100442006-03-01 Diego Novillo <dnovillo@redhat.com>
10045
10046 * tree-ssa-operands.c: Cleanup whitespace.
10047 (get_asm_expr_operands): Move before first invocation.
10048 (get_indirect_ref_operands): Likewise.
10049 (get_tmr_operands): Likewise.
10050 (get_call_expr_operands): Likewise.
10051 (append_def): Likewise.
10052 (append_use): Likewise.
10053 (append_v_may_def): Likewise.
10054 (append_v_must_def): Likewise.
10055 (add_call_clobber_ops): Likewise.
10056 (add_call_read_ops): Likewise.
10057 (add_stmt_operand): Likewise.
10058 (add_virtual_operand): Likewise.
10059 (build_ssa_operands): Likewise.
10060
100612006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
1809ff6b
AP
10062
10063 PR middle-end/26022
10064 Revert:
10065 PR middle-end/24437
10066 * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF
10067 with a call expr to ...
10068 * fold-const.c (fold_ternary) <case CALL_EXPR>: Here.
10069
6578c101
DN
100702006-03-01 Diego Novillo <dnovillo@redhat.com>
10071
10072 * tree-vrp.c (extract_range_from_assert): Remove special
10073 handling for types with super-types.
10074
0eafb3ec
BE
100752006-03-01 Ben Elliston <bje@au.ibm.com>
10076
ec09c26e
BE
10077 * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux*
10078 and powerpc64-*-linux* configurations.
10079 * config/t-dfprules: New file.
10080
0eafb3ec
BE
10081 * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS.
10082 Compile dfp-bit.c from the source directory using -DWIDTH and
10083 $DFP_CFLAGS to control the compilation of that file, rather than
10084 generating width-specific versions in the build directory.
10085 * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS.
10086 (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc].
10087
cccb0908
ZW
100882006-02-28 Zack Weinberg <zackw@panix.com>
10089
10090 * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7
10091 continues to work.
10092
31abac07
EC
100932006-02-28 Eric Christopher <echristo@apple.com>
10094
10095 * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define.
10096 Set up IN_LIBGCC definition of TARGET_64BIT.
10097 * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define.
10098
c457fcec
RS
100992006-02-28 Roger Sayle <roger@eyesopen.com>
10100
10101 PR middle-end/14752
10102 * c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR,
10103 BIT_XOR_EXPR, BIT_AND_EXPR>: Delete. Let fold optimize these
10104 cases via the construction of "expr != 0".
10105
63292ebf
SB
101062006-02-28 Steven Bosscher <stevenb.gcc@gmail.com>
10107
10108 * alias.c (alias_invariant, alias_invariant_size): Remove.
10109 (record_base_value): Remove.
10110 (memrefs_conflict_p): Don't look at alias_invariant.
10111 (end_alias_analysis): Don't free it.
10112 * alias.h (record_base_value): Remove prototype.
10113
d3b72690
PB
101142006-02-28 Paolo Bonzini <bonzini@gnu.org>
10115 Adam Nemet <anemet@caviumnetworks.com>
10116
10117 * rtl.h (truncated_to_mode): Declare it.
10118 (struct rtl_hooks): Add reg_truncated_to_mode hook.
10119 * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro.
10120 (RTL_HOOKS_INITIALIZER): Include it.
10121 * rtlhooks.c (reg_truncated_to_mode_general): New function.
10122 * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to
10123 reg_truncated_to_mode.
10124 * rtlanal.c (truncated_to_mode): Define it.
10125 * simplify-rtx.c (simplify_unary_operation_1): Use it.
10126
ea45681a
JL
101272006-02-28 Jeff Law <law@redhat.com>
10128
e5c7f9f5
JL
10129 * tree-chrec.c (chrec_convert_aggressive): Do not eliminate
10130 conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover
10131 the range allowed by TYPE_PRECISION.
10132
ea45681a
JL
10133 * tree.h (strct phi_arg_d): Remove unused NONZERO field.
10134
7ffe0f0d
DN
101352006-02-28 Dorit Nuzman <dorit@il.ibm.com>
10136
10137 PR tree-optimization/26419
10138 * doc/invoke.texi (ftree-vectorizer-verbose): Add information on
10139 values of n.
10140
3fa1b0e5
ZW
101412006-02-27 Zack Weinberg <zackw@panix.com>
10142
10143 * doc/md.texi: Fix typo in previous change.
10144
75743f02
KZ
101452006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com>
10146
10147 * df.c: Remove.
10148
f38840db
ZW
101492006-02-27 Zack Weinberg <zackw@panix.com>
10150
10151 * rtl.def (define_constraint, define_register_constraint)
10152 (define_memory_constraint, define_address_constraint): New MD forms.
10153 * gensupport.c (process_rtx): Put define_constraint etc on the
10154 predicate queue.
10155 * genpreds.c (process_define_predicate): Adjust comment. Validate
10156 the name, and call validate_exp to validate the expression.
10157 (mark_mode_tests, write_extract_subexp): Can assume correct input.
10158 (write_predicate_expr): Likewise. NAME argument no longer necessary;
10159 all callers changed.
10160 (validate_exp, needs_variable, struct constraint_data)
10161 (constraints_by_letter_table, first_constraint, last_constraint_ptr)
10162 (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints)
10163 (const_dbl_constraints, constraint_max_namelen)
10164 (have_register_constraints, have_memory_constraints)
10165 (have_address_constraints, have_address_constraints)
10166 (have_extra_constraints, have_const_int_constraints)
10167 (have_const_dbl_constraints, mangle, add_constraint)
10168 (process_define_constraint, process_define_register_constraint)
10169 (write_enum_constraint_num, write_lookup_constraint)
10170 (write_insn_constraint_len, write_regclass_for_constraint)
10171 (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint)
10172 (write_insn_extra_memory_constraint)
10173 (write_insn_extra_address_constraint)
10174 (write_satisfies_constraint_fns): New.
10175 (write_tm_preds_h): If we have new-style constraint definitions,
10176 prototype the functions generated from them, and define the
10177 old constraint interface (still used by generic code) in terms of
10178 those functions.
10179 (write_insn_preds_c): If we have new-style constraint definitions,
10180 generate all relevant functions from those definitions.
10181 (main): Handle define_constraint etc.
10182 * genoutput.c (struct constraint_data, indep_constraints)
10183 (mdep_constraint_letters, constraints_by_letter_table, note_constraint)
10184 (mdep_constraint_len): New data structures and functions, defined
10185 #ifdef USE_MD_CONSTRAINTS.
10186 (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS.
10187 (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined,
10188 use new logic to validate operand constraints against constraint
10189 definitions.
10190 (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is
10191 defined.
10192 * defaults.h: If none of the old-style constraint macros are
10193 defined, define USE_MD_CONSTRAINTS; do not provide defaults for any
10194 old-style macros; and poison REG_CLASS_FROM_LETTER,
10195 CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and
10196 EXTRA_CONSTRAINT.
10197 * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately.
10198 * doc/md.texi: Document new constraint-definition mechanism and the
10199 C interface it provides. Remove references to old mechanism
e753d130 10200 elsewhere in the document.
f38840db
ZW
10201 (Machine Constraints): Use pathnames relative to gcc directory,
10202 i.e. config/ARCH/FILE. Change i386 section to refer to
10203 config/i386/predicates.md; update that section to match docstrings.
10204 * doc/tm.texi: Move all documentation of the old constraint-
10205 definition macros to their own section, clearly mark as obsolete.
10206
10207 * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t)
10208 (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint
10209 definitions.
10210 * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
10211 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
10212 * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from
10213 constraint strings.
10214 (splits and peepholes): Use satisfies_constraint_*.
10215 * config/i386/i386.c (memory_address_length)
10216 (ix86_attr_length_immediate_default): Use satisfies_constraint_*.
10217
e3e868f6
DB
102182006-02-27 Daniel Berlin <dberlin@dberlin.org>
10219
10220 * lambda-code.c (can_convert_to_perfect_nest): Allow any type of
10221 scalar operation to be put back into the loop.
10222
754e45a8
JJ
102232006-02-27 Jakub Jelinek <jakub@redhat.com>
10224
10225 PR other/26208
10226 * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field.
10227 (extract_cie_info): Handle S flag in augmentation string.
10228 (execute_cfa_program): If context->signal_frame, execute also
10229 fs->pc == context->ra instructions.
10230 (uw_frame_state_for): If context->signal_frame, don't subtract one
10231 from context->ra to find FDE.
10232 (uw_update_context_1): Set context->signal_frame to
10233 fs->signal_frame.
10234 (_Unwind_GetIPInfo): New function.
10235 * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field.
10236 * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
10237 of _Unwind_GetIP.
10238 * unwind-sjlj.c (_Unwind_GetIPInfo): New function.
10239 * unwind-generic.h (_Unwind_GetIPInfo): New prototype.
10240 * unwind-compat.c (_Unwind_GetIPInfo): New function.
10241 * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0.
10242 * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function.
10243 * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define.
10244 * config/i386/linux-unwind.h (x86_fallback_frame_state,
10245 x86_64_fallback_frame_state): Set fs->signal_frame.
10246 * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
10247 (MD_FROB_UPDATE_CONTEXT): Define unconditionally.
10248 (frob_update_context): Likewise. Workaround missing S flag in
10249 Linux 2.6.12 - 2.6.16 kernel vDSOs.
10250 * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
10251 Remove the psw_addr + 1 hack.
10252
6df11ca1
DB
102532006-02-27 Daniel Berlin <dberlin@dberlin.org>
10254
10255 * tree-ssa-structalias.c (get_constraint_for): Move code to deal
10256 with aggregates here.
10257 (find_func_aliases): Remove code for &<aggregate> from here.
10258
5881ad5d
RS
102592006-02-26 Roger Sayle <roger@eyesopen.com>
10260
e8366202 10261 * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as
5881ad5d
RS
10262 (X & C) ne/eq 0, where C is a single bit, i.e. a power of two.
10263 Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0"
10264 as (X & C) ne/eq 0.
10265
53f1b560
RS
102662006-02-26 Roger Sayle <roger@eyesopen.com>
10267
10268 PR middle-end/19983
10269 * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes.
10270
efa1cdf0
ZD
102712006-02-26 Zdenek Dvorak <dvorakz@suse.cz>
10272
10273 * opts.c (decode_options): Do not handle flag_strength_reduce.
10274 (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt
10275 and OPT_fstrength_reduce.
10276 * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test
10277 flag_prefetch_loop_arrays for being nonzero.
10278 * common.opt (floop-optimize, frerun-loop-opt): Resurrected as
10279 no-ops.
10280 (fprefetch-loop-arrays-rtl): Removed.
10281 (flag_prefetch_loop_arrays): Do not specify the value.
10282
10283 * doc/passes.texi: Update documentation of loop optimizer
10284 passes.
10285 * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl,
10286 -frerun-loop-opt): Remove.
10287
651402f1
RG
102882006-02-26 Richard Guenther <rguenther@suse.de>
10289
10290 PR tree-optimization/26421
10291 * tree-ssa-alias.c (find_used_portions): Don't treat parameters
10292 in function calls that are ADDR_EXPRs as using the whole structure.
10293
37818e7c
SB
102942006-02-26 Steven Bosscher <stevenb.gcc@gmail.com>
10295
10296 * common.opt (-floop-optimize, -frerun-loop-opt): Remove.
10297 * tree-pass.h (pass_loop_optimize): Remove.
10298 * passes.c (pass_loop_optimize): Never run it.
10299 * toplev.c (backend_init): Don't call init_loop.
10300 * opts.c (flag_loop_optimize_set): Remove.
10301 (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt.
10302 (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable
10303 the old RTL loop optimizer when profiling enabled.
10304 * predict.c (tree_estimate_probability): Always strip builtin_expect.
10305 * cfgcleanup.c (try_forward_edges): Don't avoid killing loop
10306 pre-headers for the sake of the old RTL loop optimizer.
10307 * Makefile.in: Remove all references to loop.o.
10308
10309 * doc/invoke.texi: Remove all references to -floop-optimize
10310 and -frerun-loop-opt.
10311
74fe790b
ZW
103122006-02-26 Zack Weinberg <zackw@panix.com>
10313
10314 * doc/md.texi (Machine Constraints): Refer to all files with paths
10315 relative to gcc directory (i.e. config/CPU/file). Add missing
10316 @table @code ... @end table to M32C subsection.
10317
cef65eaa
RS
103182006-02-26 Roger Sayle <roger@eyesopen.com>
10319
10320 * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as
10321 (X & 1) == 0.
10322 <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0.
10323
a861485c
RS
103242006-02-26 Roger Sayle <roger@eyesopen.com>
10325 James A. Morrison <phython@gcc.gnu.org>
10326
10327 PR middle-end/21137
e8366202 10328 * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0,
a861485c
RS
10329 when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the
10330 new constant C2<<C1, or as (X<0) or (X,false) depending upon the
10331 signedness of the shift operation.
10332
afa38a95
DN
103332006-02-26 Dorit Nuzman <dorit@il.ibm.com>
10334
10335 PR tree-optimization/26359
10336 * tree-ssa-alias.c (new_type_alias): Set fields for new tag.
10337
5484a3c3
RS
103382006-02-25 Roger Sayle <roger@eyesopen.com>
10339
e8366202 10340 * simplify-rtx.c (simplify_relational_operation_1): Simplify
5484a3c3
RS
10341 (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y
10342 as X == 0, and some symmetry related transformations.
10343 Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line.
10344
eb8dffe0
RS
103452006-02-25 Roger Sayle <roger@eyesopen.com>
10346
10347 PR middle-end/23673
e8366202 10348 * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y
eb8dffe0
RS
10349 and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some
10350 symmetry related transformations. Fold (X^C1) == C2 as
10351 X == (C1^C2).
10352
332cf1b3
JW
103532006-02-25 Juergen Weigert <jw@suse.de>
10354 Richard Guenther <rguenther@suse.de>
10355
10356 * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF.
10357
a4876725
AN
103582006-02-24 Adam Nemet <anemet@caviumnetworks.com>
10359
10360 * combine.c (gen_lowpart_or_truncate): Call
10361 simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE.
10362
8d669cbd
DN
103632006-02-24 Diego Novillo <dnovillo@redhat.com>
10364
10365 * doc/invoke.texi: Move -fopenmp description to "Options for
10366 Code Generation".
10367 Remove reference to -lgomp.
10368
f44a5ab6
DE
103692006-02-24 David Edelsohn <edelsohn@gnu.org>
10370
10371 * doc/install.texi: Require GNU tar version 1.14.
10372
c7b5e395
GK
103732006-02-24 Geoffrey Keating <geoffk@apple.com>
10374
10375 * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS.
74fe790b 10376 * doc/invoke.texi (C++ Dialect Options): Document
c7b5e395
GK
10377 -fno-use-cxa-get-exception-ptr.
10378 * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1.
10379 * configure: Regenerate.
10380 * c.opt (fuse-cxa-get-exception-ptr): New.
10381 * c-opts.c (c_common_handle_option): Handle
10382 OPT_fuse_cxa_get_exception_ptr.
10383 * c-common.c (flag_use_cxa_atexit): Update documentation.
10384 (flag_use_cxa_get_exception_ptr): New.
10385 * c-common.h (flag_use_cxa_get_exception_ptr): New.
10386 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve
10387 documentation.
10388 (C_COMMON_OVERRIDE_OPTIONS): New.
10389
676cb929
RS
103902006-02-24 Roger Sayle <roger@eyesopen.com>
10391
10392 PR middle-end/24952
10393 * combine.c (try_combine): Explicitly check whether GET_CODE is
10394 a SET or a CLOBBER, instead on checking that it isn't a USE.
10395
e26ec0bb
RS
103962006-02-24 Roger Sayle <roger@eyesopen.com>
10397
10398 * fold-const.c (fold_comparison): New subroutine of fold_binary
10399 containing transformations common to both the equality and
10400 ordering relational operators, factored out of fold_binary.
10401 (fold_binary): Separate out the equality operators (EQ_EXPR
10402 and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR,
10403 LE_EXPR and GE_EXPR), calling fold_comparison to perform the
10404 transformations common to both.
74fe790b 10405 (fold_div_compare): Fix latent bugs in the previously unreachable
e26ec0bb
RS
10406 LT_EXPR and GE_EXPR cases.
10407
69ca3549
DE
104082006-02-24 David Edelsohn <edelsohn@gnu.org>
10409
10410 * config/rs6000/rs6000.c (rs6000_init_builtins): Change
10411 decl libname for clog to __clog on AIX.
10412
10413 * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define.
10414
8097c268
AM
104152006-02-24 Alan Modra <amodra@bigpond.net.au>
10416
10417 PR target/26453
10418 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
10419 output traceback table for thunks. Localise rs6000_stack_info call.
10420
efbbbb61
RS
104212006-02-23 Roger Sayle <roger@eyesopen.com>
10422 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10423
10424 * gthr-posix.h (__gthrw): Fix typo in comment.
10425
104262006-02-23 Geoffrey Keating <geoffk@apple.com>
c1e12409
GK
10427
10428 * doc/cpp.texi (Character sets): Document that we do support
10429 input files to be in any character set.
10430
e260a614
JL
104312006-02-23 Jeff Law <law@redhat.com>
10432
357e7a82
JL
10433 * tree.h (PHI_ARG_NONZERO): Remove.
10434 * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO.
10435 (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old
10436 node to the new node.
10437
e260a614
JL
10438 PR tree-optimization/26425
10439 * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL
10440 min/max, then assume its varying.
10441
e755fcf5
ZD
104422006-02-23 Zdenek Dvorak <dvorakz@suse.cz>
10443
10444 PR rtl-optimization/26316
10445 * rtlanal.c (enum may_trap_p_flags): New.
10446 (may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore
10447 MEM_NOTRAP_P if flags & MTP_AFTER_MOVE.
10448 (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1.
10449 (may_trap_after_code_motion_p): New function.
10450 * loop-invariant.c (find_identical_invariants): Fix dump formating.
10451 (find_invariant_insn): Use may_trap_after_code_motion_p.
10452 * rtl.h (may_trap_after_code_motion_p): Declare.
10453
65acccdd
ZD
104542006-02-23 Zdenek Dvorak <dvorakz@suse.cz>
10455
10456 * emit-rtl.c (immed_double_const): Cleanup.
10457
4b0e7346 104582006-02-23 Daniel Berlin <dberlin@dberlin.org>
74fe790b 10459
4b0e7346 10460 Fix PR tree-optimization/26376
e8366202 10461 * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree,
4b0e7346
DB
10462 remove assert.
10463
a5c8d67f
JJ
104642006-02-23 Jakub Jelinek <jakub@redhat.com>
10465
10466 PR middle-end/26412
10467 * gimplify.c (omp_add_variable): Guard variable size decl test with
10468 DECL_SIZE (decl) check.
10469
98b2060a
RG
104702006-02-23 Richard Guenther <rguenther@suse.de>
10471
10472 PR middle-end/26439
10473 * tree-ssa-structalias.c (find_func_aliases): Handle complex types
10474 like aggregate types.
10475
ed965309
JJ
104762006-02-23 Jakub Jelinek <jakub@redhat.com>
10477
10478 * configure.ac: Add --with{,out}-long-double-128 configure option.
10479 (TARGET_DEFAULT_LONG_DOUBLE_128): New test.
10480 * configure: Rebuilt.
10481 * config.in: Rebuilt.
10482 * doc/install.texi (Options specification): Document
10483 --with-long-double-128.
10484
10485 * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128]
10486 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
10487 * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128]
10488 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
10489
104902006-02-23 Aldy Hernandez <aldyh@redhat.com>
10491
10492 * config/s390/s390.c (override_options): Handle
10493 TARGET_DEFAULT_LONG_DOUBLE_128.
10494
10495 * config/alpha/alpha.c (override_options): Handle
10496 TARGET_DEFAULT_LONG_DOUBLE_128.
10497
10498 * config/sparc/sparc.c (sparc_override_options): Handle
10499 TARGET_DEFAULT_LONG_DOUBLE_128.
10500
9fb03bd8
DJ
105012006-02-22 Daniel Jacobowitz <dan@codesourcery.com>
10502
10503 * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR).
10504 (real-install-headers-tar, real-install-headers-cpio)
10505 (real-install-headers-cp): New targets.
10506
e8dad6f0
RS
105072006-02-22 Richard Sandiford <richard@codesourcery.com>
10508
10509 * tree.h (variable_section): Delete.
10510 * varasm.c (variable_section): Delete.
10511
d7f755c3
PB
105122006-02-22 Paolo Bonzini <bonzini@gnu.org>
10513
10514 * install.texi: Add notes on install.texi2html.
10515 (Building in parallel): Do not use footnotes.
10516
4fe7a8bc
AH
105172006-02-21 Aldy Hernandez <aldyh@redhat.com>
10518
10519 PR libgomp/26234
10520 * doc/install.texi (Configuration): Document --disable-libgomp.
10521
6070e8e5
GK
105222006-02-21 Geoffrey Keating <geoffk@apple.com>
10523
10524 * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New.
10525
f8770111
AO
105262006-02-21 Alexandre Oliva <aoliva@redhat.com>
10527
10528 * config/i386/sse.md (vec_extractv2df_1_sse): New.
10529 (vec_extractv2df_0_sse): New.
10530
35d177a2
AO
105312006-02-21 Alexandre Oliva <aoliva@redhat.com>
10532
10533 * defaults.h (CFA_FRAME_BASE_OFFSET): Define.
10534 * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override.
10535 * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document.
10536 * dwarf2out.c (build_cfa_loc): New offset parameter. Add it
10537 to the result of the expression.
10538 (def_cfa_1): Adjust.
10539 (frame_pointer_cfa_offset): Rename to...
10540 (frame_pointer_fb_offset): ... this. Adjust all uses.
10541 (convert_cfa_to_loc_list): Rename to...
10542 (convert_cfa_to_fb_loc_list): ... this. New offset parameter.
10543 Pass it on to build_cfa_loc.
10544 (compute_frame_pointer_to_cfa_displacement): Rename to...
10545 (compute_frame_pointer_to_fb_displacement): ... this. New
10546 offset parameter. Use it in computation.
10547 (gen_subprogram_die): Compute cfa_fb_offset with the new
10548 macro, and use it to compute the fb loc list and the
10549 displacement.
10550
4729dc92
BS
105512006-02-21 Bernd Schmidt <bernd.schmidt@analog.com>
10552
10553 * config/bfin/predicates.md (cc_operand): Delete predicate. All uses
10554 replaced with register_operand.
10555 * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any
10556 non-DREG is expensive.
10557 * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed.
10558 * config/bfin/bfin.md (movbi): Fix constraints and template for moves
10559 involving memory.
10560
520bc8a2
JM
105612006-02-21 Joseph S. Myers <joseph@codesourcery.com>
10562
10563 * doc/install.texi2html: Use set -e.
10564
f5e605e5
RS
105652006-02-21 Richard Sandiford <richard@codesourcery.com>
10566
10567 * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
10568 (ASM_OUTPUT_SHARED_LOCAL): Delete.
10569 * doc/invoke.texi (-fshared-data): Delete.
10570 * common.opt (fshared-data): Delete.
10571 * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling.
10572 (assemble_static_space): Remove #if 0 code.
10573 * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
10574 (ASM_OUTPUT_SHARED_LOCAL): Poison.
10575 * config/cris/cris.h: Remove FIXME.
10576
880b9e7b
PB
105772006-02-21 Paolo Bonzini <bonzini@gnu.org>
10578
10579 * doc/sourcebuild.texi (Front End Directory): No more double-colon
10580 hooks.
10581
5a9e432d
JJ
105822006-02-21 Jakub Jelinek <jakub@redhat.com>
10583
10584 PR middle-end/26379
10585 * combine.c (simplify_shift_const_1): Disable nested shifts
10586 optimization for vector shifts.
10587
c1a70a3c
RS
105882006-02-20 Roger Sayle <roger@eyesopen.com>
10589
10590 PR tree-optimization/26361
10591 * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR
10592 of unsigned integer types.
10593
0ff4040e
SP
105942006-02-20 Sebastian Pop <pop@cri.ensmp.fr>
10595
10596 * tree-chrec.c (eq_evolutions_p): New.
10597 * tree-chrec.h (eq_evolutions_p): Declared.
10598 * tree-data-ref.c: Fix formatting.
10599 (datadep_stats, dependence_stats): New.
10600 (gcd): Moved...
10601 (print_direction_vector): New.
10602 (dump_data_dependence_relation): Use print_direction_vector.
10603 (object_analysis, create_data_ref): Handle COMPONENT_REF.
10604 (compute_subscript_distance): Static.
10605 (initialize_data_dependence_relation): Static. Get the number
10606 of loops surrounding the references from the callers, and initialize
10607 DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and
10608 base_object_differ_p analyzers.
74fe790b 10609 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
0ff4040e
SP
10610 compute_overlap_steps_for_affine_1_2,
10611 analyze_subscript_affine_affine): Count the classified dependences.
10612 Print a message when a test failed.
74fe790b 10613 (can_use_analyze_subscript_affine_affine): New.
0ff4040e
SP
10614 (analyze_siv_subscript): Compute the data dependences on symbolic
10615 scevs that verify can_use_analyze_subscript_affine_affine.
10616 (chrec_steps_divide_constant_p): Returns true, false, or unknown.
10617 (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p.
10618 Handle symbolic scevs.
10619 (analyze_overlapping_iterations): Let symbolic affine scevs to be
10620 analyzed.
10621 (subscript_dependence_tester): Moved...
74fe790b 10622 (build_classic_dist_vector, build_classic_dir_vector): Don't use
0ff4040e
SP
10623 lambda_vector_clear on newly allocated vectors. Get nb_loops from
10624 DDR_SIZE_VECT instead of getting it in parameter.
74fe790b 10625 (subscript_dependence_tester): ... here. Take as a parameter
0ff4040e
SP
10626 loop_nest_depth. Call build_classic_dist_vector and
10627 build_classic_dir_vector.
74fe790b
ZW
10628 (compute_affine_dependence): Update subscript_dependence_tester
10629 parameters. Update datadep_stats counters. Call
0ff4040e 10630 compute_subscript_distance.
74fe790b 10631 (compute_self_dependence): Save the dist and dir vectors. Call
0ff4040e
SP
10632 compute_subscript_distance.
10633 (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved...
10634 (compute_all_dependences): Reorder parameters as they were before
10635 conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call
74fe790b 10636 compute_subscript_distance. Update the use of
0ff4040e
SP
10637 compute_affine_dependence and initialize_data_dependence_relation.
10638 (find_data_references_in_loop): Handle COMPONENT_REF.
10639 (compute_data_dependences_for_loop): Initialize dependence_stats.
10640 Don't call build_classic_dist_vector and build_classic_dir_vector.
74fe790b 10641 Update the parameters of initialize_data_dependence_relation and
0ff4040e
SP
10642 compute_all_dependences. Print the statistics from datadep_stats.
10643 (analyze_all_data_dependences): Static. Not used until the pass for
10644 checking the data dependences is contributed.
10645 * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p),
10646 DEF_VEC_ALLOC_P(ddr_p,heap)): ... here.
74fe790b 10647 (initialize_data_dependence_relation, compute_affine_dependence,
0ff4040e
SP
10648 analyze_all_data_dependences, compute_subscript_distance): Removed.
10649 (print_direction_vector): New.
10650 * lambda.h (gcd): ... here.
10651 (lambda_vector_gcd): Moved here from gcd_vector.
10652 * lambda-code.c (gcd, gcd_vector): Removed.
10653 (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting.
10654 * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H.
10655
643519b7
DN
106562006-02-20 Diego Novillo <dnovillo@redhat.com>
10657
10658 * ipa-type-escape.c: Tidy some comments and white space.
10659 * tree-ssa-operands.c: Likewise.
10660
406f9d5e
AP
106612006-02-20 Andrew Pinski <pinskia@physics.uc.edu>
10662
10663 PR tree-opt/25879
10664 * tree-pretty-print.c (debug_tree_chain): Walk the chains.
10665 (dump_decl_name): Do not walk the decl tree chains.
10666 * tree-pass.h (TDF_CHAIN): Remove.
10667
10668