]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Daily bump.
[gcc.git] / gcc / ChangeLog
CommitLineData
82181741
JJ
12006-10-02 Jakub Jelinek <jakub@redhat.com>
2
3 PR c/29154
4 * gimplify.c (gimplify_self_mod_expr): Run inner expression's post
5 side effects after the outer expression's post side effects.
6
a40776a2
SL
72006-10-01 Sandra Loosemore <sandra@codesourcery.com>
8
9 * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix
10 comments to reflect actual behavior and relationship between
11 DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
12
13 * doc/c-tree.texi (Working with declarations): Fix documentation
14 of FIELD_DECL likewise.
15
5f79d643
RM
162006-10-01 Ryan Mansfield <rmansfield@qnx.com>
17
18 PR c/20533
19 * doc/extend.texi: Add used variable attribute description.
20
7ed322d7
JM
212006-09-30 Joseph S. Myers <joseph@codesourcery.com>
22
23 PR c/24010
24 * c.opt (Woverride-init): New.
25 * c-opts.c (c_common_post_options): Default warn_override_init to
26 extra_warnings.
27 * c-typeck.c (add_pending_init, output_init_element): Warn for
28 overriding initializers without side effects.
29 * doc/invoke.texi (-Woverride-init): Document.
30 (-Wextra): Update.
31
2d722423
EB
322006-09-30 Eric Botcazou <ebotcazou@libertysurf.fr>
33
34 PR rtl-optimization/28096
35 * ifcvt.c (check_cond_move_block): Return FALSE if the source of an
36 assignment has already been used as a destination earlier in the block.
37
382006-09-29 Eric Botcazou <ebotcazou@adacore.com>
4f6c2131
EB
39
40 * builtins.c (expand_builtin_setjmp): Delete.
41 (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
42 <BUILT_IN_SETJMP_SETUP>: New case.
43 <BUILT_IN_SETJMP_DISPATCHER>: Likewise.
44 <BUILT_IN_SETJMP_RECEIVER>: Likewise.
45 * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
46 (BUILT_IN_SETJMP_DISPATCHER): Likewise.
47 (BUILT_IN_SETJMP_RECEIVER): Likewise.
48 * gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
49 (lower_function_body): Initialize it to false. If it is set to true
50 at the end of the processing, emit the setjmp dispatcher.
51 (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
52 is __builtin_setjmp and set calls_builtin_setjmp to true as well.
53 <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
54 on the rhs of the assignment.
55 (lower_builtin_setjmp): New function.
56 * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
57 BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
58 * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
59 to detect calls that can go to non-local labels. Use specific
60 helper to create the abnormal edges associated with them.
61 <MODIFY_EXPR>: Likewise.
62 (make_abnormal_goto_edges): New function extracted from...
63 (make_goto_expr_edges): ...here. Call it for computed gotos.
64 (simple_goto_p): Minor tweak.
65 (tree_can_make_abnormal_goto): New predicate.
66 (tree_redirect_edge_and_branch): Return zero on all abnormal edges.
67 (tree_purge_dead_abnormal_call_edges): New function.
68 * tree-flow.h (tree_can_make_abnormal_goto): Declare.
69 (tree_purge_dead_abnormal_call_edges): Likewise.
70 (make_abnormal_goto_edges): Likewise.
71 * tree-inline.c (expand_call_inline): Simplify statement frobbing.
72 Purge all dead abnormal edges if the call was in the last statement.
73 * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
74 (execute_fixup_cfg): If there are non-local labels in the function,
75 scan the basic blocks and split them at calls that can go to non-local
76 labels or add missing abnormal call edges. Write down the CFG in the
77 dump file.
78 (pass_fixup_cfg): Remove TODO_dump_func flag.
79 * unwind-sjlj.c: Poison setjmp.
80 * doc/install.texi (enable-sjlj-exceptions): Use more general wording.
81 * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
82 (TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
83 (DONT_USE_BUILTIN_SETJMP): Document it.
84
67796c1f
GK
852006-09-28 Geoffrey Keating <geoffk@apple.com>
86
87 PR target/28617
88 * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
89 to 1 when __ppc64__ is defined.
90 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
91 darwin-64.c.
92 * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
93
811b6bea
SE
942006-09-28 Steve Ellcey <sje@cup.hp.com>
95
96 * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
97 * config/ia64/unwind-hpux.c: Delete.
98
0461b801
EB
992006-09-28 Eric Botcazou <ebotcazou@adacore.com>
100
101 * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
102 on the element before gimplifying it, instead of punting if it is of
103 variable size.
104
01e0ef5a
ZD
1052006-09-28 Zdenek Dvorak <dvorakz@suse.cz>
106
107 * doc/loop.texi: New file.
108 * doc/gccint.texi: Reference loop.texi.
109 * Makefile.in (loop.texi): Add.
110
c6c621d4
GK
1112006-09-27 Geoffrey Keating <geoffk@apple.com>
112
113 * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
114 __sysctl.
115 * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
116 * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
117
d2dfcc07
KK
1182006-09-28 Kaz Kojima <kkojima@gcc.gnu.org>
119
120 * config/sh/sh.md (divsi_inv_m0): Remove unused variable.
121
e48d66a9
SK
1222006-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
123
124 * doc/install.texi: Document required versions of GMP and MPFR.
125
bcf640f7
PB
1262006-09-27 Paul Brook <paul@codesourcery.com>
127
128 PR target/29230
129 * config/arm/arm.md (arith_adjacentmem): Handle large offsets.
130
63a7a62b
RS
1312006-09-27 Richard Sandiford <richard@codesourcery.com>
132
133 * reload1.c (alter_reg): Require the alignment of the stack slot to
134 be at least reg_max_ref_width bytes.
135 (scan_paradoxical_subregs): Record the largest width in
136 reg_max_ref_width.
137
a70ad3bb
JJ
1382006-09-26 Jakub Jelinek <jakub@redhat.com>
139
140 PR middle-end/25261
141 PR middle-end/28790
142 * tree-nested.c (struct nesting_info): Added static_chain_added.
143 (convert_call_expr): Set static_chain_added when adding static
144 chain. Handle OMP_PARALLEL and OMP_SECTION.
145
bc49e371
MK
1462006-09-25 Matthias Klose <doko@debian.org>
147
148 * doc/invoke.texi: Add missing full stop.
149
6aa5c6ba
RH
1502006-09-25 Richard Henderson <rth@redhat.com>
151
152 * cgraph.c (dump_cgraph_varpool_node): Don't crash if called
153 before cgraph_function_flags_ready.
154
b67102ae
ZD
1552006-09-24 Zdenek Dvorak <dvorakz@suse.cz>
156 Adam Nemet <anemet@caviumnetworks.com>
157
158 * tree-ssa-loop-ivopts.c (aff_combination_convert,
159 determine_common_wider_type): New functions.
160 (get_computation_aff): Use them to simplify arithmetic between
161 UBASE and CBASE if they are shortened from the same type.
162
ab1e659c
KH
1632006-09-24 Kazu Hirata <kazu@codesourcery.com>
164
165 PR target/28911
166 * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
167 -2147483647 - 1 instead of 0x80000000.
168
88a65e64
RE
1692006-09-23 Revital1 Eres <ERES@il.ibm.com>
170
171 * flags.h (HONOR_NANS): Fix typo in comment.
172
895016f6
UB
1732006-09-23 Uros Bizjak <uros@kss-loka.si>
174
175 * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
176
fcb99e7b
JJ
1772006-09-23 Jakub Jelinek <jakub@redhat.com>
178
179 PR c/28706
180 PR c/28712
181 * tree.c (merge_attributes, attribute_list_contained): If both
182 TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
183 simple_cst_equal.
184 * c-typeck.c (comptypes_internal): Don't consider aggregates
185 in different TUs as compatible if there one set of attributes is
186 not a subset of the other type's attributes.
187 (composite_type): Try harder not to create a new aggregate type.
188
9281e73d
GK
1892006-09-22 Geoffrey Keating <geoffk@apple.com>
190
682cd442
GK
191 * config/i386/driver-i386.c: Always define host_detect_local_cpu.
192 * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
193 or x86_64 host. Define HAVE_LOCAL_CPU_DETECT.
194 (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
195 than replicating condition above.
196 * config.host (i[34567]86-*-*): Always use driver-i386.o.
197
9281e73d
GK
198 * config/darwin.h (LINK_SYSROOT_SPEC): New.
199 (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
200 the linker by default.
201
d1ea7616
MS
2022006-09-22 Mike Stump <mrs@apple.com>
203
204 * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
205 code.
206
79f802f5
RG
2072006-09-22 Richard Guenther <rguenther@suse.de>
208
209 PR middle-end/28964
210 * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
211 sort of stack variables stable.
212
2319ffbb
PB
2132006-09-22 Peter Bergner <bergner@vnet.ibm.com>
214
215 PR middle-end/28690
216 * explow.c (force_reg): Set REG_POINTER flag according to
217 MEM_POINTER flag.
218
36b24193
ZD
2192006-09-22 Zdenek Dvorak <dvorakz@suse.cz>
220
221 PR tree-optimization/28888
222 * tree-if-conv.c (combine_blocks): Rewritten.
223 * tree-cfg.c (tree_verify_flow_info): Check that edges with
224 EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
225
37358746
JJ
2262006-09-22 Jakub Jelinek <jakub@redhat.com>
227
228 * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
229 needed.
230
2801ed8e
RS
2312006-09-21 Richard Sandiford <richard@codesourcery.com>
232
233 * varasm.c (copy_constant): Fix reversed gcc_assert check.
234
6750b31e
JJ
2352006-09-21 Janis Johnson <janis187@us.ibm.com>
236
237 * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
238
72478f32
RS
2392006-09-21 Roger Sayle <roger@eyesopen.com>
240
241 PR debug/29132
242 * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
243 dw_fde_current_label, to be the start of the function, i.e. the same
244 value as dw_fde_begin.
245
1bded8e1
RS
2462006-09-20 Richard Sandiford <richard@codesourcery.com>
247
248 * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
249 * config/mips/mips.md (UNSPEC_ABS_PS): New constant.
250 (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
251 (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
252 (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
253 (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
254 (abs<mode>2, neg<mode>2): Likewise.
255 * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
256 (*mips_abs_ps): New define_insn.
257
1186ec8c
JC
2582006-09-20 Josh Conner <jconner@apple.com>
259
260 PR middle-end/25505
261 * calls.c (expand_call): Allow reuse of structure return stack
262 temp.
263
d0cd71a0
PB
2642006-09-20 Paul Brook <paul@codesourcery.com>
265
d0cd71a0
PB
266 * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
267 positive offsets.
268
85a92f7e
JJ
2692006-09-20 Janis Johnson <janis187@us.ibm.com>
270
271 * doc/extend.texi (Decimal Float): Update for latest draft TR,
272 clean up terminology.
273
4e60515f
SE
2742006-09-20 Steve Ellcey <sje@cup.hp.com>
275
276 PR target/28574
277 * ifcvt.c (dead_or_predicable): Don't predicate then blocks
278 with tablejumps in them.
279
66bb4f32
JJ
2802006-09-20 Jakub Jelinek <jakub@redhat.com>
281
282 PR middle-end/28046
283 * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
284 wrap it into TARGET_EXPR.
285
1e993cb8
EC
2862006-09-20 Eric Christopher <echristo@apple.com>
287
288 * config/i386/i386.c (x86_fisttp): Remove.
289 * config/i386/i386.h (x86_fisttp): Ditto.
290 (TARGET_FISTTP): Ditto.
291
64ee9490
EC
2922006-09-19 Eric Christopher <echristo@apple.com>
293
294 * doc/tm.texi (OBJC_JBLEN): Describe.
295 * config/i386/darwin.h (OBJC_JBLEN): Define.
296 * config/rs6000/darwin.h: Ditto.
297
d63e1389
SB
2982006-09-19 Steven Bosscher <steven@gcc.gnu.org>
299
300 PR rtl-optimization/21299
301 * reload1.c (reload): Purge invalid ASMs in the final pass.
302
7ab62966
SE
3032006-09-19 Steve Ellcey <sje@cup.hp.com>
304
305 PR 28490
306 * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
307 pointers as legitimate constants.
308
758ed9b2
PB
3092006-09-19 Paul Brook <paul@codesourcery.com>
310
311 PR target/28516
312 * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
313
aac8b8ed
RS
3142006-09-17 Zdenek Dvorak <dvorakz@suse.cz>
315
316 PR tree-optimization/28887
317 * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
318 component parts from the reference.
319 (gather_memory_references_ref): Record the reference without the
320 nonaddressable component parts.
321
69723be2
SB
3222006-09-17 Steven Bosscher <steven@gcc.gnu.org>
323
324 PR c/25993
325 * c-opts.c (c_common_handle_option): Ignore the -std options
326 if the input language is assembly.
327
7a7d3804
IR
3282006-09-17 Ira Rosen <irar@il.ibm.com>
329
b5387733 330 PR tree-opt/21591
7a7d3804 331 * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
b5387733
AP
332 tag first.
333 (ptr_ptr_may_alias_p): Likewise.
334 (record_record_differ_p): New function.
335 (base_object_differ_p): Call record_record_differ_p.
7a7d3804 336
a9fdb86b
AP
3372006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
338
339 PR tree-opt/29059
340 * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
341 away for the expr argument.
342
0c5e4273
SB
3432006-09-16 Steven Bosscher <steven@gcc.gnu.org>
344
a9fdb86b 345 PR tree-opt/27742
0c5e4273
SB
346 * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
347 before using it for dumping after vectorizing loops.
348
a9fdb86b
AP
3492006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
350 Jack Howarth <howarth@bromo.med.uc.edu>
70fb00df
AP
351
352 PR target/29030
353 * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
354 skip on error_mark_node.
355 (rs6000_darwin64_record_arg_recurse): Likewise.
356
1049f475
SB
3572006-09-16 Steven Bosscher <steven@gcc.gnu.org>
358
359 * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
360 * doc/rtl.texi: Remove related documentation.
361
405f0587
BS
3622006-09-16 Bernd Schmidt <bernd.schmidt@analog.com>
363
364 * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
365 printf.
366
d0970db2
JW
3672006-09-15 Jim Wilson <wilson@specifix.com>
368
369 * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
370 Handle symbol offsets same as they are handled in ia64_expand_move
371 and move_operand.
372
7607bdda
AT
3732006-09-16 Andreas Tobler <a.tobler@schweiz.org>
374
375 * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
376 Add forgotten parameter to the fprintf call.
377
7ee51a34
SE
3782006-09-15 Steve Ellcey <sje@cup.hp.com>
379
380 * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
381
615d37d2
UB
3822006-09-15 Uros Bizjak <uros@kss-loka.si>
383
384 * doc/contrib.texi: Add my entry.
385
a71b1c58
NC
3862006-09-15 Nick Clifton <nickc@redhat.com>
387
388 * doc/md.texi (Processor pipeline description): Fix typo in
389 example of how to use the absence_set directive and reword the
390 description to make it slightly easier to read.
391
405f0587 3922006-09-15 Bernd Schmidt <bernd.schmidt@analog.com>
45b9a14b
BS
393
394 * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
395 * loop-doloop.c (doloop_optimize): Use it to limit costs of
396 expanding the number of iterations.
61066abf 397 * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
45b9a14b 398
11b904a1
BS
399 * cfgrtl.c (emit_insn_at_entry): New function.
400 * rtl.h (emit_insn_at_entry): Declare it.
401 * integrate.c (emit_initial_value_sets): Use it.
402
5419bc7f
BS
403 * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
404
e54273eb
BS
405 * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
406 bad.
407 (struct loop_work and related VEC declarations): Delete.
408 (bfin_dump_loops): Print out new member bad.
409 (bfin_bb_in_loop): Use plain bitmap test. Don't recurse.
410 (bfin_scan_loop): Don't recurse.
411 (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
412 loops. No longer need to update outer loops if the current one is
413 found bad. Move some validitiy checks to bfin_discover_loop.
414 (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
415 but changed not to check for nesting. Also changed to use the new bad
416 flag.
417 (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
418 time. Use bitmap based test to discover loop nesting.
419
0b35aac2
KH
4202006-09-15 Kazu Hirata <kazu@codesourcery.com>
421
422 * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
423 one line.
424
1b03c58a
RG
4252006-09-14 Richard Guenther <rguenther@suse.de>
426 Kazu Hirata <kazu@codesourcery.com>
427
428 PR middle-end/28884.
429 * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
430 (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
431 Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
432 with TARGET_FUNCTION_VALUE.
433
e8d0d6d2
AS
4342006-09-14 Anatoly Sokolov <aesok@post.ru>
435
436 PR target/26504
437 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
438
f5efb27f
AH
4392006-09-13 Aldy Hernandez <aldyh@redhat.com>
440
b5387733
AP
441 * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
442 of a RETURN_EXPR
f5efb27f 443
3c3f1a6f
AP
4442006-09-13 Andrew Pinski <pinskia@physics.uc.edu>
445
446 PR debug/28980
447 * dwarf2out.c (loc_descriptor_from_tree_1): Handle
448 FUNCTION_DECL.
449
f66fd328
AK
4502006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
451
452 * basic_block.h (bb_has_eh_pred): Fix comment.
453
fcc42bca
AK
4542006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
455
456 * flow.c (calculate_global_regs_live): Invalidate eh registers
457 on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
458 (propagate_block): Handle eh registers as if they were set at basic
459 block start.
460 * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
461 registers.
462 * global.c (global_conflicts): Make eh registers to conflict with
463 pseudos live at basic block begin.
464 * basic_block.h (bb_has_eh_pred): New function.
465
4b7b277a
RS
4662006-09-13 Richard Sandiford <richard@codesourcery.com>
467
468 PR rtl-optimization/28982
469 * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
470 index of a PRE_MODIFY or POST_MODIFY address.
471 * reload1.c (inc_for_reload): Use find_replacement on the original
472 base and index registers.
473
04df96dd
L
4742006-09-12 H.J. Lu <hongjiu.lu@intel.com>
475
476 * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
477 for -Os. Update __m128 alignment requirement.
478
26eeea94
JH
4792006-09-13 Jan Hubicka <jh@suse.cz>
480
481 * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
482
7e721950
EB
4832006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
484
485 PR rtl-optimization/28243
486 * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
487 the insn to which the note was originally attached.
488
66cccea6
AP
4892006-09-12 Andrew Pinski <pinskia@physics.uc.edu>
490 Roger Sayle <roger@eyesopen.com>
491
492 * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
493 outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
494 on platforms that don't use dwarf for debug info.
495
f0119413
JM
4962006-09-12 Jason Merrill <jason@redhat.com>
497
498 PR middle-end/28493
499 * builtins.c (expand_builtin_setjmp_receiver): Clobber
500 hard_frame_pointer_rtx after using it to update the frame pointer.
501
fb8cbd3c
RS
5022006-09-12 Roger Sayle <roger@eyesopen.com>
503
504 * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
505 (TARGET_ASM_CLOSE_PAREN): Likewise.
506 * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
507 (TARGET_ASM_CLOSE_PAREN): Likewise.
508
b598cb38
RS
5092006-09-12 Roger Sayle <roger@eyesopen.com>
510
511 PR target/22223
512 * config/alpha/alpha.c (alpha_start_function): Don't emit stack
513 frame information for frames larger than 512 Kbytes on Tru64 when
514 using the native assembler.
515
4c6669c2
RS
5162006-09-12 Roger Sayle <roger@eyesopen.com>
517
518 PR middle-end/4520
519 PR bootstrap/28784
520 * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
521 and symbols. Instead use the implementation from cse.c's hash_rtx.
522
93c094b5
JH
5232006-09-12 Jan Hubicka <jh@suse.cz>
524
525 PR rtl-optimization/28071
526 * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
527 (vect_transform_loop): Likewise.
528 * tree-vectorizer.c (new_loop_vec_info): Likewise.
529 (new_loop_vec_info): Likewise.
530 (destroy_loop_vec_info): Likewise.
531 * tree-dfa.c (create_var_ann): Use GCC_CNEW.
532 (create_stmt_ann): Likewise.
533 (create_tree_ann): Rename to ...
534 (create_tree_common_ann): ... this one; allocate only the common part
535 of annotations.
536 * tree-vn.c (set_value_handle): Use get_tree_common_ann.
537 (get_value_handle): Likewise.
538 * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
539 get_tree_common_ann.
540 * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
541 (vinfo_for_stmt): Use stmt annotations.
542 * tree-flow.h (tree_ann_common_t): New type.
543 (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
544 (tree_ann, get_tree_ann, create_tree_ann): New.
545 * tree-flow-inline.h (get_function_ann): Do more type checking.
546 (stmt_ann): Likewise.
547 (tree_ann): Rename to ...
548 (tree_common_ann): ... this one; return ony common_ann
549 (get_tree_ann): Rename to ...
550 (tree_common_ann): This one; return only common_ann.
551 * tree-vect-patterns.c (vect_pattern_recog_1): Update call
552 of set_stmt_info.
553
d5688810
GK
5542006-09-11 Geoffrey Keating <geoffk@apple.com>
555
703706d7
GK
556 * config.gcc (i[34567]86-*-darwin*): Set with_arch and
557 with_cpu by default.
558
d5688810
GK
559 * dwarf2out.c (dwarf_file_data): New.
560 (enum dw_val_class): Add dw_val_class_file.
561 (struct dw_val_struct): Add val_file.
562 (file_table): Change to a hash table.
563 (file_table_emitted): Delete.
564 (file_table_last_lookup_index): Delete.
565 (emitcount): Delete.
566 (last_emitted_file): New.
567 (lookup_filename): Change prototype to return a struct dwarf_file_data.
568 (init_file_table): Delete.
569 (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
570 (AT_addr): Add comment.
571 (add_AT_file): New.
572 (AT_file): New.
573 (get_AT_file): New.
574 (print_die): Handle dw_val_class_file.
575 (print_dwarf_line_table): Update for new file table structure.
576 (attr_checksum): Do checksum a filename.
577 (same_dw_val_p, same_attr_p): Do compare a filename.
578 (size_of_die): Handle dw_val_class_file.
579 (value_format): Likewise.
580 (output_die): Likewise. Also, call maybe_emit_file here.
581 (struct file_info): Constify filenames. Make file_idx a pointer
582 to a struct dwarf_file_data.
583 (struct dir_info): Constify directory names. Remove 'used' field.
584 (struct file_name_acquire_data): New.
585 (file_name_acquire): New.
586 (output_file_names): Modify to handle new file data structures.
587 (add_src_coords_attributes): Use add_AT_file.
588 (add_call_src_coords_attributes): Likewise.
589 (dwarf2out_imported_module_or_decl): Likewise.
590 (gen_subprogram_die): Modify for new file data structures.
591 (gen_variable_die): Likewise.
592 (file_table_eq): New.
593 (file_table_hash): New.
594 (file_table_last_lookup): New.
595 (lookup_filename): Rewrite to handle new file data structures.
596 (maybe_emit_file): Rewrite to handle new file data structures.
597 (dwarf2out_source_line): Always call lookup_filename and
598 maybe_emit_file.
599 (dwarf2out_init): Create file_table here.
600 (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
601 (file_table_relative_p): New.
602 (dwarf2out_finish): Change detection of relative filenames
603 to work with new file data structures. Move output_line_info call
604 after debug_info output.
605
1395ea39
L
6062006-09-11 H.J. Lu <hongjiu.lu@intel.com>
607
608 PR target/13685
609 PR target/27537
610 PR target/28621
611 * config/i386/i386.c (override_options): Always default to 16
612 byte stack boundary.
613
d3067303
AO
6142006-09-11 Alexandre Oliva <aoliva@redhat.com>
615
616 PR target/28672
617 * var-tracking.c (dump_dataflow_set): Start dumping at
618 register zero.
619 (clobber_variable_part): Kill only the variable part in
620 registers holding it, leaving other variables alone.
621
b7886f14
JT
6222006-09-11 Josh Triplett <josh@freedesktop.org>
623
624 * doc/extend.texi (Other Builtins): Actually use the macro
625 argument in the documentation example for
626 __builtin_types_compatible_p.
627
2e9182fd
EB
6282006-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
629
630 PR rtl-optimization/28726
631 * sched-deps.c (sched_analyze_reg): New function extracted from...
632 (sched_analyze_1): ...here. Call it to analyze references to
633 registers. Treat again writes to a stack register as writing to the
634 register.
635 (sched_analyze_2): ...and here. Call it to analyze references to
636 registers. Treat again reads of a stack register as reading the
637 register.
638
d2952008
GR
6392006-09-11 Guenter Roeck <guenter@roeck-us.net>
640 David Edelsohn <edelsohn@gnu.org>
641
642 PR target/27287
643 * config/rs6000/spe.md (frob_df_di): Remove %H.
644 (frob_di_df): Remove %H. Change evmergelo to mr.
645 (frob_di_df_2): Remove %H. Change evldd to two loads.
646
0c387be3
HI
6472006-09-11 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp>
648
649 * doc/cpp.texi: Fix names of charset options.
650
748dc0c9
AP
6512006-09-10 Andrew Pinski <pinskia@physics.uc.edu>
652
653 PR target/29009
654 * config/i386/i386.c (override_options): Use 128-bit
655 stack boundary always for 64bits.
656
de097a3b
EB
6572006-09-10 Eric Botcazou <ebotcazou@libertysurf.fr>
658
659 PR rtl-optimization/28636
660 * combine.c (force_to_mode): Test for side-effects before
661 substituting by zero.
662 (simplify_shift_const): Likewise for zero or other constants.
663
4fe337f6
SB
6642006-09-10 Steven Bosscher <steven@gcc.gnu.org>
665
666 PR middle-end/26983
667 * builtins.c (expand_builtin_setjmp): Force next_lab to be
668 preserved.
669
9226543b
RS
6702006-09-10 Richard Sandiford <richard@codesourcery.com>
671
672 PR target/29006
673 * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
674 * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
675 returned by mode_for_size, rather than the mode of src itself,
676 to choose between 32-bit and 64-bit patterns.
677 (mips_mem_fits_mode_p): New function.
678 * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
679 that the size of the source matches the size of the destination.
680 (mov_<store>l, mov_<store>r): Likewise.
681
ca6f2eef
EC
6822006-09-10 Eric Christopher <echristo@apple.com>
683
684 * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
685 for literal16.
686
1be1e2dd
EC
6872006-09-09 Eric Christopher <echristo@apple.com>
688
689 PR target/28995
690 * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
691 for literal16.
692
66cc7362
RS
6932006-09-09 Roger Sayle <roger@eyesopen.com>
694 Nicolas Setton <setton@adacore.com>
695
696 * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
697
7a34bba9
AS
6982006-09-10 Andreas Schwab <schwab@suse.de>
699
700 * config/m68k/m68k.md (bungt_rev): New pattern.
701
8b649f3f
PB
7022006-09-09 Paolo Bonzini <bonzini@gnu.org>
703 Dale Johannesen <dalej@apple.com>
704
705 PR target/26778
706 * regclass.c (struct reg_pref): Update documentation.
707 (regclass): Set prefclass to NO_REGS if memory is the best option.
708 (record_reg_classes): Cope with a prefclass set to NO_REGS.
709
f7288899
EC
7102006-09-08 Eric Christopher <echristo@apple.com>
711
712 * config.gcc (i?86-*-darwin): Add 64-bit HWI support.
713 * config/t-slibgcc-darwin: Support x86_64 multilib.
714 * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
715 Return 1 for x86_64-darwin.
716 * config/i386/t-darwin: Add m64 multilib.
717 (LIB2_SIDITI_CONV_FUNCS): Use.
718 (LIB2FUNCS_EXTRA): Ditto.
719 * config/i386/darwin.h: Support x86_64.
720 * config/i386/i386.c (override_options): Turn on flag_pic
721 for x86_64-darwin. Disable flag_omit_pointer.
722 (get_pc_thunk_name): Assert !TARGET_64BIT.
723 (legitimate_address_p): Disable machopic addressing for
724 x86_64.
725 (legitimize_pic_address): Ditto.
726 (ix86_expand_move): Ditto.
727 (ix86_expand_call): Ditto.
728 (machopic_output_stub): Ditto.
729 * config/darwin.c (machopic_select_section): Support literal16.
730 (machopic_select_rtx_section): Ditto.
731 * config/darwin-sections.def: Ditto.
732 * config/darwin-64.c: New.
733
3542a5c0
JM
7342006-09-08 Joseph S. Myers <joseph@codesourcery.com>
735
736 PR c/28504
737 * c-tree.h (struct c_arg_info): Add pending_sizes.
738 * c-parser.c (c_parser_parms_declarator,
739 c_parser_parms_list_declarator): Initialize pending_sizes.
740 * c-decl.c (get_parm_info): Initialize pending_sizes.
741 (get_parm_info): Set pending_sizes.
742 (grokdeclarator): Call put_pending_sizes for parameters for
743 function definition only.
744
d0655f33
JM
7452006-09-07 Jason Merrill <jason@redhat.com>
746
df20ea24
JM
747 PR middle-end/27724
748 * varasm.c (output_constant): Only strip actual no-op conversions.
749
d0655f33
JM
750 PR target/13685
751 * config/i386/i386.c (override_options): Use 128-bit
752 stack boundary if -msse.
753
2e71a7a3
EC
7542006-09-07 Eric Christopher <echristo@apple.com>
755
756 * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
757 comment.
758 * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
759 Redefine.
760
10b01bca
GK
7612006-09-07 Geoffrey Keating <geoffk@apple.com>
762
763 * dwarf2out.c: Remove strange characters from comment above
764 dwarf2out_frame_debug_expr.
765
05d36da1
EC
7662006-09-07 Eric Christopher <echristo@apple.com>
767
768 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
769 * config/darwin.h: ... to here.
770
995cc369
L
7712006-09-07 H.J. Lu <hongjiu.lu@intel.com>
772
773 * config/i386/i386.c (x86_partial_flag_reg_stall): New.
774
775 * config/i386/i386.h (x86_partial_flag_reg_stall): New.
776 (TARGET_PARTIAL_FLAG_REG_STALL): New.
777
778 * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
779 TARGET_PARTIAL_FLAG_REG_STALL.
780 (*ashldi3_cconly_rex64): Likewise.
781 (*ashlsi3_cmp): Likewise.
782 (*ashlsi3_cconly): Likewise.
783 (*ashlsi3_cmp_zext): Likewise.
784 (*ashlhi3_cmp): Likewise.
785 (*ashlhi3_cconly): Likewise.
786 (*ashlqi3_cmp): Likewise.
787 (*ashlqi3_cconly): Likewise.
788 (*ashrdi3_cmp_rex64): Likewise.
789 (*ashrdi3_cconly_rex64): Likewise.
790 (*ashrsi3_cmp): Likewise.
791 (*ashrsi3_cconly): Likewise.
792 (*ashrsi3_cmp_zext): Likewise.
793 (*ashrhi3_cmp): Likewise.
794 (*ashrhi3_cconly): Likewise.
795 (*ashrqi3_cmp): Likewise.
796 (*ashrqi3_cconly): Likewise.
797 (*lshrdi3_cmp_rex64): Likewise.
798 (*lshrdi3_cconly_rex64): Likewise.
799 (*lshrsi3_cmp): Likewise.
800 (*lshrsi3_cconly): Likewise.
801 (*lshrsi3_cmp_zext): Likewise.
802 (*lshrhi3_cmp): Likewise.
803 (*lshrhi3_cconly): Likewise.
804 (*lshrqi2_cmp): Likewise.
805 (*lshrqi2_cconly): Likewise.
806
f42684d5
UB
8072006-09-07 Uros Bizjak <uros@kss-loka.si>
808
809 PR target/28946
810 * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
811 "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
812 "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
813 "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
814 "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
815 "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
816 "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
817 "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
818 "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
819 implement only CC setting effects of shift instructions.
820
c3876226
MM
8212006-09-07 Martin Michlmayr <tbm@cyrius.com>
822
823 * doc/contrib.texi: Add myself.
824
c9eee440
AP
8252006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
826
827 PR middle-end/28862
828 * stor-layout.c (relayout_decl): Don't zero the alignment if it
829 was set by the user.
830
62bf45a5
PB
8312006-09-07 Paolo Bonzini <bonzini@gnu.org>
832
833 PR target/27117
834 * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
835 (divsi_inv_m1): Use them.
836 (UNSPEC_DIV_INV_TABLE): New constant.
837
b5b84a7f
AP
8382006-09-06 James E Wilson <wilson@specifix.com>
839
840 PR rtl-opt/27883
841 * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
842 then call count_or_remove_death_notes.
843
c08cd4c1
JM
8442006-09-06 Jason Merrill <jason@redhat.com>
845
846 PR c++/27371
847 * tree-inline.c (copy_result_decl_to_var): New fn.
848 (declare_return_variable): Use it. Call declare_inline_vars here.
849 (expand_call_inline): Not here.
850
1b65e501
DN
8512006-09-06 Diego Novillo <dnovillo@redhat.com>
852
853 * doc/contrib.texi: Update my entry.
854
7034d31b
NC
8552006-09-06 Nick Clifton <nickc@redhat.com>
856
857 * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
858
c7f965b6
AP
8592006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
860
861 PR tree-opt/28937
862 * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
863 (canonicalize_induction_variables): Likewise.
864 (tree_unroll_loops_completely): Likewise.
865 (tree_ssa_prefetch_arrays): Likewise.
866 (remove_empty_loops): Likewise.
867 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
868 TODO_cleanup_cfg instead of directly calling
869 cleanup_tree_cfg_loop.
870 * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
871 Likewise.
872 (tree_unroll_loops_completely): Likewise.
873 (remove_empty_loops): Likewise.
874 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
875 * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
876 of tree_ssa_unswitch_loops.
877 (tree_ssa_loop_ivcanon): Use the return value of
878 canonicalize_induction_variables.
879 (tree_ssa_empty_loop): Use the return value of
880 remove_empty_loops.
881 (tree_complete_unroll): Use the return value of
882 tree_unroll_loops_completely.
883 (tree_ssa_loop_prefetch): Use the return value of
884 tree_ssa_prefetch_arrays.
885 * passes.c (execute_todo): Before Cleanup CFG, set
886 updating_used_alone and after cleanup CFG, call
887 recalculate_used_alone.
888
10b96810
AP
8892006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
890
891 PR tree-opt/28952
892 * tree-vect-transform.c (vectorizable_condition): Move the check
893 for the type after the check for simple condition.
894
650a59ef
R
8952006-09-05 J"orn Rennecke <joern.rennecke@st.com>
896 Kaz Kojima <kkojima@gcc.gnu.org>
897
898 PR target/28764
899 * mode-switching.c (optimize_mode_switching): Make the destination
900 block of an abnormal edge have no anticipatable mode. Don't
901 insert mode switching code at the end of the source block of
902 an abnormal edge.
903
d26cef13
PB
9042006-09-05 Paolo Bonzini <bonzini@gnu.org>
905
906 PR rtl-optimization/26847
907 * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
908 (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
909 (simplify_plus_minus): Count n_constants while filling ops. Replace
910 qsort with insertion sort. Before going through the array to simplify
911 pairs, sort it. Delay early exit until after the first sort, exiting
912 only if no swaps occurred. Simplify pairs in reversed order, without
913 special-casing the first iteration. Pack ops after simplifying pairs.
914
9152006-09-05 Anatoly Sokolov <aesok@post.ru>
9a7fd67a 916
10b96810
AP
917 * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
918 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
919 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
920 (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
9a7fd67a 921
575643d5
RG
9222006-09-05 Richard Guenther <rguenther@suse.de>
923
924 PR tree-optimization/28900
925 * tree-if-conv.c (find_phi_replacement_condition): Gimplify
926 compound conditional before creating COND_EXPR condition.
927
b2db9220
RG
9282006-09-05 Richard Guenther <rguenther@suse.de>
929
930 PR tree-optimization/28905
931 * tree-vrp.c (fix_equivalence_set): Manually implement
932 !value_ranges_intersect_p to also handle symbolic ranges.
933
f393e7f5
RG
9342006-09-05 Richard Guenther <rguenther@suse.de>
935
936 PR middle-end/28935
937 * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
938 of a COND_EXPR.
939
5bb51e1d
EB
9402006-09-04 Eric Botcazou <ebotcazou@libertysurf.fr>
941
942 PR rtl-optimization/27616
943 * cse.c (table_size): New static variable.
944 (new_basic_block): Initialize it to 0.
945 (remove_from_table): Decrement it.
946 (insert): Increment it.
947 (fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
948 (fold_rtx_mem): Enforce a cap on the recursion depth. Call
949 fold_rtx_mem_1 if under the cap.
950 (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
951 the lookup of the equivalent expression and test for equality of the
952 first operand of the equivalent expression before in turn looking up
953 an equivalent constant for the second operand.
954
b73aec4f
GK
9552006-09-02 Geoffrey Keating <geoffk@apple.com>
956
957 Revert this change:
958 2006-03-17 Alexandre Oliva <aoliva@redhat.com>
959 * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
960 pointer, instead of assuming it is possible to derive the
961 correct args size from a call insn.
962
bc038ad5
JJ
9632006-09-02 Jakub Jelinek <jakub@redhat.com>
964
965 PR middle-end/27567
966 * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
967 (fold_builtin_mempcpy): Rename to...
968 (fold_builtin_memory_op): ... this. Optimize one element copy
969 into an assignment.
970 (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
971 functions.
972 (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
973 (expand_builtin_memcpy, expand_builtin_mempcpy,
974 expand_builtin_memmove): Likewise. Use fold_builtin_memory_op.
975 (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
976 BUILT_IN_BCOPY. Use fold_builtin_memory_op for
977 BUILT_IN_MEM{CPY,PCPY,MOVE}.
978
0166ff05
DD
9792006-09-01 DJ Delorie <dj@redhat.com>
980
981 * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
982 (stzx_16): Likewise.
983 ("stzx_24_<mode>"): Likewise.
984 ("stzx_reversed_<mode>"): Likewise, and make mode-specific.
985 ("cmp<mode>_op"): New.
986 (cmp<mode>): Change to expander; just save operands.
987 (b<code>_op): New.
988 (b<code>): Change to expander, emit compare here.
989 (s<code>_op): Change to use split and expander.
990 (s<code>_24_op): Likewise.
991 (s<code>_<mode>): New.
992 (s<code>_<mode>_24): New.
993 (movqicc_<code>_<mode): New.
994 (movhicc_<code>_<mode>): New.
995 (s<code>): New.
996 (s<code>_24): New.
997 * config/m32c/m32c.c (compare_op0, compare_op1): New.
998 (m32c_pend_compare): New.
999 (m32c_unpend_compare): New.
1000 (m32c_expand_scc): New.
1001 (m32c_expand_movcc): Emit the compare also.
1002 * config/m32c/predicates.md (mra_nopp_operand): New.
1003
537b8a35
R
10042006-09-01 J"orn Rennecke <joern.rennecke@st.com>
1005 Richard Guenther <rguenther@suse.de>
1006 Adam Nemet <anemet@caviumnetworks.com>
1007
1008 PR middle-end/27226
1009 * builtins.c (get_pointer_alignment): Handle more forms
1010 of base addresses that can be used to derive more precise
1011 information about alignment.
1012
4832214a
JM
10132006-09-01 Jason Merrill <jason@redhat.com>
1014
1015 PR c++/28899
1016 * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle
1017 want_value.
1018
1019 * gimplify.c (voidify_wrapper_expr): Handle null type.
1020
f0ce7858
JC
10212006-09-01 Josh Conner <jconner@apple.com>
1022
1023 PR c++/25505
1024 * tree-nrv.c (dest_safe_for_nrv_p): New function.
1025 (execute_return_slot_opt): Use it.
1026
ebdd079a
JC
10272006-08-31 Josh Conner <jconner@apple.com>
1028
1029 PR c++/25505
1030 * tree-gimple.c (is_gimple_mem_rhs): Recognize functions
1031 returning aggregates.
1032
1e5787ef
ZD
10332006-08-31 Zdenek Dvorak <dvorakz@suse.cz>
1034
1035 PR tree-optimization/28839
1036 * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in
1037 blocks in that phi arguments appear.
1038
6a10f7b3
RS
10392006-08-31 Roger Sayle <roger@eyesopen.com>
1040
1041 PR other/22313
1042 * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
05d36da1 1043 NULL, otherwise use an advance_loc4 to adjust relative to the
6a10f7b3
RS
1044 current label.
1045 (output_cfi) <DW_CFA_set_loc>: Update the current label.
1046 (dwarf2out_switch_text_section): Reset the current label to avoid
1047 using advance_loc4 over section boundaries.
1048
e4f2cd43
AK
10492006-08-31 Andreas Krebbel <krebbel1@de.ibm.com>
1050
1051 PR target/24367
1052 * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
1053 r12 + SYMBOLIC_CONST.
1054
c87555d6
RG
10552006-08-30 Richard Guenther <rguenther@suse.de>
1056
1057 * Makefile.in (see.o): Add $(EXPR_H) dependency.
1058
dc14f191
ZD
10592006-08-30 Zdenek Dvorak <dvorakz@suse.cz>
1060
1061 PR rtl-optimization/27735
1062 * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
1063 Add new argument to keep track of whether an irreducible region
1064 was affected. All callers changed.
1065 (fix_irreducible_loops): Removed.
1066 (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
1067 flags were invalidated.
1068
e370818b
L
10692006-08-29 H.J. Lu <hongjiu.lu@intel.com>
1070
1071 * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands
1072 instead of SF operands.
1073 (*fop_df_comm_sse): Likewise.
1074 (*fop_df_comm_i387): Likewise.
1075 (*fop_df_1_mixed): Likewise.
1076 (*fop_df_1_sse): Likewise.
1077
b666f3cf 10782006-08-29 Andrew Pinski <pinskia@physics.uc.edu>
227e9f62
JR
1079 J"orn Rennecke <joern.rennecke@st.com>
1080
1081 PR tree-optimization/17506
1082 * tree-ssa.c (warn_uninit): If warning about a location outside of
1083 the current function, note where the variable was declared.
1084
f414f2f3
ZD
10852006-08-28 Zdenek Dvorak <dvorakz@suse.cz>
1086
1087 PR tree-optimization/28411
1088 * double-int.c (double_int_div): Use double_int_divmod.
1089 (double_int_divmod, double_int_sdivmod, double_int_udivmod,
1090 double_int_mod, double_int_smod, double_int_umod): New functions.
1091 * double-int.h (double_int_divmod, double_int_sdivmod,
1092 double_int_udivmod, double_int_mod, double_int_smod, double_int_umod):
1093 Declare.
1094 * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result
1095 in double_int.
1096 (get_computation_aff, get_computation_cost_at): Handle double_int
1097 return type of constant_multiple_of.
1098
03a569a3
KH
10992006-08-28 Kazu Hirata <kazu@codesourcery.com>
1100
1101 PR middle-end/26632
1102 * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on
1103 an implicit conversion.
1104
1aeceea4
PT
11052006-08-28 Prafulla Thakare <prafullat@kpitcummins.com>
1106
1107 * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New.
1108
7f22b9fc
RS
11092006-08-27 Roger Sayle <roger@eyesopen.com>
1110
1111 * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
1112 x87 instructions.
1113
69b3f75b
KH
11142006-08-27 Kazu Hirata <kazu@codesourcery.com>
1115
1116 * config/i386/crtfastmath.c: Fix a comment typo.
1117
c782c2fe
RS
11182006-08-26 Roger Sayle <roger@eyesopen.com>
1119
1120 * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating
1121 temporary visit flags on CASE_LABEL_EXPRs.
1122 * c-common.c (match_case_to_enum): Add function comment. Avoid
1123 O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN.
1124 (c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and
1125 CASE_HIGH_SEEN for enumerated types. If the switch expression is
1126 a constant, only warn if that constant value isn't handled.
1127
02ec74b9
JM
11282006-08-26 Joseph S. Myers <joseph@codesourcery.com>
1129
1130 PR c++/24009
1131 * input.h (restore_input_file_stack): Declare.
1132 (INPUT_FILE_STACK_BITS): Define.
1133 * toplev.c (fs_p, input_file_stack_history,
1134 input_file_stack_restored, restore_input_file_stack): New.
1135 (push_srcloc, pop_srcloc): Check for input_file_stack_tick
1136 overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack.
1137 (pop_srcloc): Don't free old state of stack.
1138
63d0dca4
DE
11392006-08-26 David Edelsohn <edelsohn@gnu.org>
1140
1141 PR target/27544
1142 * doc/extend.texi (PowerPC Variable Attributes): Mention altivec.
1143 (PowerPC Type Attributes): New.
1144
d2348985
BW
11452006-08-26 Bob Wilson <bob.wilson@acm.org>
1146
1147 * config/xtensa/xtensa.c (function_arg_boundary): New.
1148 (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to
1149 STACK_BOUNDARY.
1150 * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new
1151 function_arg_boundary function that limits alignment to STACK_BOUNDARY.
1152
fa1ff4eb
JJ
11532006-08-26 Jakub Jelinek <jakub@redhat.com>
1154
1155 PR middle-end/28683
1156 * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
1157 3 following insns.
1158
75a83c65
VR
11592006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1160
1161 * flow.c (verify_wide_reg): Use internal_error for consistency failure.
1162 (verify_local_live_at_start): Likewise.
1163
4c923c28
JM
11642006-08-25 Joseph S. Myers <joseph@codesourcery.com>
1165
1166 PR c/27893
1167 * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval,
1168 omp_add_variable): Treat sizes as variable whenever not
1169 INTEGER_CST.
1170
45988118
RG
11712006-08-26 Richard Guenther <rguenther@suse.de>
1172
1173 PR middle-end/28814
1174 * fold-const.c (fold_binary): Fold temporary to correct
1175 type before constructing new comparison.
1176
a942cc86
JM
11772006-08-25 Fariborz Jahanian <fjahanian@apple.com>
1178
1179 PR c/28418
1180 * c-gimplify.c (gimplify_compound_literal_expr): Don't add
1181 variable again if DECL_SEEN_IN_BIND_EXPR_P.
1182
d8890adf
JM
11832006-08-25 Joseph S. Myers <joseph@codesourcery.com>
1184
1185 PR c/28299
1186 * c-decl.c (start_function): Don't try to process prototype
1187 information from old declaration that isn't a function.
1188
02709c7f
JH
11892006-08-25 Jan Hubicka <jh@suse.cz>
1190
1191 PR target/28621
1192 * config/i386/crtfastmath.c (set_fast_math): Force stack alignment.
1193
90d3ff1c
AM
11942006-08-25 Alan Modra <amodra@bigpond.net.au>
1195
1196 PR target/27075
1197 * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
1198 for 8 byte objects.
1199
e88e0907
R
12002006-08-25 J"orn Rennecke <joern.rennecke@st.com>
1201
1202 PR tree-optimization/16876
1203 * c-typeck.c (c_convert_parm_for_inlining): Don't take early
1204 exit if PARM doesn't match VALUE.
1205
9eb8a531
BW
12062006-08-25 Bob Wilson <bob.wilson@acm.org>
1207
1208 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a
1209 literal_prefix directive.
1210 (XTENSA_DECLARE_FUNCTION_SIZE): Delete.
1211 * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
1212 * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
1213
4eb585a4
DE
12142006-08-25 David Edelsohn <edelsohn@gnu.org>
1215
1216 PR target/28753
1217 * config/rs6000/rs6000.md (movcc_internal1): Change operand 1
1218 predicate to general_operand. Add 0->y and I->r alternatives.
1219
86c33cd0
KH
12202006-08-25 Kazu Hirata <kazu@codesourcery.com>
1221
1222 * doc/tm.texi: Fix a typo.
1223 * predict.c: Fix comment typos.
1224
816e93eb
NC
12252006-08-25 Nick Clifton <nickc@redhat.com>
1226
1227 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
1228 assertions of "cpu" and "machine".
1229
aa666e00
AP
12302006-08-24 Andrew Pinski <pinskia@physics.uc.edu>
1231
1232 PR tree-opt/28807
1233 * tree-ssa-operands.c (access_can_touch_variable): Don't say
1234 the access through a base which has an alias set of 0 cannot
1235 touch the variable.
1236
12372006-08-24 Bill Wendling <wendling@apple.com>
8b7d4300
BW
1238
1239 * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
05d36da1 1240
7ef701a8
JH
12412006-08-24 Jan Hubicka <jh@suse.cz>
1242
1243 * reload1.c (emit_reload_insns): Fix yet another typo in my patch.
1244
a418679d
JH
12452006-08-24 Jan Hubicka <jh@suse.cz>
1246
1247 PR debug/26881
1248 * cgraph.c: Fix comments.
1249 (cgraph_varpool_mark_needed_node): Mark only variables not already
1250 output to file.
1251 * cgraphunit.c: Update comments; include gt-cgraphunit.h
1252 (cgraph_varpool_assembled_nodes_queue): New static variable.
1253 (cgraph_varpool_assemble_decl): Record output decls for debug out code.
1254 (cgraph_varpool_output_debug_info): New function.
1255 (cgraph_finalize_compilation_unit, cgraph_optimize): Call it.
1256 * Makefile.in: Add gt-cgraphunit.h
1257
2c9e13f3
JH
12582006-08-24 Jan Hubicka <jh@suse.cz>
1259
1260 * predict.c (probability_reliable_p): New predicate.
1261 (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise.
1262 (predict_loops): Do not predict loop exit with less than 2%
1263 probability.
1264 * basic-block.h (edge_probability_reliable_p,
1265 br_prob_note_reliable_p): Declare.
1266 * ia64.h (ia64_print_operand): Do not disable on-chip branch
1267 prediction when static predictor is not reliable.
1268 * rs6000.c (output_cbranch): Likewise.
1269
12b3553f
SH
12702006-08-23 Stuart Hastings <stuart@apple.com>
1271
1272 PR 28825
1273 * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate,
1274 ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test.
1275
9a23b833
GK
12762006-08-21 Geoffrey Keating <geoffk@apple.com>
1277
1278 PR debug/28692
1279 * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for
1280 complex values, nor for generic vector values.
1281
8a613cae
RG
12822006-08-22 Richard Guenther <rguenther@suse.de>
1283
1284 PR middle-end/28776
1285 * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt
1286 parameter. Convert arguments to arithmetic expression to the
1287 chrecs type.
1288 (analyze_scalar_evolution_1): Adjust caller.
1289
1f6c68ed
JH
12902006-08-22 Jan Hubicka <jh@suse.cz>
1291
1292 Patch by Paolo Bonzini
1293 * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by
1294 my previous patch.
1295
ca858709
DB
12962006-08-22 Daniel Berlin <dberlin@dberlin.org>
1297
1298 PR tree-optimization/28003
1299 * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered
1300 before grouping aliases.
1301
883259c6
RS
13022006-08-22 Roger Sayle <roger@eyesopen.com>
1303
1304 * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG
1305 if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE.
1306
c6c7698d
JM
13072006-08-21 Jason Merrill <jason@redhat.com>
1308
1309 PR c++/27115
1310 * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a
1311 wrapper. Loop to handle nested wrappers.
1312 (gimplify_bind_expr): Remove temp parameter.
1313 (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR
1314 and STATEMENT_LIST on the rhs.
1315 (gimplify_statement_list): Voidify the STATEMENT_LIST.
1316 (gimplify_expr): Pass pre_p to gimplify_statement_list.
1317 (gimplify_target_expr): Remove special BIND_EXPR handling.
1318
34302d13
R
13192006-08-21 J"orn Rennecke <joern.rennecke@st.com>
1320
1321 * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with
1322 #if !__SHMEDIA__ .
1323
85d89e76
OH
13242006-08-21 Olivier Hainque <hainque@adacore.com>
1325
1326 * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>:
1327 Arrange for the temporary captures of components overlapping the lhs
1328 to happen before the lhs is possibly cleared.
05d36da1 1329
08a557f6 13302006-08-21 Mark Shinwell <shinwell@codesourcery.com>
e753d130 1331
08a557f6
MS
1332 * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in
1333 necessary places to pass the correct "number of registers" values
1334 to _Unwind_VRS_Pop.
1335
1af4bba8
JH
13362006-08-20 Jan Hubicka <jh@suse.cz>
1337
1338 * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function.
1339 (create_name_tags): Instead of quadratic checking use hashtable.
1340 * bitmap.h: Include hashtab.h.
1341 (bitmap_hash): Declare.
1342 * bitmap.c (bitmap_hash): New function.
1343
70d539ce
JH
13442006-08-20 Jan Hubicka <jh@suse.cz>
1345
1346 PR rtl-optimization/28071
1347 * tree-optimize.c (tree_rest_of_compilation): Do not remove edges
1348 twice.
1349 * tree-inline.c (copy_bb): Use cgraph_set_call_stmt.
1350 * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument.
1351 (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function,
1352 cgraph_decide_inlining_incrementally): Update use of
1353 cgraph_check_inline_limits.
1354 * cgraph.c (edge_hash, edge_eq): New function.
1355 (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge,
1356 cgraph_edge_remove_caller, cgraph_node_remove_callees,
1357 cgraph_remove_node): Maintain call site hash.
1358 * cgraph.h (struct cgraph_node): Add call_site_hash.
1359 (cgraph_set_call_stmt): New function.
1360
2c61f5f1
JH
13612006-08-20 Jan Hubicka <jh@suse.cz>
1362
1363 PR rtl-optimization/28071
1364 * reload1.c (reg_has_output_reload): Turn into regset.
1365 (reload_as_needed, forget_old_reloads_1, forget_marked_reloads,
1366 choose_reload_regs, emit_reload_insns): Update to new
1367 reg_has_output_reload.
1368
1057fc81
JH
13692006-08-20 Jan Hubicka <jh@suse.cz>
1370
1371 PR middle-end/28779
1372 * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute
1373 function body sizes.
1374 * cgraphunit.c (cgraph_analyze_function): Don't do so.
1375
13762006-08-20 Danny Smith <dannysmith@users.sourceforge.net>
09416794
DS
1377
1378 PR target/28648 c:
1379 * tree.c (handle_dll_attribute): Return early if not a
e753d130 1380 var or function decl.
09416794 1381
16e7a51f
JM
13822006-08-18 Joseph Myers <joseph@codesourcery.com>
1383
1384 PR target/27565
1385 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
1386 alignment of SPE vector types.
1387
0a565147
CJ
13882006-08-18 Christophe Jaillet <christophe.jaillet@wanadoo.fr>
1389
1390 * tree.c (is_attribute_with_length_p): Remove a duplicated assert.
1391
343d4b27
JJ
13922006-08-17 Jakub Jelinek <jakub@redhat.com>
1393
1394 PR c/28744
1395 * cgraph.h (struct cgraph_node): Remove externally_visible
1396 bitfield.
1397 * cgraphunit.c (process_function_and_variable_attributes): Set
1398 local.externally_visible rather than externally_visible.
1399
1400 PR c/28744
1401 * c-common.c (handle_externally_visible_attribute): First look
1402 at TREE_CODE and only if it is function or var decl, check for
1403 non-public objects. Don't warn for DECL_EXTERNAL.
1404 * cgraphunit.c (process_function_and_variable_attributes): Warn
1405 if externally_visible attribute is used on non-public object.
1406
db4c7386
JH
14072006-08-17 Jan Hubicka <jh@suse.cz>
1408
1409 PR tree-optimization/27865
1410 * reload1.c (forget_marked_reloads): New function.
1411 (forget_old_reloads_1): When data are passed, just mark the registers
1412 for later removal.
1413 (reload_as_needed): Use the new mechanizm.
1414
3f1e3e70
AO
14152006-08-17 Alexandre Oliva <aoliva@redhat.com>
1416
1417 PR target/28146
1418 * reload.h (reg_equiv_alt_mem_list): New declaration.
1419 * reload1.c (reg_equiv_alt_mem_list): New definition.
1420 (reload): Initialize it and release it.
1421 (delete_output_reload): Use it.
1422 * reload.c (push_reg_equiv_alt_mem): New function.
1423 (find_reloads_toplev): Call it.
1424 (find_reloads_address, find_reloads_address_1): Likewise.
1425 (find_reloads_subreg_address): Likewise.
1426
d3b30e42
MK
14272006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
1428
1429 PR rtl-optimization/28489
1430 * sched-ebb.c (begin_schedule_ready): Create basic block
1431 at the right place.
1432 (advance_target_bb): Skip empty blocks.
1433 * haifa-sched.c (bb_note): Make global.
1434 * sched-int.h (bb_note): Add prototype.
1435
20527215
ZD
14362006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
1437
1438 PR tree-optimization/27865
1439 * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE
1440 for pointer types.
1441 * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p,
1442 fold_used_pointer, pointer_used_p): New functions.
1443 (analyze_scalar_evolution_1): Use fold_used_pointer.
1444 * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly.
1445 * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type
1446 for pointers.
1447
6d4d7b0e
PB
14482006-08-17 Paolo Bonzini <bonzini@gnu.org>
1449
1450 PR c++/28573
1451 * c-common.c (fold_offsetof_1): Add an argument and recurse down to it
05d36da1 1452 or the INTEGER_CST. Fail on a CALL_EXPR.
6d4d7b0e
PB
1453 (fold_offsetof): Pass new argument to fold_offsetof_1.
1454 * c-parser.c (c_parser_postfix_expression): Don't include a NULL
05d36da1 1455 operand into an INDIRECT_REF.
6d4d7b0e
PB
1456 * c-typeck.c (build_unary_op): Adjust call to fold_offsetof.
1457
7e2f40af
ZD
14582006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
1459
1460 PR gcov/profile/26570
1461 * value-prof.c (static_values): Removed.
1462 (tree_find_values_to_profile): Do not set static_values.
1463 (find_values_to_profile): Do not free static_values.
1464 * profile.c (instrument_values): Do not free the values.
1465 (branch_prob): Free the values.
1466
d8db3756
N
14672006-08-16 Naveen.H.S <naveenh@kpitcummins.com>
1468
1469 * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest.
1470
efed193e
JM
14712006-08-16 Joseph S. Myers <joseph@codesourcery.com>
1472
1473 PR c/27697
1474 * c-typeck.c (build_component_ref): Combine qualifiers of
1475 structure or union and field.
1476
f074ff6c
ZD
14772006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
1478
1479 PR rtl-optimization/28071
1480 * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare.
1481 * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions.
1482 * tree-into-ssa.c (struct dom_dfsnum): New.
1483 (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New
1484 functions.
1485 (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of
1486 compute_global_livein.
1487 (prepare_block_for_update, prepare_use_sites_for): Mark the uses
1488 in phi nodes in the correct blocks.
1489
b43a2366
ZD
14902006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
1491
1492 PR tree-optimization/28364
1493 * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero
1494 correctly.
1495 (fold_affine_expr): New function.
1496 (may_eliminate_iv): Use fold_affine_expr.
1497
c58e8676
VR
14982006-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1499
1500 PR c/27489
1501 * c-typeck.c (c_start_case): Handle invalid orig_type correctly.
1502 Clean up.
1503
e8c96d09
MS
15042006-08-16 Mike Stump <mrs@apple.com>
1505
1506 * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref.
1507 * doc/cppopts.texi (-MD): Likewise.
1508
55af93a8
DS
15092006-08-15 Danny Smith <dannysmith@users.sourceforge.net>
1510
1511 PR c/28287
1512 * c-common.c (handle_weak_attribute): Ignore and warn if
1513 not a FUNCTION_ or VAR_DECL.
1514
4adb785d
MS
15152006-07-15 Mike Stump <mrs@apple.com>
1516
1517 PR c/28280
1518 * c-parser.c (c_parser_typeof_specifier): Don't use
1519 c_finish_expr_stmt, open code desired semantics instead.
1520
b0faa35c
NC
15212006-08-15 Nick Clifton <nickc@redhat.com>
1522
1523 * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile
1524 fragment to tmake_file only if threads are enabled.
1525 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to...
1526 * config/i386/t-gthr-win32: New file. ... here.
1527
2c14ae9a
VR
15282006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1529
1530 PR c/28649
1531 * c-parser.c (c_parser_compound_statement_nostart): Reset
1532 parser->error after each statement.
1533
d0f53cbc
JJ
15342006-08-15 Jakub Jelinek <jakub@redhat.com>
1535
018b899b
JJ
1536 PR middle-end/28713
1537 * omp-low.c (lower_omp_parallel): Convert t to
1538 receiver_decl's type.
1539 (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR
1540 source before comparison.
1541
d0f53cbc
JJ
1542 PR middle-end/28724
1543 * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival
1544 to itype in assignment to oldival2.
1545
e63d6886
AP
15462006-07-14 Andrew Pinski <pinksia@physics.uc.edu>
1547
1548 PR c/27490
1549 PR c/27489
1550 * c-typeck.c (build_compound_expr): If the second expression
1551 is an error mark, then just return an error mark instead of
1552 creating a COMPOUND_EXPR.
1553
df511f32
MS
15542006-07-14 Mike Stump <mrs@apple.com>
1555
1556 * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES.
1557
96ff6c8c
KH
15582006-08-14 Kazu Hirata <kazu@codesourcery.com>
1559
1560 * c-decl.c, var-tracking.c: Fix comment typos.
1561
2b3969fa
RS
15622006-08-14 Richard Sandiford <richard@codesourcery.com>
1563
1564 PR rtl-optimization/28634
1565 * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A
1566 for floating-point modes unless flag_unsafe_math_optimizations.
1567
8d9f82d5
AO
15682006-08-13 Alexandre Oliva <aoliva@redhat.com>
1569 Andrew Pinski <pinskia@physics.uc.edu>
1570
1571 PR c/27184
1572 * tree.c (build_array_type): Unify array types with
1573 unspecified index_type.
1574 * c-decl.c (grokdeclarator): Make sure we do not modify a
1575 unified incomplete array type.
1576 * c-typeck.c (store_init_value): Create distinct type before
1577 filling in the index type in an initializer from a compound
1578 literal.
1579
1580 * c-decl.c (grokdeclarator): Remove code where we copy the
1581 array type over.
1582
0bff60e5
AP
15832006-08-13 Andrew Pinski <pinskia@physics.uc.edu>
1584
1585 * tree-pass.h (TODO_update_ssa): Fix which bit is used to take
1586 into account for TODO_dump_cgraph.
1587 (TODO_update_ssa_no_phi): Likewise.
1588 (TODO_update_ssa_full_phi): Likewise.
1589 (TODO_update_ssa_only_virtuals): Likewise.
1590 (TODO_remove_unused_locals): Likewise.
1591 (TODO_set_props): Likewise.
1592 (TODO_update_stmt_usage): Likewise.
1593
3f0a2a47
DM
15942006-08-13 Dirk Mueller <dmueller@suse.de>
1595
1596 * c-common.c (strict_aliasing_warning): Fix formatting.
1597
37470119
MK
15982006-08-13 Matthias Klose <doko@debian.org>
1599
1600 * doc/invoke.texi: Fix spelling errors.
1601
105ebae8
EB
16022006-08-11 Eric Botcazou <ebotcazou@libertysurf.fr>
1603
1604 PR rtl-optimization/23454
1605 * reorg.c (relax_delay_slots): Update comment.
1606
e0d0c193
RG
16072006-08-11 Richard Guenther <rguenther@suse.de>
1608
1609 PR middle-end/28651
1610 * simplify-rtx.c (simplify_const_relational_operation):
1611 Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison
1612 codes.
1613
7175769a 16142006-08-10 Eric Botcazou <ebotcazou@adacore.com>
5d5995f1
EB
1615
1616 * tree.c (build1_stat): Also propagate the TREE_CONSTANT and
1617 TREE_INVARIANT flags for a VIEW_CONVERT_EXPR.
1618
9a1a4737
PB
16192006-08-10 Paul Brook <paul@codesourcery.com>
1620
1621 * final.c (final_scan_insn): Clear current_insn_predicate before
1622 outputting inline asm.
1623
cc0968b0
DN
16242006-08-10 Dorit Nuzman <dorit@il.ibm.com>
1625
1626 PR tree-optimization/26197
1627 * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls
1628 get_ref_base_and_extent and overlap_subvar to add only relevant
1629 subvars as may-aliases.
1630 (add_may_alias_for_new_tag): New function, factored out of
1631 new_type_alias.
1632 * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias
1633 with additional argument.
1634 * tree-flow.h (new_type_alias): Takes additional argument.
1635
80b3502b
NS
16362006-08-09 Nathan Sidwell <nathan@codesourcery.com>
1637
1638 * gcov.c (no_data_file): New flag.
1639 (read_count_file): Set it if data file not present. Assume counts
1640 zero if not found.
1641 (output_lines): Don't name the data file, if there wasn't one.
1642
cef6b86c
EB
16432006-08-09 Eric Botcazou <ebotcazou@adacore.com>
1644
1645 * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust.
1646 (rs6000_generate_compare): Tweak comments.
1647 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment.
1648
ca787200
AO
16492006-08-09 Alexandre Oliva <aoliva@redhat.com>
1650
1651 * var-tracking.c (enum micro_operation_type): Add MO_COPY.
1652 (var_debug_decl): New function.
1653 (var_reg_set): Follow debug decl link. Add location even if
1654 reg is already known to hold some other variable.
1655 (var_mem_set): Follow debug decl link.
1656 (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug
1657 decl link. Delete other known locations of the variable part
1658 if requested.
1659 (var_reg_delete, var_mem_delete): Delete other known locations
1660 of the variable part if requested.
1661 (same_variable_part_p): New function.
1662 (add_stores): Select MO_COPY when appropriate.
1663 (vt_initialize): Handle it.
1664 (compute_bb_dataflow, emit_notes_in_bb): Likewise. Delete
1665 known locations for MO_SET and MO_CLOBBER.
1666 (find_variable_location_part): New function.
1667 (set_variable_part, delete_variable_part): Use it.
1668 (clobber_variable_part): New function.
1669 * dwarf2out.c (dwarf2out_var_location): Do not follow debug
1670 decl link.
1671
4192d75b 16722006-08-07 Victor Kaplansky <victork@il.ibm.com>
2f6fc0b6 1673
e753d130
AP
1674 PR tree-optimization/26969
1675 * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
1676 with an empty list of PHIs.
2f6fc0b6 1677
bab1de0a
PB
16782006-08-06 Paolo Bonzini <bonzini@gnu.org>
1679
1680 PR target/27827
1681
1682 * conffig/i386/i386.md: Add peephole2 to avoid "fld %st"
1683 instructions.
1684
884b74f0
AS
16852006-08-06 Andreas Schwab <schwab@suse.de>
1686
1687 * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format
1688 string. Whitespace and comment fixup.
1689
85cad37c
VR
16902006-08-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1691
ffc44ab6
VR
1692 PR c/28502
1693 * c-decl.c (validate_proto_after_old_defn): Return false on invalid
1694 argument.
1695
c0bcacec
VR
1696 PR c/27721
1697 * c-typeck.c (build_modify_expr): Test earlier for non-lvalues.
1698
85cad37c
VR
1699 PR c/28136
1700 * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify.
1701
71156bcc
JH
17022006-08-04 Jan Hubicka <jh@suse.cz>
1703
1704 PR target/26655
1705 PR target/28270
85cad37c
VR
1706 * reload.c (push_reload): Patch out the mismatching instruction;
1707 return early.
71156bcc
JH
1708 (find_reload): Bail out if the instruction was patched out.
1709
9659ce8b
JH
17102006-08-04 Jan Hubicka <jh@suse.cz>
1711
1712 PR tree-optimization/24888
1713 * tree-inline.c (expand_call_inline): Do not re-record variables.
1714 (declare_inline_vars): Add variable to unexpanded_var_list.
1715
824a4527
JDA
17162006-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1717 Roger Sayle <roger@eyesopen.com>
1718
1719 PR rtl-optimization/26244
1720 * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
1721 inner_const are negative or greater than or equal to the bitsize of
1722 MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
1723 Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
1724 Simplify complicated if statement. For ASHIFT and LSHIFTRT, return
1725 CONST0_RTX (mode) when the new shift count is greater than or equal to
1726 to the bitsize of the object being shifted and XEXP (y, 0) has no side
1727 effects.
1728
de1e45c3
KH
17292006-08-04 Kazu Hirata <kazu@codesourcery.com>
1730
1731 * tree-cfg.c: Fix a comment typo.
1732
f092a866
MM
17332006-08-03 Mark Mitchell <mark@codesourcery.com>
1734
1735 PR c++/28148
1736 * varasm.c (output_constant): Give the front end another chance to
1737 expand constants, after stripping NOPs.
1738
df648b94
JH
17392006-08-03 Jan Hubicka <jh@suse.cz>
1740
1741 * domwalk.c (walk_dominator_tree): Reorganize to non-recursive
1742 implementation.
1743
0be79f24
DN
17442006-08-03 Dorit Nuzman <dorit@il.ibm.com>
1745
e753d130
AP
1746 PR tree-optimization/27770
1747 * tree-vectorizer.h (get_vectype_for_scalar_type): Function
1748 declaration removed (moved to tree-flow.h).
1749 (vect_can_force_dr_alignment_p): Likewise.
1750 * tree-flow.h (get_vectype_for_scalar_type): New function declaration
1751 (moved from tree-vectorizer.h).
1752 (vect_can_force_dr_alignment_p): Likewise.
1753 * tree-vectorizer.c (vect_print_dump_info): Allow calling this function
1754 from outside the vectorizer - in particular from cgraph stage.
1755 * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase
1756 the alignment of global arrays when -fsection-anchors is enabled.
1757 * cgraphunit.c (cgraph_increase_alignment): New function.
1758 (cgraph_optimize): Call cgraph_increase_alignment.
0be79f24 1759
1650e3f5
DE
17602006-08-03 David Edelsohn <edelsohn@gnu.org>
1761
1762 PR target/27566
1763 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
1764 not reload a SPE symbol_ref into a lo_sum address.
1765
19450f2b
DJ
17662006-08-02 Daniel Jacobowitz <dan@codesourcery.com>
1767
1768 PR debug/28063
1769 * dwarf2out.c (prune_unused_types_prune): Move call to
1770 prune_unused_types_update_strings to cover the parent DIE also.
1771
0a4fe58f
JH
17722006-08-02 Jan Hubicka <jh@suse.cz>
1773
1774 PR gcov/profile/28480
1775 * tree-cfg.c (change_bb_for_stmt): New function.
1776 (tree_merge_blocks, tree_split_blocks): Use it.
1777
413803d3
VR
17782006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1779
1780 PR c++/28250
1781 PR c++/28257
1782 PR c++/28259
1783 PR c++/28267
1784 * toplev.c (compile_file): Return early on errorcount or sorrycount.
1785 * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
1786 (cgraph_optimize): Likewise.
1787
4fbbe694
SH
17882006-08-01 Stuart Hastings <stuart@apple.com>
1789
1790 * rtl.h (UINTVAL) New.
1791 * config/rs6000/rs6000.c (SMALL_INT) Use it.
1792 * testsuite/gcc.dg/20060801-1.c: New.
05d36da1 1793
6193b8b7
DJ
17942006-08-01 Daniel Jacobowitz <dan@codesourcery.com>
1795
1796 PR debug/23336
1797 * c-typeck.c (build_external_type): Mark used enum types.
1798 * dwarf2out.c (dwarf2out_abstract_function): Save and restore
1799 cfun also.
1800 (gen_subprogram_die): Whitespace fix.
1801
9824b886
JH
18022006-08-01 Jan Hubicka <jh@suse.cz>
1803
1804 * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars
1805 bitmap when not needed.
1806 * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary
1807 bitmaps.
1808
53743367
DM
18092006-08-01 Dirk Mueller <dmueller@suse.de>
1810
1811 * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
1812
73e9d512
VR
18132006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1814
1815 * Makefile.in: Revert part of previous patch:
1816 Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H
1817 and REGS_H.
1818
1ccbef77
EC
18192006-07-30 Eric Christopher <echristo@apple.com>
1820
1821 PR target/27543
1822 * doc/extend.texi (i386 Variable Attributes): Add anchor.
1823 (PowerPC Variable Attributes): New section.
1824
56ee081b
AN
18252006-07-30 Atsushi Nemoto <anemo@mba.ocn.ne.jp>
1826
1827 PR target/28126 (partial fix)
1828 * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
1829
370adb7b
JH
18302006-07-28 Jan Hubicka <jh@suse.cz>
1831
1832 PR rtl-optimization/28071
1833 * cfgrtl.c (rtl_delete_block): Free regsets.
1834 * flow.c (allocate_bb_life_data): Re-use regsets if available.
1835
48779194
VR
18362006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1837
1838 * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies
1839 and variables used in dependencies.
1840
fa6adcab
AV
18412006-07-27 Arjan van de Ven <arjan@linux.intel.com>
1842
1843 * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than
1844 %fs for -mcmodel=kernel.
1845 (stack_tls_protect_test_di): Likewise.
1846
ab7efd91
CD
18472006-07-27 Carlos O'Donell <carlos@codesourcery.com>
1848
1849 * Makefile.in: Use mkinstalldirs.
1850
faa88843
L
18512006-07-27 H.J. Lu <hongjiu.lu@intel.com>
1852
1853 PR driver/28437
1854 * opts-common.c (prune_options): Skip joined switches.
1855
96d0cc81
JH
18562006-07-27 Jan Hubicka <jh@suse.cz>
1857
1858 PR rtl-optimization/28071
1859 * cselib.c (cselib_process_insn): Don't remove useless values too
1860 often for very large hashtables.
1861
69bfd3c9
JH
18622006-07-27 Jan Hubicka <jh@suse.cz>
1863
1864 PR rtl-optimization/28071
1865 * global.c (greg_obstack): New obstack.
1866 (allocate_bb_info): Use it.
1867 (free_bb_info): Likewise.
1868 (modify_reg_pav): Likewise.
1869
482c6ce8
RS
18702006-07-27 Roger Sayle <roger@eyesopen.com>
1871
1872 * builtins.c (fold_fixed_mathfn): When long and long long are the
1873 same size, canonicalize llceil*, llfloor*, llround* and llrint*
1874 functions to their lceil*, lfloor*, lround* and lrint* forms.
1875
721cedf2
KI
18762006-07-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1877
1878 PR gcc/28508
1879 * config/m32r/m32r.md (branch_insn): Reduce pc range for short
1880 branch.
1881 (rev_branch_insn): Likewise.
1882
65d169d9
JH
18832006-07-27 Jan Hubicka <jh@suse.cz>
1884
1885 PR rtl-optimization/28071
1886 * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour.
1887 (reg_set_in_bb, max_reg_computed): New static variables.
1888 (regmove_optimize): Free the new array.
1889 (fixup_match_1): Update call of reg_is_remote_constant_p.
1890
96fc428c
JH
18912006-07-26 Jan Hubicka <jh@suse.cz>
1892
1893 PR tree-optimization/27882
1894 * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous
1895 and decl fields.
1896 * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill
1897 next pointer
1898 (cgraph_analyze_compilation_unit): Likewise.
1899 * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
1900 * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise.
1901 (cgraph_early_inlinine): Make order garbage collected.
1902 * Makefile.in (gt-ipa-inline): New garbagecollected file.
1903
88c4be5e
DJ
19042006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
1905
1906 * dbxout.c (output_types_sort): Add a comment.
1907 (output_used_types): Free the VEC.
1908
51b7d006
DJ
19092006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
1910
1911 * function.c (reorder_fix_fragments): Delete.
1912 (reorder_blocks): Don't call it.
1913 (reorder_blocks_1): Put all subblocks under the origin block.
1914
e69e3d0e
ZD
19152006-07-26 Zdenek Dvorak <dvorakz@suse.cz>
1916
1917 PR rtl-optimization/27907
1918 * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and
1919 FLOAT_TRUNCATE.
1920
738764ef
RS
19212006-07-25 Roger Sayle <roger@eyesopen.com>
1922
1923 PR middle-end/28473
1924 * convert.c (convert_to_integer): When transforming (T)foo(x) into
1925 bar(x) check that bar's result type can represent all the values of T.
1926
cdc30c45
ZD
19272006-07-25 Zdenek Dvorak <dvorakz@suse.cz>
1928
1929 * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure.
1930
6583cf15
NC
19312006-07-25 Nick Clifton <nickc@redhat.com>
1932
1933 * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the
1934 size_lookup[] array.
1935 (ggc_alloc_stat): Use NUM_SIZE_LOOKUP.
1936 (ggc_pch_count_object): Likewise.
1937 (ggc_pch_alloc_object): Likewise.
1938 (ggc_pch_write_object): Likewise.
1939 (init_ggc): Do not attempt to initialize entries in the
1940 size_lookup[] array for objects whose size is greater than than
1941 the length of the array.
1942
2daec0f0
DJ
19432006-07-25 Daniel Jacobowitz <dan@codesourcery.com>
1944
1945 * dbxout.c (output_used_types_helper): Push queued types
1946 on a VEC.
1947 (output_types_sort): New.
1948 (output_used_types): Collect used types on a VEC and sort them
1949 before emission.
1950
63c2d00c
RG
19512006-07-24 Richard Guenther <rguenther@suse.de>
1952
1953 PR middle-end/28463
1954 * cgraph.c (cgraph_remove_node): Do not check if dumps
1955 are enabled.
1956 * cgraphunit.c (cgraph_optimize): Likewise.
1957
597ae074
JH
19582006-07-24 Jan Hubicka <jh@suse.cz>
1959
1960 PR rtl-optimization/28071
1961 * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes.
1962 * tree-iterator.c (tsi_split_statement_list_before): Do not crash when
1963 splitting before first stmt.
1964
f10d1a74
JH
19652006-07-24 Jan Hubicka <jh@suse.cz>
1966
1967 PR rtl-optimization/28071
1968 * ipa-inline.c (update_caller_keys): Remove edges that
1969 are no longer inline candidates.
1970
f629051e
DJ
19712006-07-23 Daniel Jacobowitz <dan@codesourcery.com>
1972
1973 PR debug/27473
1974 * dbxout.c (output_used_types_helper, output_used_types): New.
1975 (dbxout_symbol): Call output_used_types.
1976
386b46cf
JH
19772006-07-23 Jan Hubicka <jh@suse.cz>
1978
1979 PR c/25795
1980 PR c++/27369
1981 * cgraph.c (cgraph_varpool_nodes): Export.
1982 (decide_is_variable_needed): Ignored "used" attribute in
1983 unit-at-a-time mode.
1984 * cgraph.h (cgraph_varpool_nodes): Declare.
1985 * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in
1986 unit-at-a-time mode.
1987
74e55d0f
RS
19882006-07-23 Roger Sayle <roger@eyesopen.com>
1989
1990 PR target/28247
1991 * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and
1992 mutex_destroy even when !_LIBOOBJC. Remove duplicate prototype of
1993 the __gthrw form of thr_keycreate.
1994 (__gthread_key_delete): Silence the unused argument warning.
1995
d88259d1
SB
19962006-07-23 Steven Bosscher <steven@gcc.gnu.org>
1997
1998 PR debug/25468
1999 * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
2000 Cache the last found '\0' marker to avoid quadratic behavior.
2001
3dcdd4e4
JH
20022006-07-23 Jan Hubicka <jh@suse.cz>
2003
2004 * i386.md (subsi_3_zext): Fix output template.
2005
dfb84d62
MS
20062006-07-21 Mike Stump <mrs@apple.com>
2007
2008 * doc/invoke.texi (C++ Dialect Options): Note that
2009 -fvisibility-inlines-hidden doesn't affect explicitly
2010 instantiationed inline methods.
2011
79387e57
RS
20122006-07-20 Roger Sayle <roger@eyesopen.com>
2013
2014 * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file
2015 if the target assembler is GNU binutils' gas.
2016 * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine
2017 whether to pass GNU gas or native as command line options.
2018
b70f0f48
JM
20192006-07-20 Jason Merrill <jason@redhat.com>
2020
2021 * tree.c (remove_attribute): New fn.
bd741f34 2022 * tree.h: Declare it.
b70f0f48 2023
05c433f3
PB
20242006-07-20 Paul Brook <paul@codesourcery.com>
2025
2026 PR 27363
2027 * cse.c (cse_insn): Add destination addresses to hash table. Check if
2028 they are invalidated by this instruction.
2029
b0e46dff
DS
20302006-07-21 Danny Smith <dannysmith@users.sourceforge.net>
2031
2032 PR target/28427
e753d130 2033 * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
b0e46dff 2034
1cba2b96
EC
20352006-07-20 Eric Christopher <echristo@apple.com>
2036
2037 PR target/26877
2038 * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder.
2039
96f342c1
EC
20402006-07-19 Eric Christopher <echristo@apple.com>
2041
2042 * config/t-slibgcc-darwin (stmp-lipo): Remove.
2043 Rewrite dependencies for libgcc_s.1.dylib.
2044
4841d432
JJ
20452006-07-19 Jakub Jelinek <jakub@redhat.com>
2046
2047 * except.c (duplicate_eh_regions_1): Clear next_peer.
2048
87c365a4
NS
20492006-07-17 Nathan Sidwell <nathan@codesourcery.com>
2050
2051 * doc/invoke.texi (RS/6000 and PowerPC Options): Document that
2052 -mlongcall does not guarantee all calls will be long.
2053 * doc/extend.texi (long_call/short_call): Document that longcall
2054 does not guarantee a long call will be used.
2055 (longcall/shortcall): Likewise.
2056
cb2eb96f
RS
20572006-07-18 Roger Sayle <roger@eyesopen.com>
2058
2059 PR middle-end/28283
2060 * expmed.c (expand_shift): Additionally check that the shift_cost
2061 is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
2062 before implementing a LSHIFT_EXPR as a sequence of additions.
2063 * config/sh/sh.c (shift_costs): Return MAX_COST to inform the
2064 middle-end that DImode shifts need to be synthesized by expand.
2065
548a6c6d
DN
20662006-07-18 Diego Novillo <dnovillo@redhat.com>
2067
2068 PR 28410
2069 * tree-ssa-operands.c (access_can_touch_variable): Update
2070 comment.
2071 Return true if ALIAS is .GLOBAL_VAR.
2072
b3cccd58
DD
20732006-07-18 David Daney <ddaney@avtrex.com>
2074
2075 * gcc.c (display_help): Fix typo in help text.
2076
fe24d485
OH
20772006-07-18 Olivier Hainque <hainque@adacore.com>
2078
2079 * tree.h (categorize_ctor_elements): Adjust prototype and add
2080 descriptive comment, both in accordance with the interface change
2081 described below.
2082 * varasm.c (constructor_static_from_elts_p): New function.
2083 Whether a constructor node is a valid static constant initializer
2084 if all its elements are.
2085 (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
96f342c1 2086 * output.h: Declare it.
fe24d485
OH
2087 * expr.c (categorize_ctor_elements_1): Return whether the constructor
2088 is a valid constant initializer instead of computing the number of
2089 non-constant elements. Use constructor_static_from_elts_p for this
2090 purpose. Replace the head comment with an indication that this is a
2091 helper for categorize_ctor_elements.
2092 (categorize_ctor_elements): Same interface change as for the _1
2093 helper. Former head comment from this helper moved here, adjusted to
2094 account for the interface changes.
2095 (mostly_zeros_p): Adjust call to categorize_ctor_elements.
96f342c1 2096 (all_zeros_p): Likewise.
fe24d485
OH
2097 * gimplify.c (gimplify_init_constructor): Decide whether we can make
2098 static versions of the constructor from the categorize_ctor_elements
2099 return value instead of the formerly computed number of non-constant
2100 elements.
2101
57255173
PB
21022006-07-18 Paolo Bonzini <bonzini@gnu.org>
2103
e753d130
AP
2104 * configure: Regenerate.
2105 * Makefile.in (build_libsubdir): New configure substitution
2106 (build_libobjdir): New variable.
2107 (BUILD_LIBIBERTY): Use it.
57255173 2108
12050e44
VR
21092006-07-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2110
2111 PR c/28286
2112 * c-pragma.c (handle_pragma_pack): Handle invalid constants.
2113
e1cf56b1
AO
21142006-07-18 Alexandre Oliva <aoliva@redhat.com>
2115
2116 PR c/26993
2117 * c-common.c (handle_weakref_attribute): Ignore attribute in
2118 the same conditions the alias attribute is ignored.
2119
e098f3a5
CD
21202006-07-17 Carlos O'Donell <carlos@codesourcery.com>
2121
2122 * dbxout.c (dbxout_function_end): Do not increment scope_labelno.
2123 (dbxout_begin_prologue): Increment scope_labelno.
2124
8bcbc000
RH
21252006-07-17 Richard Henderson <rth@redhat.com>
2126
2127 PR 27889
2128 * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
2129 if needed.
2130
4f5afe7d
RS
21312006-07-17 Roger Sayle <roger@eyesopen.com>
2132 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2133
2134 * config/i386/gmon-sol2.c: Silence compilation warnings by partially
2135 synchronizing code with config/sparc/gmon-sol2.c. Remove #if 0
2136 blocks. #include "tconfig.h" and "tsystem.h" to prototype system
2137 functions such as sbrk, write, etc.. Add function prototypes.
2138 Convert function declarations from K&R to ISO C. Cast pointers
2139 to "long" and "unsigned long" instead of "int" and "unsigned int".
2140 Convert tokens following #endif into comments.
2141
dc5abe77
TM
21422006-07-17 Toon Moene <toon@moene.indiv.nluug.nl>
2143
2144 * invoke.texi: Remove mention of f77; Reformat table for
2145 inline parameter options correctly; mention that -malign-double
2146 is default on x86-64 targets.
2147
64a7ab5f
ZD
21482006-07-17 Zdenek Dvorak <dvorakz@suse.cz>
2149
2150 * tree-chrec.c (avoid_arithmetics_in_type_p): New.
2151 (convert_affine_scev, chrec_convert_aggressive): Use
2152 avoid_arithmetics_in_type_p. Do not check for the subtypes
2153 separately.
2154
2763a67e
RS
21552006-07-17 Richard Sandiford <richard@codesourcery.com>
2156
2157 PR middle-end/28403
2158 * optabs.c (expand_doubleword_shift): Wrap the call to
2159 do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.
2160
f8bdb931
RS
21612006-07-17 Richard Sandiford <richard@codesourcery.com>
2162
2163 PR middle-end/28402
2164 * optabs.c (expand_binop): Pass next_methods rather than methods
2165 to expand_doubleword_shift.
2166
24a7799e
R
21672006-07-17 J"orn Rennecke <joern.rennecke@st.com>
2168
2169 PR other/28251
2170 * tree.h (dump_addr): Declare.
2171 * print-tree.c (dump_addr): New function.
2172 (print_node_brief, print_node): Use it.
2173 * print-rtl.c (print_rtx): Likewise.
2174 * common.opt (-fdump-noaddr): New option.
2175 * doc/invoke.texi (-fdump-noaddr): Document.
2176 * loop-unroll.c (si_info_hash): Make hash independent of addresses.
2177 (ve_info_hash): Likewise.
2178
9d335249
AH
21792006-07-13 Andrew Haley <aph@redhat.com>
2180
2181 PR tree-optimization/19505
2182 * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
2183 edge leaving this block, make sure that the destination of this
2184 block has only one predecessor.
2185
2b65dae5
RG
21862006-07-17 Richard Guenther <rguenther@suse.de>
2187
2188 PR tree-optimization/28238
2189 * tree-inline.c (copy_bb): Check if we produced valid
2190 gimple copying and substituting a stmt. If not, gimplify
2191 it.
2192
3e27aa84
EB
21932006-07-16 Eric Botcazou <ebotcazou@adacore.com>
2194
2195 * optabs.c (maybe_encapsulate_block): New function extracted from...
2196 (emit_libcall_block): ...here. Invoke it on the block of insns to
2197 maybe emit REG_LIBCALL/REG_RETVAL notes around the block.
2198 (emit_no_conflict_block): Likewise.
2199
bb2ffd7f
EB
22002006-07-16 Eric Botcazou <ebotcazou@libertysurf.fr>
2201
c5ee132b 2202 * doc/install.texi (sparc-sun-solaris2*): Add GMP version number.
bb2ffd7f 2203
b0d5d5de
RS
22042006-07-15 Roger Sayle <roger@eyesopen.com>
2205
2206 * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into
2207 a new NOP_EXPR case of the switch statement.
2208
72aeff7c
KK
22092006-07-15 Kaz Kojima <kkojima@gcc.gnu.org>
2210
2211 PR middle-end/28160
2212 * stor-layout.c (place_field): Take the bit field with
2213 an excessive size into account in the ms-bitfiled case.
2214
2215 PR middle-end/28161
2216 * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of
2217 the previous bit field.
2218
27714d43
ED
22192006-07-14 Eliot Dresselhaus <eliot@sonic.net>
2220
2221 PR target/27287
2222 * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
2223
47a4949a
UW
22242006-07-14 Ulrich Weigand <uweigand@de.ibm.com>
2225
2226 * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect
2227 signal frames correctly even when the signal was installed with
2228 sa_restorer set.
2229
1c1534e9 22302006-07-14 Carlos O'Donell <carlos@codesourcery.com>
03471b3f
CD
2231
2232 * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start.
96f342c1 2233 (dbxout_function_end): Use local label LFBB. Remove hook
1c1534e9 2234 DBX_OUTPUT_NFUN.
03471b3f
CD
2235 (dbxout_source_line): Use local label LFBB.
2236 (dbxout_block): Likewise.
2237 (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC.
2238 (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC.
2239 * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC,
2240 and DBX_OUTPUT_NFUN.
2241
263108e1
JJ
22422006-07-13 Janis Johnson <janis187@us.ibm.com>
2243
2244 * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail.
2245
88d03811
JH
22462006-07-13 Jan Hubicka <jh@suse.cz>
2247
2248 * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call
2249 align_variable.
2250 * output.h (align_variable): Declare.
2251 * varasm.c (align_variable): Export.
2252 * value-prof.c (tree_value_profile_transformations): Recompute iterator
2253 when basic block changed.
2254
6915d7f0
NC
22552006-07-13 Nick Clifton <nickc@redhat.com>
2256
2257 * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst
2258 walking the LOG_LINKS chain.
96f342c1 2259
7c0de6a5
GK
22602006-07-12 Geoffrey Keating <geoffk@apple.com>
2261
2262 * doc/invoke.texi (C++ Dialect Options): Explain difference
2263 between -fvisibility-inlines-hidden and setting hidden
2264 visibility explicitly.
2265
3fb8727b
EC
22662006-07-12 Eric Christopher <echristo@apple.com>
2267
2268 * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo.
2269 (stmp-lipo): Depend on libgcc.a.
2270
5f89204e
KH
22712006-07-12 Kazu Hirata <kazu@codesourcery.com>
2272
2273 * tree.c: Fix a comment typo.
2274
8a01e7d9
N
22752006-07-12 Naveen.H.S <naveenh@kpitcummins.com>
2276
3fb8727b 2277 * config/m32c/muldiv.md (umulhisi3_c): Use only registers for
8a01e7d9
N
2278 dest.
2279 (umulhisi3_r): Likewise.
2280
93e89068
PC
22812006-07-12 Paolo Carlini <pcarlini@suse.de>
2282
2283 PR libstdc++/27878
2284 * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x,
2285 x < 19, vs wchar_t support.
2286
45e49d96
NC
22872006-07-12 Nick Clifton <nickc@redhat.com>
2288
2289 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up
2290 instead of -isa=sh4.
2291
f2702694
MS
22922006-07-12 Mike Stump <mrs@apple.com>
2293
2294 * protoize.c (edit_fn_definition): Add volatile to clean_text_p.
2295
fb49f596
EC
22962006-07-10 Eric Christopher <echristo@apple.com>
2297
2298 * config/t-slibgcc-darwin: Rewrite.
2299
b24f7f6b
LB
23002006-07-10 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2301
2302 PR bootstrap/20437
2303 * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4
2304 dependencies.
2305
0ee5ccdf
MK
23062006-07-08 Matthias Klose <doko@debian.org>
2307
2308 * doc/sourcebuild.texi: Fix typo.
2309
72d41343
MS
23102006-07-07 Mike Stump <mrs@apple.com>
2311
2312 * toplev.c (process_options): Don't give -ffunction-sections may
2313 affect debugging warning for Mach-O.
2314
c81d6e2a
JW
23152006-07-07 James E Wilson <wilson@specifix.com>
2316
2317 * config/mips/mips.md (cpu): Add sb1a.
2318 * config/mips/sb1.md: Modify almost all patterns to accept sb1a in
2319 addition to sb1. Adjust comments to clarify SB-1A differences from
2320 SB-1.
2321 (ir_sb1a_load): New. Modify bypasses to use it.
2322 (ir_sb1a_simple_alu): Likewise.
2323 * config/mips/mips.c (mips_cpu_info_table): Add sb1a.
2324 (mips_rtx_cost_data): Add PROCESSOR_SB1A support.
2325 (mips_issue_rate): Add PROCESSOR_SB1A.
2326 (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1.
2327 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A.
2328 (TARGET_SB1): Add PROCESSOR_SB1A check.
2329 (TUNE_SB1): Likewise.
2330
2331 * config/mips/mips-protos.h (mips_store_data_bypass_p): New.
2332 * config/mips/mips.c (mips_store_data_bypass_p): New.
2333 * config/mips/sb1.md: Use mips_store_data_bypass_p instead of
2334 store_data_bypass_p.
2335
1b13a490
PB
23362006-07-08 Paul Brook <paul@codesourcery.com>
2337
2338 PR target/27991
2339 * config/m68k/m68k.md: Add r-m patterns for 68881 movxf.
2340
bfabddb6
RG
23412006-07-07 Richard Guenther <rguenther@suse.de>
2342
2343 PR middle-end/28268
2344 * tree.h (build_one_cst): Declare.
2345 * tree.c (build_one_cst): New function.
2346 * tree-ssa-math-opts.c (get_constant_one): Remove.
2347 (insert_reciprocals): Use build_one_cst.
2348 * fold-const.c (fold_plusminus_mult): Likewise.
2349
83f676b3
RS
23502006-07-07 Roger Sayle <roger@eyesopen.com>
2351
2352 * pointer-set.c (pointer_set_destroy): Correct whitespace.
2353 * cfgloopanal.c (dump_graph): Likewise.
2354 * dojump.c (discard_pending_stack_adjust): Likewise.
2355 * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES):
2356 Likewise.
2357 * alloc-pool.c (dump_alloc_pool_statistics): Likewise.
2358 * function.c (finalize_block_changes): Likewise.
2359 * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise.
2360 * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise.
2361 * rtl.c (dump_rtx_statistics): Likewise.
fb49f596 2362 * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars):
83f676b3
RS
2363 Likewise.
2364 * varray.c (dump_varray_statistics): Likewise.
2365 * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
2366 decode_decimal64, encode_decimal128, decode_decimal128,
2367 decimal_real_to_decimal): Likewise.
2368
1ce35d26
RG
23692006-07-07 Richard Guenther <rguenther@suse.de>
2370
2371 PR tree-optimization/28187
2372 * tree-vrp.c (vrp_operand_equal_p): New function.
2373 (vrp_bitmap_equal_p): Likewise.
2374 (update_value_range): Use them to compare old and new
2375 max and min values.
2376
9e33de05
RS
23772006-07-06 Roger Sayle <roger@eyesopen.com>
2378
2379 * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add
2380 a default case to switch statement to silence compiler warnings.
2381
b6c03bcd
RS
23822006-07-06 Roger Sayle <roger@eyesopen.com>
2383
2384 PR target/27968
fb49f596 2385 * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether
b6c03bcd
RS
2386 the configured assembler supports the x87's ffreep mnemonic.
2387 * configure: Regenerate.
2388 * config.in: Regenerate.
2389
2390 * config/i386/i386.c (output_387_ffreep): New function.
2391 (output_fp_compare): Use output_387_ffreep to emit ffreep insns.
2392 (output_387_reg_move): Likewise.
2393
27b56ba6
PE
23942006-07-06 Paul Eggert <eggert@cs.ucla.edu>
2395
2396 Port to hosts whose 'sort' and 'tail' implementations
2397 treat operands with leading '+' as file names, as POSIX
2398 has required since 2001. However, make sure the code still
2399 works on pre-POSIX hosts.
2400 * Makefile.in (slowcompare): Port to POSIX 1003.1-2001,
2401 which says you should use "tail -c +N" rather than "tail +Nc".
2402 Fix a bug: the old code incorrectly skipped 15 bytes, not 16.
2403
525dc87d
ZD
24042006-07-06 Zdenek Dvorak <dvorakz@suse.cz>
2405
b6c03bcd
RS
2406 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in
2407 argument name.
525dc87d 2408
429ec7dc
DE
24092006-07-06 David Edelsohn <edelsohn@gnu.org>
2410
2411 PR target/28150
2412 * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
2413 PRE_{INC,DEC} of TFmode.
2414
24152006-07-06 David Edelsohn <edelsohn@gnu.org>
2416 Alan Modra <amodra@bigpond.net.au>
2417
2418 PR target/28170
2419 * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
2420 bounds. Simplify.
2421
cec12c7a
RO
24222006-07-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2423
2424 PR target/28285
2425 * config/alpha/predicates.md (alpha_swapped_comparison_operator):
2426 Remove duplicate gtu.
2427
1937f939
JM
24282006-07-05 Jason Merrill <jason@redhat.com>
2429
2430 PR c++/13983
2431 PR c++/17519
2432 * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
2433 * c-common.c (handle_packed_attribute): So don't copy it here.
2434 * c-decl.c (finish_struct): Don't copy TYPE_ALIGN.
2435
63b08b60
MS
24362006-07-05 Mike Stump <mrs@apple.com>
2437
2438 * doc/invoke.texi (Invoking G++): Clarify prose for g++.
2439
28a026d9
L
24402006-07-05 H.J. Lu <hongjiu.lu@intel.com>
2441
2442 PR target/26146
2443 * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*.
2444
dc8f5205
RG
24452006-07-05 Richard Guenther <rguenther@suse.de>
2446
2447 PR target/28158
2448 * config/i386/i386.md (*negdf2_1): Restrict pattern to
2449 TARGET_SSE2 targets if using SSE math.
2450 (*absdf2_1): Likewise.
2451
30a843c3
RG
24522006-07-05 Richard Guenther <rguenther@suse.de>
2453
2454 PR tree-optimization/28162
2455 * fold-const.c (fold_binary): For (-A) * (-B) -> A * B
2456 make sure to convert the operands to the correct type.
2457
d898f3ce
PB
24582006-07-04 Paolo Bonzini <bonzini@gnu.org>
2459
2460 PR tree-optimization/28218
2461
2462 * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls
2463 to calculate and free the dominator information.
fb49f596 2464
706601d9
PG
24652006-07-04 Peter O'Gorman <peter@pogma.com>
2466
2467 * mklibgcc.in: chmod 644 before ranlib during install.
2468
dbc02e7f
AS
24692006-07-04 Andrew Stubbs <andrew.stubbs@st.com>
2470 J"orn Rennecke <joern.rennecke@st.com>
2471
2472 * configure.ac (.eh_frame data check): Use diff -b.
2473
0b50988a
EB
24742006-07-04 Eric Botcazou <ebotcazou@libertysurf.fr>
2475
2476 PR bootstrap/18058
2477 * Makefile.in (BUILD_RTL): Add build/vec.o.
2478 (build/gencondmd.o): Filter out -fkeep-inline-functions.
2479 (build/genextract): Delete.
2480 (build/genautomata): Likewise.
2481
84e9ad15
AM
24822006-07-04 Alan Modra <amodra@bigpond.net.au>
2483
2484 PR target/28207
2485 * config/rs6000/rs6000.c (function_arg_boundary): Double-word align
2486 128-bit IBM long doubles for ABI_V4.
2487
11fc4275
EB
24882006-07-03 Eric Botcazou <ebotcazou@adacore.com>
2489
2490 * tree.c (range_in_array_bounds_p): New predicate.
2491 * tree.h (range_in_array_bounds_p): Declare it.
2492 * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to
2493 return a less conservative answer.
2494 * tree-sra.c (struct sra_elt): Add new pointer field 'groups'
2495 and flag 'is_group'.
2496 (IS_ELEMENT_FOR_GROUP): New macro.
2497 (FOR_EACH_ACTUAL_CHILD): Likewise.
2498 (next_child_for_group): New helper function.
2499 (can_completely_scalarize_p): Take into account groups.
2500 (sra_hash_tree): Handle RANGE_EXPR.
2501 (sra_elt_eq): Likewise.
2502 (lookup_element): Be prepared for handling groups.
2503 (is_valid_const_index): Delete.
2504 (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p
2505 instead of is_valid_const_index.
2506 <ARRAY_RANGE_REF>: New case.
2507 (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of
2508 is_valid_const_index.
2509 <ARRAY_RANGE_REF>: Do not unconditionally punt.
2510 (scan_dump): Dump info for groups too.
2511 (decide_instantiation_1): Likewise.
2512 (decide_block_copy): Assert that the element is not a group.
2513 Propagate decision to groups.
2514 (generate_one_element_ref): Handle RANGE_EXPR.
2515 (mark_no_warning): Iterate over actual childs.
2516 (generate_copy_inout): Likewise.
2517 (generate_element_copy): Likewise.
2518 (generate_element_zero): Likewise.
2519 (generate_element_init_1): Likewise.
2520 (dump_sra_elt_name): Handle RANGE_EXPR.
2521
31a9760a
RS
25222006-07-03 Roger Sayle <roger@eyesopen.com>
2523
2524 PR tree-optimization/26251
2525 * tree-ssa-threadupdate.c (redirection_block_p): New function.
2526 (thread_block): When optimizing for size refuse to thread jumps
2527 that would require duplication of blocks other than redirection
2528 blocks.
2529
b6348cb3
PB
25302006-07-03 Paolo Bonzini <bonzini@gnu.org>
2531
2532 * configure.ac: Fix thinko in previous check-in.
2533 * configure: Regenerate.
2534
1546bb64
PB
25352006-07-03 Paolo Bonzini <bonzini@gnu.org>
2536
2537 PR other/27063
2538 * configure.ac (for lang...): Simplify nesting of conditionals.
2539 Test subdir_requires for non-enabled languages. Move processing
2540 of lang_opt_files and lang_tree_fiels below that test.
2541 * configure: Regenerate.
2542 * doc/sourcebuild.texi (Front End Config): Document subdir_requires.
2543
3e72a66f
MM
25442006-07-01 Martin Michlmayr <tbm@cyrius.com>
2545
2546 * doc/gcov.texi (Invoking Gcov): Add a missing word.
2547
2a8a8292
KH
25482006-06-30 Kazu Hirata <kazu@codesourcery.com>
2549
2550 * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix
2551 comment typos.
2552
b9e75696
JM
25532006-06-29 Jason Merrill <jason@redhat.com>
2554
2555 PR c++/26905
2556 PR c++/26612
2557 PR c++/27000
2558 PR c++/26984
2559 PR c++/19134
2560 * tree.c (build_decl_stat): Don't hande #pragma visibility here.
2561 * c-common.c (c_determine_visibility): Handle it here.
fb49f596 2562 * c-decl.c (finish_decl): Call c_determine_visibility for
b9e75696
JM
2563 functions, too.
2564 * flags.h (enum symbol_visibility): Sort from most to least visibility.
2565 * tree.h: Likewise.
2566 * varasm.c (default_assemble_visibility): Likewise.
2567 * c-common.c (handle_visibility_attribute): Complain about trying
2568 to give visibility to an already defined class, or trying to change
2569 declared visibility. Always attach the attribute.
2570
2571 PR c++/26905
2572 PR c++/21675
2573 PR c++/17470
2574 * attribs.c (decl_attributes): Ignore type-in-place attributes
2575 once the type has been defined.
2576
8646f3df
RS
25772006-06-29 Roger Sayle <roger@eyesopen.com>
2578
2579 PR middle-end/27428
2580 * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
2581 to indicate the cpplib has issued an error message for us.
2582
f8c2645c
AL
25832006-06-29 Asher Langton <langton2@llnl.gov>
2584
2585 PR target/25765
2586 * config/i386/i386.c (ix86_output_function_epilogue): Don't
2587 insert a label at the end of an function under Mach-O.
fb49f596 2588
5656a184
EC
25892006-06-29 Eric Christopher <echristo@apple.com>
2590 Evan Cheng <evan.cheng@apple.com>
2591
2592 * predicates.md (vector_all_ones_operand): New.
2593 (nonimmediate_or_sse_const_operand): Ditto.
2594 * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare.
2595 * config/i386/i386.c (standard_sse_constant_opcode): Define.
2596 (standard_sse_mode_p): Ditto.
2597 (standard_sse_constant_p): Add case for -1 vector.
2598 (ix86_expand_vector_move): Try to use.
2599 * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand.
2600 Call standard_sse_constant_opcode.
2601 (*movv4sf_internal): Ditto.
2602 (*movv2df_internal): Ditto.
2603
c8d560fa
RS
26042006-06-29 Roger Sayle <roger@eyesopen.com>
2605
2606 * genpreds.c (write_match_code_switch): Correctly use XSTR instead
2607 of XEXP to extract the operands of a MATCH_CODE rtx.
2608
43b50eb2
AP
26092006-06-28 Andrew Pinski <pinskia@gmail.com>
2610
2611 * tree.c (tree_size): Do not waste tail padding in
2612 struct tree_string and make the size be the same as
2613 build_string will generate.
2614
99495729
JM
26152006-06-28 Jason Merrill <jason@redhat.com>
2616
2617 PR c++/27768
2618 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
2619 may_aliases already in the tag's annotations to the bitmap.
2620
8547c7f8
RS
26212006-06-28 Roger Sayle <roger@eyesopen.com>
2622
2623 * genpreds.c (write_predicate_stmts) <IOR>: Add missing break.
2624
7caf6734
RS
26252006-06-28 Roger Sayle <roger@eyesopen.com>
2626
2627 * genpreds.c (generate_switch_p): New function.
2628 (add_mode_tests): Push the new mode test down inside an AND expr
2629 if this allows the switch-suitable MATCH_CODE to be near the root.
2630 (write_match_code_switch): New function to write a MATCH_CODE as
2631 a switch statement.
2632 (write_predicate_stmts): New function to write a predicate RTX
2633 expression as a sequence of statements.
2634 (write_one_predicate_function): Use write_predicate_stmts.
2635 (write_tm_constrs_h): Likewise.
2636
f340b6fc
FF
26372006-06-26 Fred Fish <fnf@specifix.com>
2638
2639 * config/mips/t-sb1: New file.
2640 * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to
2641 tmake_file list.
2642
ff485e71
DD
26432006-06-26 DJ Delorie <dj@redhat.com>
2644
2645 * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic.
2646
26472006-06-26 Naveen H.S <naveenh@kpitcummins.com>
2648 Jayant Sonar <jayants@kpitcummins.com>
2649 Jaydeep Vipradas <jaydeepv@kpitcummins.com>
2650
2651 * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New.
2652 (subsi3, subsi3_1, subsi3_2): New.
2653 * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New.
2654 * config/m32c/mov.md (SI mov peephole): New.
2655 * config/m32c/m32.c (m32c_immd_dbl_mov): New.
2656 * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New.
5656a184 2657
500c353d
OH
26582006-06-26 Olivier Hainque <hainque@adacore.com>
2659
2660 * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on
2661 a CALL_EXPR target function declaration.
2662
28df01ac
RG
26632006-06-26 Richard Guenther <rguenther@suse.de>
2664
2665 * tree.c (build_string): Do not waste tail padding in
2666 struct tree_string.
2667
a469a4f2
RG
26682006-06-26 Richard Guenther <rguenther@suse.de>
2669
2670 * ggc-page.c (init_ggc): Add missing element to size_lookup
2671 table.
2672
2673 Revert
2674 2006-06-23 Richard Guenther <rguenther@suse.de>
2675
2676 * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
2677 sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
2678 alignment requests instead. Add verification code.
2679 Add struct tree_function_decl and struct tree_binfo size to
2680 extra_order_size_table. Add missing element to size_lookup
2681 table.
2682
858214db
EB
26832006-06-25 Eric Botcazou <ebotcazou@adacore.com>
2684
2685 PR middle-end/28151
2686 * fold-const.c (const_binop): Be prepared for self returning zero.
2687 Simplify code handling complex values.
2688
61c25908
OH
26892006-06-24 Olivier Hainque <hainque@adacore.com>
2690
2691 * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function.
2692 (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode
2693 aggregate types.
2694
26952006-06-24 Olivier Hainque <hainque@adacore.com>
2696
2697 * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as
2698 ARRAY_REF, so have the callback called for the low bound expression.
2699
5fc89bfd
JJ
27002006-06-23 Janis Johnson <janis187@us.ibm.com>
2701
2702 * tree.h (DECIMAL_FLOAT_TYPE_P): New.
2703 * c-typeck.c (c_common_type): Disallow operations on decimal float
2704 types and other float types.
2705 * convert.c (convert_to_real): Don't ignore conversions involving
2706 decimal float types.
2707
a441447f
OH
27082006-06-23 Olivier Hainque <hainque@adacore.com>
2709
2710 * tree.c (max_int_size_in_bytes): New function, inspired from
2711 code in function.c:assign_temp.
2712 * tree.h (max_int_size_in_bytes): Declare.
2713 * function.c (assign_temp): Use it.
2714 * gimplify.c (create_tmp_var): Relax the assertions on the type
2715 properties, not mandating constant size any more.
2716 (force_constant_size): New static function.
2717 (gimple_add_tmp_var): Use it, forcing variable size to a
2718 constant upper bound if it is not constant on entry.
2719
4e2bb0a4
DS
27202006-06-23 Danny Smith <dannysmith@users.sourceforge.net>
2721
2722 PR target/27789
2723 * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check
2724 for initialization and setting of one_only flag to ...
2725 (i386_pe_encode_section_info): ...here.
2726 (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also.
2727 Recheck that the symbol has not been defined.
2728
ecf7b86f
RG
27292006-06-23 Richard Guenther <rguenther@suse.de>
2730
2731 * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
2732 sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
2733 alignment requests instead. Add verification code.
2734 Add struct tree_function_decl and struct tree_binfo size to
2735 extra_order_size_table. Add missing element to size_lookup
2736 table.
2737
e577c8c0
RS
27382006-06-22 Roger Sayle <roger@eyesopen.com>
2739 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2740
2741 PR middle-end/28131
2742 * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the
2743 call to lang_hooks.types.type_for_mode returned NULL_TREE.
2744
f64ad1d3
BE
27452006-06-23 Ben Elliston <bje@au.ibm.com>
2746
2747 * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to
2748 negate dn -- manipulate it directly.
2749
8c339083
RS
27502006-06-22 Roger Sayle <roger@eyesopen.com>
2751 Steven Bosscher <stevenb.gcc@gmail.com>
2752
2753 PR target/27531
2754 * reload1.c (gen_reload): Call mark_jump_label on the new insns
2755 generated by gen_move_insn to add REG_LABEL notes if necessary.
2756
03c8b1be
BW
27572006-06-22 Bob Wilson <bob.wilson@acm.org>
2758
2759 * config/xtensa/lib1funcs.asm (MIN_ESA): Delete.
2760 (leaf_entry): Remove use of MIN_ESA.
2761
0ef90296
ZD
27622006-06-22 Zdenek Dvorak <dvorakz@suse.cz>
2763
2764 PR rtl-optimization/28121
2765 * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
2766 the entry edge.
2767
a1ec220c
DD
27682006-06-21 DJ Delorie <dj@redhat.com>
2769
2770 * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest
2771 (TN-16C-A156A/E).
2772 (mulhisi3_r): Likewise.
2773
35fa8915
RS
27742006-06-21 Richard Sandiford <richard@codesourcery.com>
2775
2776 PR middle-end/28034
2777 * coverage.c (coverage_counter_alloc): Leave the index type
2778 unspecified.
2779 (coverage_counter_alloc): Use null arguments for operands 2 and 3
2780 of the ARRAY_REF.
2781
17d6caa1
AP
27822006-06-21 Andrew Pinski <pinskia@physics.uc.edu>
2783
2784 * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect"
2785 section from the "Options for Code Generation Conventions".
2786
b0100a44
RH
27872006-06-21 Richard Henderson <rth@redhat.com>
2788
2789 PR target/26347
2790 PR target/27082
2791 * config/alpha/predicates.md (small_symbolic_operand): Deny weak
2792 symbols.
2793 (global_symbolic_operand): Allow weak symbols, even if local_p.
2794
75715cf6
EB
27952006-06-21 Eric Botcazou <ebotcazou@adacore.com>
2796
2797 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function.
2798 (find_interesting_uses_address): Punt if above function returns true.
2799
18fc9bd4
RG
28002006-06-21 Richard Guenther <rguenther@suse.de>
2801
2802 * configure: Regenerated.
2803
0882b52e
JM
28042006-06-21 Joseph Myers <joseph@codesourcery.com>
2805
2806 * config/mips/mips.c (function_arg): Where one part of a
2807 complex argument is in registers and the other part in the stack,
2808 return a REG not a PARALLEL.
2809
0f57bf40
MM
28102006-06-21 Mark Mitchell <mark@codesourcery.com>
2811
2812 * configure.ac: Set gcc_gxx_include_dir to $target/include/c++
2813 when cross-compiling. Do not substitute libstdcxx_incdir.
2814 * configure: Regenerated.
2815
0841534a
JJ
28162006-06-21 Jakub Jelinek <jakub@redhat.com>
2817
2818 * varasm.c (mergeable_string_section): Check for embedded NULs and
2819 NUL termination in the first int_size_in_bytes (TREE_TYPE (decl))
2820 rather than TREE_STRING_LENGTH bytes.
2821
470f18fc
RG
28222006-06-21 Richard Guenther <rguenther@suse.de>
2823
2824 * ggc-page.c (extra_order_size_table): Add var_ann_d,
2825 tree_ssa_name, bitmap_element and phi_node with 4 arguments
2826 sizes.
2827
b16fb82d
RG
28282006-06-21 Richrad Guenther <rguenther@suse.de>
2829
2830 * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
2831 Limit iteration over the dominators.
2832
8043a72a
RS
28332006-06-20 Roger Sayle <roger@eyesopen.com>
2834
2835 * config/mips/iris6.h (LIB_SPEC): Add support for -pthread.
2836 (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified.
2837
5a6ccafd
RG
28382006-06-20 Richard Guenther <rguenther@suse.de>
2839 Michael Matz <matz@suse.de>
2840
2841 * alloc-pool.h (free_alloc_pool_if_empty): Prototype new
2842 function.
2843 * alloc-pool.c (free_alloc_pool_if_empty): New function.
2844 * et-forest.h (et_free_pools): Prototype new function.
5656a184 2845 * et-forest.c (et_free_tree_force): Free parent occurrence.
5a6ccafd
RG
2846 (et_free_pools): New function.
2847 * dominance.c (free_dominance_info): Free et-forest alloc
2848 pools.
2849
1000b34d
RS
28502006-06-20 Roger Sayle <roger@eyesopen.com>
2851
2852 * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with
2853 integer modes, attempt to directly construct an integer constant.
2854
2855 * fold-const.c (native_encode_vector): Determine the size of each
2856 element from the vector type instead of the first vector element.
2857
2858 * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant,
2859 if all of its elements/components are constant.
2860 (build_constructor_from_list): Likewise.
2861
8fdbc9c6
ZD
28622006-06-20 Zdenek Dvorak <dvorakz@suse.cz>
2863
2864 PR tree-optimization/27331
2865 * tree-data-ref.c (free_data_ref): New function.
2866 (create_data_ref): Fail if the data reference has unknown access
2867 function.
2868 (free_data_refs): Use free_data_ref.
2869
73dab33b
AP
28702006-06-19 Andrew Pinski <pinskia@gmail.com>
2871
2872 PR middle-end/28075
2873 * tree-inline.c (setup_one_parameter): Strip useless
2874 type conversion before adding it to the IR.
2875 (declare_return_variable): Likewise.
2876
48e2909e
MM
28772006-06-19 Martin Michlmayr <tbm@cyrius.com>
2878
2879 PR c/27149
2880 * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning.
2881
ca84a9a2
MS
28822006-06-19 Mike Stump <mrs@apple.com>
2883
2884 * tree.c (variably_modified_type_p): VM arguments don't make the
2885 type a VM type.
2886
81126126
RG
28872006-06-19 Richard Guenther <rguenther@suse.de>
2888
2889 * tree-ssa-pre.c (try_combine_conversion): Strip useless
2890 type conversions after folding.
2891
f5938dcd
RG
28922006-06-19 Richard Guenther <rguenther@suse.de>
2893
2894 * ggc-page.c (extra_order_size_tab): Add entries with
2895 size of struct function and basic_block.
2896 (size_lookup): Extend to cover sizes up to 511.
2897 (ggc_alloc_stat): Adjust user.
2898 (ggc_pch_count_object): Likewise.
2899 (ggc_pch_alloc_object): Likewise.
2900 (ggc_pch_write_object): Likewise.
2901
20fb52af
ZD
29022006-06-19 Zdenek Dvorak <dvorakz@suse.cz>
2903
2904 * tree-ssa-loop-niter.c (implies_ge_p): New function.
2905 (derive_constant_upper_bound): Handle OP0 - CST in unsigned types
2906 correctly.
2907
7ed9c001
DC
29082006-06-19 Denis Chertykov <denisc@overta.ru>
2909
2910 * config/avr/libgcc.S : Correct my wrong previous commit.
2911
fa00f91b
RS
29122006-06-19 Roger Sayle <roger@eyesopen.com>
2913
2914 PR target/27861
2915 * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may
2916 have stripped a SUBREG from the shift count, so we may need to
2917 convert_to_mode back to the type's mode before calling make_tree.
2918 Use new_amount instead of amount to avoid expanding a tree twice.
2919
096dce1b
RG
29202006-06-19 Richard Guenther <rguenther@suse.de>
2921
2922 PR middle-end/28045
2923 * fold-const.c (operand_equal_p): Check if the argument types
2924 have the same precision before stripping NOPs.
2925
46b86adc
DB
29262006-06-19 Daniel Berlin <dberlin@dberlin.org>
2927
2928 Fix PR tree-optimization/27341
2929 * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the
2930 statement we get.
5656a184 2931 * tree-complex.c (pass_lower_complex): Update SMT usage.
46b86adc 2932
7e665d18
AK
29332006-06-19 Andreas Krebbel <krebbel1@de.ibm.com>
2934
5656a184 2935 * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"):
7e665d18
AK
2936 Add a new alternative to the constraint strings. Add move of
2937 operand 1 to 3 to the splitter definition.
2938 ("doloop_si_long"): Second contraint alternative removed.
2939
4301ec4f
AS
29402006-06-08 Anatoly Sokolov <aesok@post.ru>
2941
2942 * config/avr/avr.h (avr_have_movw_lpmx_p): Declare.
5656a184 2943 (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and
4301ec4f
AS
2944 __AVR_HAVE_LPMX__.
2945 (AVR_HAVE_MOVW) Define.
2946 (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW.
2947 (ASM_SPEC): Add avr25.
2948 (LINK_SPEC): Add avr25.
2949 * config/avr/avr.c (avr_have_movw_lpmx_p): Add.
2950 (base_arch_s): Add new member 'have_movw_lpmx'.
2951 (avr_arch_types): Init 'have_movw_lpmx'.
2952 (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24,
2953 attiny44, attiny84, attiny25, attiny45, attiny85, attiny261,
2954 attiny461, attiny861 and at86rf401 in 'avr25' arhitecture.
2955 (avr_override_options): Init 'avr_have_movw_lpmx_p'.
5656a184 2956 (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use
4301ec4f
AS
2957 AVR_HAVE_MOVW.
2958 (avr_file_start): Do not output '.arh' derective.
2959 * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__.
2960 (__do_copy_data): Use __AVR_HAVE_LPMX__.
2961 * config/avr/avr.md (mcu_enhanced): Delete.
2962 (mcu_have_movw): Define.
2963 (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'.
2964 (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__.
2965 * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25.
2966 (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44,
5656a184 2967 attiny84, attiny25, attiny45, attiny85, attiny261, attiny461,
4301ec4f
AS
2968 attiny861 and at86rf401 devices.
2969
40327e03
JZ
29702006-06-18 Jie Zhang <jie.zhang@analog.com>
2971
2972 * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead
2973 of 4096.
2974
c3cb54c6
KB
29752006-06-17 Karl Berry <karl@gnu.org>
2976
2977 * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi,
2978 doc/gccint.texi, doc/install.texi (@dircategory): Use
2979 "Software development" instead of "Programming", following
2980 the Free Software Directory.
2981
31ebc801
AO
29822006-06-17 Alexandre Oliva <aoliva@redhat.com>
2983
2984 * config/i386/i386.c (legitimate_tls_address)
2985 <TARGET_GNU2_TLS>: Add tp after DTPOFF.
2986 * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust.
2987 (*tls_dynamic_gnu2_combine_64): Likewise.
2988
1af8dcbf
RG
29892006-06-16 Richard Guenther <rguenther@suse.de>
2990
2991 PR middle-end/27116
2992 * fold-const.c (negate_expr_p): Do not introduce undefined
2993 overflow in negating INTEGER_CSTs.
2994 (fold_negate_expr): Rename from negate_expr. Revert last
2995 change for folding BIT_NOT_EXPR. Change semantics to
2996 return NULL_TREE for non-simplified negations. Do not
2997 strip type conversions and unify type handling.
2998 (negate_expr): New function, wrap around fold_negate_expr
2999 but ensure building a tree always. Strip type conversions
3000 here, fold to result type.
3001 (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR.
3002
2d0df1f9
RS
30032006-06-16 Roger Sayle <roger@eyesopen.com>
3004
3005 PR middle-end/27802
3006 * reg-stack.c (subst_stack_regs): Handle noreturn function calls
3007 that (would) return their results in stack registers.
3008
47392a21
MM
30092006-06-16 Michael Matz <matz@suse.de>
3010 Richard Guenther <rguenther@suse.de>
3011
3012 * fold-const.c (fold_truthop): Only return new tree node if
3013 we canonicalized something.
3014
55dea919
RG
30152006-06-16 Richard Guenther <rguenther@suse.de>
3016
3017 * function.h (enum function_frequency): Move declaration
3018 out of struct function.
3019 (struct function): Move bool fields and the enum to the bitfield
3020 section. Reorder elements to avoid padding. Remove unused
3021 fields left over from the RTL inliner removal.
3022 * function.c (free_after_compilation): Do not zero removed fields.
3023 * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency.
3024 (ipa-type-escape.o): Likewise.
3025
b4e19405
RG
30262006-06-16 Richard Guenther <rguenther@suse.de>
3027
3028 * cgraph.h (struct cgraph_local_info): Turn bool elements
3029 into a bitfield.
3030 (struct cgraph_node): Likewise.
3031 (struct cgraph_varpool_node): Likewise.
3032
d817ed3b
RG
30332006-06-15 Richard Guenther <rguenther@suse.de>
3034
3035 * fold-const.c (fold_truth_not_expr): Rename from
3036 invert_truthvalue. Give it fold_* semantics to avoid
3037 generating garbage.
3038 (invert_truthvalue): New function. Wrapper around
3039 fold_truth_not_expr.
3040 (optimize_minmax_comparison): Avoid creating garbage.
3041 (fold_unary): Use fold_truth_not_expr for folding
3042 TRUTH_NOT_EXPR.
3043 (fold_ternary): Replace uses of invert_truthvalue with
3044 fold_truth_not_expr where applicable.
3045 * tree.h (fold_truth_not_expr): Prototype.
3046
5d35c171
RG
30472006-06-16 Richard Guenther <rguenther@suse.de>
3048
3049 PR tree-optimization/27781
3050 * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency.
3051 * ipa-pure-const.c (target.h): Include.
3052 (analyze_function): Do not analyze functions that do not
3053 bind locally.
3054
82460c75 30552006-06-15 Andrew MacLeod <amacleod@redhat.com>
5656a184 3056
82460c75
AM
3057 PR middle-end/27793
3058 * tree-dfa.c (referenced_vars_dup_list): Remove.
3059 (find_referenced_vars): Remove assert.
3060 (referenced_var_check_and_insert): Replace dup list with assert.
3061 * tree-ssa.c (delete_tree_ssa): Remove dup list processing.
3062 * tree-flow.h (referenced_vars_dup_list): Remove extern decl.
3063
4f6c9110
RG
30642006-06-15 Richard Guenther <rguenther@suse.de>
3065
3066 * tree-ssa-structalias.c (alias_get_name): Avoid creating
3067 extra unused identifiers if not dumping.
3068 (create_variable_info_for): Likewise.
3069
0ad1d5a1
ZD
30702006-06-15 Zdenek Dvorak <dvorakz@suse.cz>
3071
3072 * tree-ssa-loop-niter.c (implies_nonnegative_p): New function.
3073 (derive_constant_upper_bound): Derive more precise upper bound in
3074 common cases. Return type changed to double_int.
3075 (record_estimate): Reflect the changed return type of
3076 derive_constant_upper_bound.
3077 * double-int.c (double_int_zext, double_int_sext): Fix.
3078
ec6c7392
PB
30792006-06-15 Paolo Bonzini <bonzini@gnu.org>
3080
3081 * configure.ac (CFLAGS): Get them from the toplevel or from the
3082 configure invocation.
3083 * configure: Regenerate.
3084 * Makefile.in (CFLAGS): Substitute value provided by configure.
3085
fe89d797
MM
30862006-06-14 Mark Mitchell <mark@codesourcery.com>
3087
3088 PR c++/26559
3089 * c-common.h (c_finish_omp_atomic): Adjust declaration.
3090 * c-omp.c (c_finish_omp_atomic): Return the expression to perform,
3091 rather than calling add_stmt on it.
3092 * c-parser.c (c_parser_omp_atomic): Adjust accordingly.
3093
184f4c56
AK
30942006-06-14 Andreas Krebbel <krebbel1@de.ibm.com>
3095
3096 PR middle-end/27959
3097 * reload1.c (reload): Remove registers returned by update_eliminables
3098 from used_spill_regs.
3099
e3d437c0
DD
31002006-06-13 DJ Delorie <dj@redhat.com>
3101
3102 * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants.
3103
9288b845
CD
31042006-06-13 Carlos O'Donell <carlos@codesourcery.com>
3105
3106 * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL,
3107 html__strip_dir, html__mkdir_p. Enhance install-html target.
5656a184 3108 * configure.ac: AC_SUBST datarootdir, docdir and htmldir.
9288b845
CD
3109 * configure: Regenerate.
3110
6b4e9576
FJ
31112006-06-13 Fariborz Jahanian <fjahanian@apple.com>
3112
5656a184 3113 * fold-const.c (fold_cond_expr_with_comparison): Check for
6b4e9576
FJ
3114 Objective-C++ as language in deciding COND_EXPR transformation.
3115
31b6f0ae
R
31162006-06-06 J"orn Rennecke <joern.rennecke@st.com>
3117
3118 PR target/28014:
3119 * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16
3120 * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'.
3121 * config/sh/lib1funcs.h (SL, SL1): Define.
3122 * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function.
3123 * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss.
3124 * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule.
3125 (OBJS_Os_4_200): New variable.
3126 ($(T)libgcc-Os-4-200.a): Use it.
3127 * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call
3128 when dividing 1 and/or by 0.
3129
de4fb767
RS
31302006-06-13 Roger Sayle <roger@eyesopen.com>
3131
3132 * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h>
3133 before <ucontext.h> to define sigset_t required by <sys/ucontext.h>.
3134 * configure: Regenerate.
3135
f0f1c408
JZ
31362006-06-13 Jie Zhang <jie.zhang@analog.com>
3137
3138 * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized ()
3139 for real instruction.
3140
cd8d4e24
MK
31412006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
3142
3143 PR middle-end/26807
3144 * haifa-sched.c (check_cfg): Handle special case.
3145
5123ad09
EB
31462006-06-13 Eric Botcazou <ebotcazou@adacore.com>
3147
3148 PR debug/26754
3149 * gimplify.c (declare_tmp_vars): Rename into declare_vars.
3150 Add debug_info parameter. Chain the vars to the BLOCK instead
3151 of the BIND_EXPR if debug info are requested for them.
3152 (pop_gimplify_context): Adjust for above change.
3153 (gimple_add_tmp_var): Likewise.
3154 * tree-gimple.h (declare_tmp_vars): Rename into declare_vars.
3155 Add bool parameter.
3156 * tree-nested.c (convert_nonlocal_reference): Adjust for above change.
3157 (convert_local_reference): Likewise.
3158 (get_local_debug_decl): Set DECL_IGNORED_P on the original variable.
3159 (finalize_nesting_tree_1): Request that debug info be emitted
3160 for debug_var_chain.
3161
6f2ba390
MK
31622006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
3163
3164 * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch
3165 for PR target/27863.
3166
cda5bf39
RG
31672006-06-13 Richard Guenther <rguenther@suse.de>
3168
3169 PR middle-end/27536
3170 * except.c (output_ttype): Expand type with EXPAND_INITIALIZER.
3171
8e85fd14
RG
31722006-06-13 Richard Guenther <rguenther@suse.de>
3173
3174 PR tree-optimization/27830
3175 * tree-inline.c (copy_body_r): For copying the operand
3176 of an ADDR_EXPR make sure to fold &* afterwards.
3177
02a5eac4
EB
31782006-06-12 Eric Botcazou <ebotcazou@adacore.com>
3179
3180 * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other
3181 lvalues in the fb_none case with side-effects.
3182
c90b053b
KH
31832006-06-12 Kazu Hirata <kazu@codesourcery.com>
3184
3185 * tree-flow.h: Remove the prototype for
3186 compute_phi_arg_on_exit.
3187 * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use,
3188 protect_loop_closed_ssa_form, compute_phi_arg_on_exit):
3189 Remove.
3190
dda69cbf
MS
31912006-06-12 Mark Shinwell <shinwell@codesourcery.com>
3192
3193 * builtins.c (expand_builtin_return_addr): Only use
3194 frame_pointer_rtx when count == 0 and we are expanding
3195 __builtin_return_address.
3196
0901c5a3
FF
31972006-06-12 Fred Fish <fnf@specifix.com>
3198
3199 * config/mips/mips.c (mips_file_start): Create special section
3200 ".gcc_compiled_longXX" for o64 ABI as well as EABI.
3201
f7eb0dcd
EC
32022006-06-11 Eric Christopher <echristo@apple.com>
3203
3204 PR middle-end/27948
3205 * stor-layout.c (place_field): Remove check for
3206 remaining_in_alignment when aligning at the end of a run.
3207
6bb7beac
EC
32082006-06-11 Eric Christopher <echristo@apple.com>
3209
3210 PR 27542
3211 * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct
3212 pragma.
3213
4119019b
RS
32142006-06-11 Roger Sayle <roger@eyesopen.com>
3215
3216 PR target/27858
3217 Revert incorrect fix for PR target/27158
3218 2006-05-08 Roger Sayle <roger@eyesopen.com>
3219 * reload.c (find_reloads_toplev): Only return the simplified SUBREG
3220 of a reg_equiv_constant if the result is a legitimate constant.
3221
0972012c
RS
32222006-06-11 Roger Sayle <roger@eyesopen.com>
3223
3224 PR target/27158
3225 * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
3226 extract a CONST_VECTOR element and interpret it as an integer.
3227 (vspltis_constant): Use const_vector_elt_as_int instead of the
3228 macro CONST_VECTOR_ELT in order to handle FP vector modes.
3229 * config/rs6000/predicates.md (easy_vector_const): Consider
3230 floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant.
3231
cb312376
KK
32322006-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
3233
3234 PR middle-end/27942
3235 * stor-layout.c (update_alignment_for_field): Don't add extra
3236 alignment for packed non-bitfield fields in ms_bitfield_layout_p
3237 code.
3238
53e95921
RC
32392006-06-09 Ralf Corsepius <ralf.corsepius@rtems.org>
3240
3241 * config/mips/t-rtems: Add EL/EB multilib variants.
3242
71d0c100
MS
32432006-06-09 Mike Stump <mrs@apple.com>
3244
3245 * c-typeck.c (c_begin_vm_scope): Fix file_scope processing.
3246
549fb079
DD
32472006-06-09 David Daney <ddaney@avtrex.com>
3248
3249 * doc/install.texi: Add binutils version recommendation for mips-*-*.
3250
6c65d757
AK
32512006-06-09 Andreas Krebbel <krebbel1@de.ibm.com>
3252
3253 * reload.c (find_reloads): Unset force_reload for 'X' constraint.
3254
96b2034b
RG
32552006-06-09 Richard Guenther <rguenther@suse.de>
3256
3257 PR tree-optimization/26998
3258 * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR
3259 of signed types, only TYPE_MIN_VALUE is special, but for both,
3260 minimum and maximum value. Likewise VR_ANTI_RANGE is special
3261 in this case, as is -fwrapv.
3262
23f99493
MS
32632006-06-08 Mike Stump <mrs@apple.com>
3264
3265 PR target/26427
3266 * config/darwin.c (darwin_asm_output_anchor): Disable
3267 -fsection-anchors on darwin for now.
3268 * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise.
3269 * rs6000/rs6000.c (optimization_options): Likewise.
3270
118ed72a
VR
32712006-06-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3272
3273 PR target/27421
3274 * config/i386/i386.c (classify_argument): Skip fields with invalid
3275 types in unions.
3276
524e3576
SB
32772006-06-08 Steven Bosscher <steven@gcc.gnu.org>
3278
3279 * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG.
3280 (cse_insn): Likewise for the stack_pointer_rtx.
3281
14b41b5f
RS
32822006-06-08 Roger Sayle <roger@eyesopen.com>
3283
3284 * tree-ssa-dom.c (record_conditions): Only record "unordered"
3285 conditions from floating point comparisons.
3286
33b881ca
PB
32872006-06-08 Paolo Bonzini <bonzini@gnu.org>
3288
3289 PR middle-end/27733
3290 * expmed.c (struct alg_hash_entry): Fix type of field T
3291 to match synth_mult argument.
3292 (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
3293
f70b22c9
MK
32942006-06-08 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
3295
3296 PR target/27863
3297 * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic
3298 block boundaries.
3299
960f80d1
RG
33002006-06-08 Richard Guenther <rguenther@suse.de>
3301
3302 PR middle-end/27116
3303 * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR
3304 only, if overflow is defined and not trapping.
3305 (negate_expr): Likewise.
3306
8e08deeb
ZD
33072006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
3308
3309 PR tree-optimization/27872
3310 * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
3311 flag on the new exit edge of the unrolled loop.
3312
136778e9
ZD
33132006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
3314
3315 PR rtl-optimization/26449
3316 * loop-invariant.c (move_invariant_reg): Fail if force_operand fails.
3317
4b5e2dbc
AM
33182006-06-07 Andrew MacLeod <amacleod@redhat.com>
3319
3320 PR middle-end/27793
6bb7beac 3321 * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate
4b5e2dbc
AM
3322 referenced_variables with matching DECL_UID's.
3323 (find_referenced_vars): Make sure duplicate list is empty to start.
3324 (referenced_var_p): Remove.
6bb7beac 3325 (referenced_var_check_and_insert): Renamed from referenced_var_insert.
4b5e2dbc
AM
3326 Check if var is in the list, and add if needed. Update the duplicate
3327 list if a different var is in the list with the same DECL_UID.
3328 (add_referenced_var): Call routine to check and insert.
3329 * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates.
3330 * tree-flow.h (referenced_vars_dup_list): External declaration.
3331
dd286892
FF
33322006-06-07 Fred Fish <fnf@specifix.com>
3333
3334 * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries
3335 into single entry.
3336
190e9534
PB
33372006-06-07 Paolo Bonzini <bonzini@gnu.org>
3338
3339 PR target/27390
3340 * reg-stack.c (subst_stack_regs_pat): Reorder resetting of
3341 the imaginary and real parts of a clobbered register.
3342 Emit insn to set the imaginary part.
3343
7c78582a
PL
33442006-06-06 Peter Lemieszewski <lemie@us.ibm.com>
3345
3346 * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c
3347 in lieu of unwind-dw2-fde.c.
3348
33815e0c
FXC
33492006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
3350
3351 * config/i386/mingw32.h (GOMP_SELF_SPECS): Define.
3352
8cf0db2b
UW
33532006-06-06 Ulrich Weigand <uweigand@de.ibm.com>
3354
3355 PR target/27842
3356 * config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
3357 ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
3358 ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
3359 V4SImode temporaries and operations instead.
3360
406af897
JM
33612006-06-06 Joseph S. Myers <joseph@codesourcery.com>
3362
3363 * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not
3364 dp-bit.c.
3365
22482f74
MS
33662006-06-06 Mike Stump <mrs@apple.com>
3367
3368 * Makefile.in: Rename to htmldir to build_htmldir to avoid
3369 installing during build.
3370
bb83aa4b
MK
33712006-06-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
3372
3373 * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default
3374 value to 0.
3375 * doc/invoke.texi (max-sched-extend-regions-iters): Document.
3376 * config/ia64/ia64.c (params.h): New header.
3377 (ia64_optimization_options): New function to adjust parameters.
3378 * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype.
3379 * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro.
3380 * config/ia64/t-ia64 (ia64.o): Add dependence from params.h .
3381
0c397f9c
KH
33822006-06-05 Kazu Hirata <kazu@codesourcery.com>
3383
3384 * stor-layout.c (debug_rli): Fix a typo in a debug message.
3385
1f4a2e84
SE
33862006-06-05 Steve Ellcey <sje@cup.hp.com>
3387
3388 PR target/27051
3389 * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA.
3390
a8b28492
DN
33912006-06-05 Dorit Nuzman <dorit@il.ibm.com>
3392 Victor Kaplansky <victork@il.ibm.com>
3393
e753d130
AP
3394 PR tree-optimization/26360
3395 * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern
3396 stmts.
a8b28492 3397
ffbf5f7f
RS
33982006-06-04 Roger Sayle <roger@eyesopen.com>
3399 Andrew Pinski <pinskia@physics.uc.edu>
3400
3401 PR middle-end/27382
3402 * c-common.c (c_common_truthvalue_conversion): Explicitly check
3403 for LABEL_DECL before calling DECL_WEAK.
3404
3405 PR c/27150
3406 * c-typeck.c (build_binary_op): Likewise, explicitly check for
3407 LABEL_DECL and PARM_DECL.
3408
5c076987
JM
34092006-06-05 Joseph S. Myers <joseph@codesourcery.com>
3410
3411 PR c/25161
3412 PR c/27020
3413 * c-decl.c (grokdeclarator): Disallow variably modified types at
3414 file scope. Avoid marking shared array type of constant size as
3415 VLA.
3416
545b7d8c
VR
34172006-06-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3418
3419 PR c++/27601
3420 * c-common.c (fold_offsetof_1): Handle static members.
3421
0ac11108
EC
34222006-06-04 Eric Christopher <echristo@apple.com>
3423
3424 * stor-layout.c (start_record_layout): Initialize remaining_in_alignment.
3425 (debug_rli): Output value for remaining_in_alignment.
3426 (update_alignment_for_field): Unconditionalize
3427 ms_bitfield_layout_p code. Handle non-bitfield fields. Remove
3428 extra alignment code.
3429 (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize
3430 ms_bitfield_layout_p code. Rewrite handling of structure fields.
3431 * tree.h (record_layout_info_s): Remove prev_packed.
3432 * doc/extend.texi (ms_struct): Add documentation of format.
3433
63b48197
MS
34342006-06-04 Mark Shinwell <shinwell@codesourcery.com>
3435
3436 * tree.h: Declare folding_initializer.
3437 * builtins.c (fold_builtin_constant_p): Give definite answer
3438 if folding inside an initializer.
3439 * fold-const.c: Define folding_initializer.
3440 (START_FOLD_INIT): Save and then set folding_initializer.
3441 (END_FOLD_INIT): Restore folding_initializer.
3442
7ec434b8
RG
34432006-06-04 Richard Guenther <rguenther@suse.de>
3444
3445 PR tree-optimization/27039
3446 * fold-const.c (fold_comparison): Handle pointer comparison
3447 again for all comparison codes. Compare offsets in signed
3448 size type.
3449 (fold_binary): Move code from here.
3450
94e76332
RS
34512006-06-03 Roger Sayle <roger@eyesopen.com>
3452
3453 PR target/26223
3454 * config/i386/i386.c (construct_container): Split static issued_error
3455 flag into issued_sse_arg_error, issued_sse_ret_error and
3456 issued_x87_ret_error. Issue a daignostic if the x86-64 ABI
3457 requires the use of x87 registers and the user explicitly
3458 specified the -mno-80387 command line option.
3459
4f6d8cc8
GK
34602006-06-02 Geoffrey Keating <geoffk@apple.com>
3461
3462 * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with
3463 HAVE_DECL_SIGALTSTACK.
3464 (MC_FLD): New.
3465 (segv_handler): Use MC_FLD.
3466 * configure.ac: Check for a sigaltstack declaration.
3467 Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin.
3468 * configure: Regenerate.
3469 * config.in: Regenerate.
3470
af33a0c0
R
34712006-06-03 J"orn Rennecke <joern.rennecke@st.com>
3472
3473 PR other/27850
3474 * Makefile.in (stmp-fixinc): Fix typo.
3475
9734ebaf
RS
34762006-06-02 Roger Sayle <roger@eyesopen.com>
3477
3478 * fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions
3479 are type correct. Clean-up.
3480 <REALPART_EXPR>: Likewise. Optimize creal(~z) as creal(z).
3481 <IMAGPART_EXPR>: Likewise. Optimize cimag(~z) as -cimag(z).
3482
df5c71ac
DD
34832006-06-01 DJ Delorie <dj@redhat.com>
3484
3485 * config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the
3486 shift, as we've disabled the "switch" insn that needs it.
3487
112598f4
PB
34882006-06-01 Per Bothner <bothner@bothner.com>
3489
3490 Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output.
3491 * c-opts.c (finish_options): Use internal line 0 for <command-line>.
3492 * c-ppoutput.c (cb_define): Don't increment line 0.
3493
e118597e
PS
34942006-06-01 Pete Steinmetz <steinmtz@us.ibm.com>
3495
3496 * doc/invoke.texi: Add cpu_type power6.
3497 * config.gcc: Add cpu_type power6.
3498 * config/rs6000/rs6000.c (rs6000_override_options): Alias power6
3499 to power5+ with Altivec.
3500 * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
3501 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
3502
d3f27077
AS
35032006-05-30 Anatoly Sokolov <aesok@post.ru>
3504
3505 * config/avr/avr.h (SET_ASM_OP): Define.
3506
aab26080
KH
35072006-06-01 Kazu Hirata <kazu@codesourcery.com>
3508
3509 * config/bfin/bfin.c: Fix comment typos.
3510
f5c3bb4b
PB
35112006-06-01 Paolo Bonzini <bonzini@gnu.org>
3512
3513 PR 25453
3514 * doc/install.texi: Document --enable-bootstrap and
3515 --disable-bootstrap.
3516
02809848
PB
35172006-06-01 Paolo Bonzini <bonzini@gnu.org>
3518
3519 * doc/install.texi: Document that InfoZIP can replace jar.
3520
86ce1825
RS
35212006-05-31 Roger Sayle <roger@eyesopen.com>
3522
3523 * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE
3524 isn't available, directly generate the simpler x87 patterns without
3525 the (use (const_int 0)).
3526 * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE
3527 implementation isn't available.
3528 (*negdf2_1): Likewise.
3529 (*negxf2_1): XF mode negation is always done using the x87.
3530 (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs.
3531
4f31c7ec
RS
35322006-05-31 Roger Sayle <roger@eyesopen.com>
3533
3534 * builtins.c (fold_builtin_cabs): Delete prototype. Require an
3535 additional FNDECL argument. Optimize cabs(-z) and cabs(~z) as
3536 cabs(z).
3537 (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call.
3538
b03149e1
JZ
35392006-05-31 Jie Zhang <jie.zhang@analog.com>
3540
3541 * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare.
3542 * config/bfin/bfin.c (basic-block.h): Include.
3543 (struct machine_function): New.
3544 (bfin_init_machine_status): New.
3545 (override_options): Initialize init_machine_status.
3546 (bfin_hardware_loop): New.
3547 (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define.
3548 (DEF_VEC_P (loop_info)): New.
3549 (DEF_VEC_ALLOC_P (loop_info,heap)): New.
3550 (struct loop_info): New.
3551 (loop_info): New typedef.
3552 (struct loop_work): New.
3553 (loop_work): New typedef.
3554 (DEF_VEC_O (loop_work)): New.
3555 (DEF_VEC_ALLOC_O (loop_work,heap)): New.
3556 (bfin_dump_loops): New.
3557 (bfin_bb_in_loop): New.
3558 (bfin_scan_loop): New.
3559 (bfin_optimize_loop): New.
3560 (bfin_reorg_loops): New.
3561 (bfin_reorg): Use bfin_reorg_loops.
3562 * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding
3563 loop registers.
3564 (I_REGNO_P): Simplify.
3565 (DP_REGNO_P, DPREG_P): New macros.
3566 (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
3567 REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1.
3568 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
3569 Add LT_REGS, LC_REGS, LB_REGS.
3570 (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS,
3571 'l' for LB_REGS.
3572 (REGNO_REG_CLASS): Deal with loop registers.
3573 * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint
3574 letters.
3575 (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1):
3576 New constants for loop registers.
3577 (UNSPEC_LSETUP_END): New.
3578 (seq_insns): New define_attr. Set it for appropriate insns.
3579 (movsi_insn): Add alternatives for move from/to
3580 loop count registers.
3581 (doloop_end): New define_expand.
3582 (loop_end): New define_insn.
3583 (define_split for bad doloop_end): New.
3584 (lsetup_with_autoinit): New define_insn.
3585 (lsetup_without_autoinit): New define_insn.
3586 (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1.
3587 * config/bfin/predicates.md (lc_register_operand): New.
3588 (lt_register_operand): New.
3589 (lb_register_operand): New.
3590 (nondp_register_operand): New.
3591 (nondp_reg_or_memory_operand): New.
3592 * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters.
3593
54aefc36
JZ
35942006-05-31 Jie Zhang <jie.zhang@analog.com>
3595
3596 * config/bfin/bfin.c (bfin_delegitimize_address): New.
3597 (TARGET_DELEGITIMIZE_ADDRESS): Define.
3598
5c3c3683
DJ
35992006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
3600
3601 * Makefile.in (CATALOGS): Add po/ prefix.
3602 * configure: Regenerated.
3603
beed32b8
RE
36042006-05-31 Richard Earnshaw <richard.earnshaw@arm.com>
3605
4fe56d83 3606 PR target/27829
beed32b8
RE
3607 * arm.c (arm_print_operand case 'S'): Validate that the operand is
3608 a shift operand before calling shift_op. Avoid redundant call of
3609 shift_op.
3610
9cb96754
N
36112006-05-30 Naveen.H.S <naveenh@kpitcummins.com>
3612 DJ Delorie <dj@redhat.com>
3613
3614 * config/m32c/m32c.c (m32c_expand_insv): Check that the value
3615 we're inserting is a singlt-bit constant.
3616
e40122f0
RS
36172006-05-30 Roger Sayle <roger@eyesopen.com>
3618
3619 * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast
3620 width to HOST_WIDE_INT to avoid comparison warnings on some targets.
3621
99b25753
RS
36222006-05-30 Roger Sayle <roger@eyesopen.com>
3623
3624 PR tree-optimization/23452
3625 * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
3626 to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2.
3627 (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
3628 complex values and with -ffast-math for FP complex values.
3629
c98662e0
KH
36302006-05-30 Kazu Hirata <kazu@codesourcery.com>
3631
3632 * c-common.h: Remove the prototype for yyparse.
3633 * rtl.h: Remove the prototype for init_loop.
3634
67e0a632
AK
36352006-05-30 Andreas Krebbel <krebbel1@de.ibm.com>
3636
3637 * cse.c (validate_canon_reg, cse_insn): Don't change insns without
3638 calling recog.
3639
70233f37
RS
36402006-05-30 Roger Sayle <roger@eyesopen.com>
3641
3642 * simplify-rtx.c (simplify_binary_operation): Unfactor the shift
3643 and rotate cases.
3644 <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is
3645 log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics.
3646
d117b270
DM
36472006-05-30 Dirk Mueller <dmueller@suse.de>
3648
3649 PR c/27273
3650 * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW
3651 for CONSTANT_CLASS_P expresisons.
3652
16464cc1
VR
36532006-05-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3654
3655 PR c/27718
3656 * c-typeck.c (c_expr_sizeof_type): Handle invalid types.
3657
d91d2db7
ZD
36582006-05-30 Zdenek Dvorak <dvorakz@suse.cz>
3659
3660 PR tree-optimization/27779
3661 * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use
3662 initial_condition instead of CHREC_LEFT.
3663
6a728a2d
SB
36642006-05-30 Steven Bosscher <stevenb.gcc@gmail.com>
3665
3666 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
3667 * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors):
3668 Make prototypes ISO C90.
3669
375bc622 36702006-05-30 Mircea Namolaru <namolaru@il.ibm.com>
d91d2db7 3671 Leehod Baruch <leehod.baruch@weizmann.ac.il>
375bc622 3672
d91d2db7
ZD
3673 * see.c (see_analyze_one_def): Correct check.
3674 (see_get_extension_data): Check if extension is parallel.
3675 (see_get_extension_reg): Likewise.
375bc622 3676
55b2de75
UB
36772006-05-30 Uros Bizjak <uros@kss-loka.si>
3678
3679 PR target/27790
3680 * config/i386/i386.c (ix86_expand_int_vcond): Force cop0
3681 into register for (code == GTU).
3682
1753331b
RS
36832006-05-29 Roger Sayle <roger@eyesopen.com>
3684
3685 PR tree-optimization/24964
3686 * simplify-rtx.c (simplify_binary_operation_1): Add function comment.
3687 <MULT>: Minor clean-up. Don't convert x*-1.0 into -x if we honor
3688 signaling NaNs. Optimize -x*-x as x*x for all float modes, and
3689 abs(x)*abs(x) as x*x for scalar floating point modes.
3690
06ac89d1
SP
36912006-05-29 Sebastian Pop <pop@cri.ensmp.fr>
3692
3693 PR middle-end/27745
3694 * lambda-code.c (perfect_nestify): Don't copy statements
3695 in the inner loop: move them to the inner loop header.
3696
96e36096
DN
36972006-05-29 Diego Novillo <dnovillo@redhat.com>
3698
3699 PR 26237
3700 * c-tree.texi: Document OpenMP directives and clauses.
3701
eb5fa773
KH
37022006-05-29 Kazu Hirata <kazu@codesourcery.com>
3703
3704 * varasm.c (globalize_decl): Fix indentation.
3705
a6719dc6
DN
37062006-05-29 Diego Novillo <dnovillo@redhat.com>
3707
3708 PR 26242
3709 * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta,
3710 pass_fre, pass_store_ccp, pass_copy_prop,
3711 pass_store_copy_prop, pass_merge_phi, pass_nrv,
3712 pass_return_slot, pass_object_size, pass_lim,
3713 pass_linear_transform, pass_empty_loop, pass_complete_unroll,
3714 pass_loop_prefetch and pass_stdarg.
3715
6614f9f5
BS
37162005-05-29 Bernd Schmidt <bernd.schmidt@analog.com>
3717
3718 * config/bfin/bfin.opt (mfdpic): New option.
3719 * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o.
3720 (EXTRA_MULTILIB_PARTS): Likewise.
3721 (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic.
3722 (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic
3723 multilib.
3724 * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared.
3725 (CRT_CALL_STATIC_FUNCTION): New.
3726 * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if
3727 -shared.
3728 (CRT_CALL_STATIC_FUNCTION): New.
3729 * config/bfin/bfin.c (legitimize_pic_address): Now static. Handle
3730 FD-PIC moves.
3731 (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC.
3732 (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4.
3733 (initialize_trampoline): Changed to handle FD-PIC code generation.
3734 (expand_move): If TARGET_FDPIC, use emit_pic_move as needed.
3735 (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC.
3736 (override_options): Disallow -mid-shared-library -mfdpic combination.
3737 Can't do unaligned ops if FD-PIC.
3738 Turn off flag_pic if trying to generate non-id-shared-library
3739 non-fdpic code, since it's not supported.
3740 (bfin_assemble_integer): New function.
3741 (TARGET_ASM_INTEGER): Define.
3742 * config/bfin/crti.s (__init, __fini): Save P3 on the stack if
3743 __BFIN_FDPIC__.
3744 * config/bfin/crtn.s: Restore them.
3745 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__
3746 if TARGET_FDPIC.
3747 (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
3748 LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros.
3749 (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros.
3750 (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC.
3751 (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is
3752 call-used.
3753 (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add
3754 FDPIC_REGS and FDPIC_FPTR_REGS.
3755 (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them.
3756 * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4,
3757 UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants.
3758 (load_funcdescsi): New pattern.
3759 (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic,
3760 sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic,
3761 call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns.
3762
db3edc20
KH
37632006-05-29 Kazu Hirata <kazu@codesourcery.com>
3764
3765 * gcse.c, rtlanal.c: Remove obsolete comments associated with
3766 loop.c.
3767
a9488625
KH
3768 * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove.
3769
152279c4
KH
3770 * tree-flow.h: Remove the prototype for add_type_alias.
3771 * tree-ssa-alias.c (add_type_alias): Remove.
3772
6fc0bb99
KH
37732006-05-28 Kazu Hirata <kazu@codesourcery.com>
3774
3775 * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
3776 config/fr30/fr30.md, config/i386/i386-interix.h,
3777 config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
3778 config/sh/superh64.h, config/v850/v850.c, df-core.c,
3779 df-problems.c, df.h, except.c, final.c, haifa-sched.c,
3780 lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
3781 reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
3782 tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
3783 Follow spelling conventions.
3784 * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
3785 Follow spelling conventions.
3786
9e030af9
RG
37872006-05-27 Richard Guenther <rguenther@suse.de>
3788
3789 PR middle-end/27773
3790 * fold-const.c (fold_plusminus_mult_expr): Use fold_convert
3791 to produce a constant of value 1 of generic type.
3792
46f5f7f2
DM
37932006-05-27 Dirk Mueller <dmueller@suse.de>
3794
3795 * cgraphunit.c (decide_is_function_needed): Fix wrong
3796 PR reference.
3797
7c7ce73a
UW
37982006-05-26 Ulrich Weigand <uweigand@de.ibm.com>
3799
3800 PR rtl-optimization/27661
3801 * reload.c (find_reloads): When reloading a VOIDmode constant
3802 as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint,
3803 use Pmode as mode of the reload register.
3804
c539d463
EB
38052006-05-26 Eric Botcazou <ebotcazou@adacore.com>
3806
3807 * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time
3808 is enabled at -O and above.
3809
38102006-05-26 Steven Bosscher <steven@gcc.gnu.org>
807bdfb6
FH
3811
3812 PR target/27571
3813 * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
3814 table data.
3815
e92fb501
MM
38162006-05-25 Mark Mitchell <mark@codesourcery.com>
3817
3818 PR c++/20103
3819 * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var
0ac11108 3820 for anonymous variables explicitly declared by front ends.
e92fb501 3821
05a58ad4
EB
38222006-05-25 Eric Botcazou <ebotcazou@adacore.com>
3823
3824 * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro.
3825 (struct alias_info): Add new field ref_all_symbol_mem_tag.
3826 * tree-ssa-alias.c (compute_may_aliases): If the program contains
3827 ref-all pointers, run a finalization pass for them.
3828 (compute_flow_insensitive_aliasing): Skip ref-all pointers.
3829 (finalize_ref_all_pointers): New function.
3830 (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a
3831 regular pointer type to a ref-all pointer type.
3832 (get_tmt_for): Return the special memory tag for ref-all pointers.
3833
2d60e929
RG
38342006-05-25 Richard Guenther <rguenther@suse.de>
3835
3836 PR middle-end/27743
3837 * fold-const.c (fold_binary): Do not look at the stripped
3838 op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization.
3839
9d6eefd5
EB
38402006-05-25 Eric Botcazou <ebotcazou@adacore.com>
3841
3842 * tree-vrp.c (extract_range_from_assert): Set the range to VARYING
3843 for LT and GT if the computed range is effectively empty.
3844
38452006-05-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5877ca2e
JDA
3846
3847 PR target/27627
3848 * pa/pa-modes.def: Use mips_single_format, mips_double_format and
3849 mips_quad_format formats instead of ieee_single_format,
3850 ieee_double_format and ieee_quad_format formats, respectively.
3851
d7f5de76
ZD
38522006-05-24 Zdenek Dvorak <dvorakz@suse.cz>
3853
3854 PR tree-optimization/27639
3855 PR tree-optimization/26719
3856 * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
3857 call to scev_probably_wraps_p.
3858 * tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
3859 used_in_pointer_arithmetic_p, convert_step): Removed.
3860 (nowrap_type_p): New function.
3861 (scev_probably_wraps_p): Rewritten.
3862 * tree-scalar-evolution.c (instantiate_parameters_1): Do not call
3863 chrec_convert if chrec_convert_aggressive might have been used.
3864 * tree-chrec.c (convert_affine_scev, chrec_convert_1,
3865 scev_direction): New functions.
3866 (chrec_convert): Changed to a wrapper over chrec_convert_1.
3867 * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
3868 instead of convert_step.
3869 * tree-flow.h (scev_probably_wraps_p): Declaration changed.
3870 (convert_step): Declaration removed.
3871 (convert_affine_scev, nowrap_type_p, scev_direction): Declare.
3872
b11550aa
KZ
38732006-05-23 Kenneth Zadeck <zadeck@naturalbridge.com>
3874
d7f5de76 3875 * df-core.c: Added to header comments.
b11550aa
KZ
3876 * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
3877 df_ur_bb_info, df_urec_bb_info): Added comments.
0ac11108 3878 * df-problems (df_ref_bitmap, ru, rd, lr, ur,
b11550aa 3879 urec, ri problems): Fixed header comments.
0ac11108 3880 (df_ru_transfer_function): Fixed in-out set dyslexia when copying
b11550aa 3881 code from df_rd_transfer_function.
0ac11108 3882
b2a203c8
RS
38832006-05-23 Richard Sandiford <richard@codesourcery.com>
3884
3885 * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
3886 (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
3887 MIN_UNITS_PER_WORD to set the default. Also use it in the guard.
3888
550ab0c6
JM
38892006-05-23 Joseph Myers <joseph@codesourcery.com>
3890
3891 * expr.c (undefined_operand_subword_p): New.
3892 (emit_move_multi_word): Do not generate move from undefined bits
3893 of a paradoxical subreg.
3894
e5d7a520
RS
38952006-05-23 Richard Sandiford <richard@codesourcery.com>
3896
3897 PR rtl-optimization/27736
3898 * combine.c (replaced_rhs_value): New variable.
3899 (combine_instructions): Set it.
3900 (distribute_notes): When distributing a note in replaced_rhs_insn,
3901 check whether the value was used in replaced_rhs_value.
3902
f004ab02
AM
39032006-05-23 Andrew MacLeod <amacleod@redhat.com>
3904
3905 PR c++/26757
0ac11108 3906 * tree-ssa-loop-im.c (determine_invariantness_stmt): Use
f004ab02
AM
3907 add_referenced_var instead of add_referenced_tmp_var.
3908 * tree-complex.c (create_one_component_var): Use add_referenced_var.
3909 * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use
3910 add_referenced_var.
3911 * tree-tailcall.c (adjust_accumulator_values, adjust_return_value,
3912 tree_optimize_tail_calls_1): Use add_referenced_var.
3913 * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var.
3914 * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft):
3915 Use add_referenced_var.
3916 * tree-if-conv.c (ifc_temp_var): Use add_referenced_var.
3917 * gimplify.c (force_gimple_operand): Use add_referenced_var.
3918 * tree-ssa-phiopt.c (conditional_replacement, abs_replacement):
3919 Use add_referenced_var.
3920 * tree-dfa.c (struct walk_state): Remove.
3921 (find_referenced_vars): Remove walk state and vars_found hash table.
3922 (make_rename_temp): Use add_referenced_var.
3923 (find_vars_r): Pass less parameters to add_referenced_var.
3924 (referenced_var_p): New. Is var in referenced_var hash table.
3925 (referenced_var_insert): Assert var isn't already in hash table.
3926 (add_referenced_var): Don't need walk_state parameter. Add var if it
3927 isn't already in the hash table.
3928 (add_referenced_tmp_var): Remove.
3929 (find_new_referenced_vars_1): Use add_referenced_var.
0ac11108 3930 * tree-ssa-pre.c (create_expression_by_pieces,
f004ab02
AM
3931 insert_into_preds_of_block, insert_extra_phis, realify_fake_stores):
3932 Use add_referenced_var.
3933 * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var.
3934 * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
0ac11108 3935 lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use
f004ab02
AM
3936 add_referenced_var.
3937 * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
3938 vect_create_data_ref_ptr, vect_create_destination_var,
0ac11108 3939 vect_init_vector, vect_build_loop_niters,
f004ab02
AM
3940 vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
3941 vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks):
3942 Use add_referenced_var.
3943 * tree-outof-ssa.c (create_temp): Use add_referenced_var.
3944 * tree-flow.h (add_referenced_tmp_var): Remove prototype
3945 (add_referenced_var): Add prototype.
0ac11108 3946 * tree-ssa-structalias.c (get_constraint_for,
f004ab02
AM
3947 intra_create_variable_infos): Use add_referenced_var.
3948
dedc1e6d
AO
39492006-05-23 Alexandre Oliva <aoliva@redhat.com>
3950
3951 * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for
3952 big-endian paradoxical subregs.
3953 * var-tracking.c (struct micro_operation_def): Document that,
3954 for modify micro operations, insn is the subsequent instruction.
3955 (var_reg_delete_and_set, var_mem_delete_and_set): Split into...
3956 (var_reg_set, var_mem_set): ... new functions.
3957 (add_stores): Record subsequent insn.
3958 (compute_bb_dataflow): Use new functions for MO_USE.
3959 (emit_notes_in_bb): Use new functions for MO_USE. Emit use
3960 notes after the insn, and modify notes before the insn known
3961 to be the subsequent one.
3962 (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs.
3963
546be535
KH
39642006-05-23 Kazu Hirata <kazu@codesourcery.com>
3965
3966 PR target/27696
3967 * config/i386/i386.c (ix86_expand_builtin): Use
3968 gen_sse3_monitor64 for TARGET_64BIT.
3969
1a1a5f4b
KZ
39702006-05-22 Kenneth Zadeck <zadeck@naturalbridge.com>
3971
3972 PR rtl-optimization/26375
3973 PR rtl-optimization/26855
3974 * df-problems (df_ru_bb_local_compute_process_def): Removed update
3975 to gen set.
3976 (df_ru_bb_local_compute): Reversed statements and removed bogus
3977 comment explaining why they should be in wrong order.
0ac11108 3978 (df_ru_dump, df_rd_dump): Enhanced debug info.
1a1a5f4b 3979 * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced
0ac11108 3980 debug info.
1a1a5f4b 3981 * ddg.c (add_deps_for_def): Converted use of reaching defs to
d7f5de76 3982 reaching uses and fixed space problem.
1a1a5f4b 3983
b633db7b
JH
39842006-05-23 Jan Hubicka <jh@suse.cz>
3985
3986 * cgraphunit.c (decide_is_function_needed): Also nested functions
3987 and functions declared inline can be optimized out at -O0.
3988
3f2c089f
GP
39892006-05-22 Gerald Pfeifer <gerald@pfeifer.com>
3990
3991 * doc/install.texi (Configuration): Remove reference to CrossGCC
14d92b15 3992 FAQ which was gone.
3f2c089f
GP
3993 (Building): Ditto.
3994
3d763bcf
KH
39952006-05-22 Kazu Hirata <kazu@codesourcery.com>
3996
3997 PR target/27266
3998 * config/i386/i386.c (ix86_expand_branch): Jump to simple if
3999 ix86_compare_emitted is non-NULL.
4000
123b24e7
VR
40012006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4002
4003 PR c++/27451
4004 * stmt.c (expand_asm_operands): Skip asm statement with erroneous
4005 clobbers.
4006
1ff3ac02
RS
40072006-05-22 Richard Sandiford <richard@codesourcery.com>
4008
4009 PR rtl-optimization/25514
4010 * combine.c (replaced_rhs_insn): New variable.
4011 (combine_instructions): Set replaced_rhs_insn when trying to replace
4012 a SET_SRC with a REG_EQUAL note.
4013 (distribute_notes): Use replaced_rhs_insn when determining the live
4014 range of a REG_DEAD register.
4015
8c21550d
JW
40162006-18-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
4017 Anatoly Sokolov <aesok@post.ru>
4018
4019 * config/avr/avr.c (avr_mcu_types): Add support for attiny261,
4020 attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
0ac11108
EC
4021 attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p,
4022 atmega164p, atmega324p, atmega644p, atmega644, atmega329,
4023 atmega3290, atmega649, atmega6490, atmega406, atmega640,
4024 atmega1280, atmega1281, at90can32, at90can64, at90usb646,
4025 at90usb647, at90usb1286 and at90usb1287 devices.
8c21550d
JW
4026 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
4027 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
4028
350f18df
RS
40292006-05-22 Richard Sandiford <richard@codesourcery.com>
4030
4031 * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
4032
c31202cd
RG
40332006-05-22 Richard Guenther <rguenther@suse.de>
4034
4035 Revert
4036 2006-01-31 Richard Guenther <rguenther@suse.de>
4037 Paolo Bonzini <bonzini@gnu.org>
4038
4039 * doc/install.texi (--disable-libgcc-math): Document.
4040
9714c911
RG
40412006-05-22 Richard Guenther <rguenther@suse.de>
4042
4043 Revert
4044 2006-01-31 Richard Guenther <rguenther@suse.de>
4045
4046 * doc/invoke.texi (-msselibm): Document.
4047 * target.h (expand_library_builtin): New target hook.
4048 * builtins.c (expand_builtin): Use expand_library_builtin.
4049 (default_expand_library_builtin): New function.
4050 * gcc.c (LINK_GCC_MATH_SPEC): Define.
4051 (LINK_COMMAND_SPEC): Handle %(link_gcc_math).
4052 (link_gcc_math_spec): Declare.
4053 (static_specs): Add link_gcc_math_spec.
4054 * expr.h (default_expand_library_builtin): Declare.
4055 * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
4056 (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
4057 * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
4058 * config/i386/i386.opt (msselibm): New target option.
4059 * config/i386/i386.c (ix86_builtin_function_variants): New array.
4060 (ix86_init_sse_abi_builtins): New function.
4061 (ix86_expand_library_builtin): Likewise.
4062 (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
4063 (override_options): Handle error conditions wrt -msselibm.
4064 (ix86_builtins): Add function codes for SSE2 ABI builtins.
4065 (ix86_init_builtins): Call ix86_init_sse_abi_builtins.
4066 * doc/extend.texi (__builtin_sse2_*): Document new target specific
4067 builtins.
4068
4271a6f3
VR
40692006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4070
694fea20
VR
4071 PR c/27420
4072 * c-common.c (self_promoting_args_p): Skip erroneous args.
4073
4271a6f3
VR
4074 PR c/26818
4075 * c-decl.c (finish_struct): Skip erroneous fields.
4076
c3e242e7
NC
40772006-05-22 Nick Clifton <nickc@redhat.com>
4078
4079 * config/cris/cris.opt (march): Remove VarExists attribute.
4080 (max-stackframe=): Likewise.
4081
41c6dd59
KH
40822006-05-22 Kazu Hirata <kazu@codesourcery.com>
4083
4084 * doc/rtl.texi: Fix a typo.
4085 * see.c: Fix comment typos.
4086
eec077bd
KH
4087 * tree-ssa-structalias.h (alias_info): Remove num_references.
4088
76ad5c10
MS
40892006-05-21 Mike Stump <mrs@apple.com>
4090
4091 * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
4092 (BAD2): Add.
213af8c8
MS
4093 (darwin_pragma_options): Use BAD instead.
4094 (darwin_pragma_unused): Likewise.
4095 (darwin_pragma_ms_struct): Likewise.
4096
d29b7f64
DE
40972006-05-21 David Edelsohn <edelsohn@gnu.org>
4098
4099 * config/rs6000/rs6000.md (floatsitf2): Remove constraints.
4100
4d49d44d
KH
41012006-05-21 Kazu Hirata <kazu@codesourcery.com>
4102
4103 PR rtl-optimization/27671
4104 * simplify-rtx.c (simplify_relational_operation_1): Fix
4105 simplifications of (eq/ne (xor x y) y) and
4106 (eq/ne (xor x y) x).
4107
5104d648
KH
4108 PR tree-optimization/26622.
4109 * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
4110 on arg1.
4111
6531d1be
BF
41122006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
4113
4114 * tree-cfg.c: Prune whitespace.
4115 (debug_tree_cfg): Point to correct header containing the
4116 TDF_* defines.
4117
95a52ebb
BF
41182006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
4119
4120 PR middle-end/25776
4121 * cgraphunit.c (verify_cgraph_node): Typo in error message.
4122
7e2fe9d8
AP
41232006-05-20 Andrew Pinski <pinskia@physics.uc.edu>
4124
4125 PR middle-end/25776
4126 * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error
4127 or sorry count is non zero.
4128
e29c9705 41292006-05-20 Andreas Schwab <schwab@suse.de>
9be3bc1f
AS
4130
4131 * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
4132
5d384034
DB
41332006-05-19 Daniel Berlin <dberlin@dberlin.org>
4134 Kenneth Zadeck <zadeck@naturalbridge.com>
4135
4136 PR rtl-optimization/26855
4137
4138 * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
4139 multiword refs.
4140 (df_scan_alloc): Added code to properly handle multiword hard
4141 registers and add all_blocks parameter.
4142 (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
4143 code to properly handle multiword hard registers.
4144 (df_rescan_blocks): Added code to remove deleted blocks from
4145 bitmap.
4146 (df_ref_create_structure, df_ref_record): Added code to properly
4147 handle subregs.
4148 (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
4149 and set DF_REF_PARTIAL.
4150 (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
0ac11108 4151 (df_uses_record): Added DF_REF_PARTIAL for subreg.
5d384034
DB
4152 (df_scan_add_problem): Added flags parameter.
4153 (df_ref_create_structure): Changed switching structure.
4154 (df_bb_refs_record): Fixed case where duplicate artificial refs
4155 were created. Changed location of flags.
4156 (df_record_entry_block_defs): Added code to make stack pointer
4157 live in entry block. Refined cases where frame pointer is needed.
4158 Changed location of flags.
4159 (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
4160 (df_set_state): Removed function.
4161 (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
0ac11108
EC
4162 df_insn_create_insn_record, df_insn_refs_delete,
4163 df_ref_create_structure): Formatting changes.
5d384034
DB
4164 * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
4165 df_delete_basic_block): New function.
4166 (df_init): Changed location of flags.
4167 (df_add_problem): Added flags parameter and the way flags are
4168 processed.
4169 (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
4170 debug_df_chain): Improved debugging output.
4171 (df_insn_debug, df_insn_uid_debug): Added multiword reg support.
4172 (df_refs_chain_dump): Removed df parameter.
4173 (df_iterative_dataflow): Added consistency check.
4174 (df_prune_to_subcfg): Made public.
4175 (df_analyze_problem): Added blocks_to_init parameter and made
4176 public.
0ac11108 4177 (df_ref_record, df_bb_refs_record, df_mark_reg,
5d384034
DB
4178 df_record_exit_block_uses): Whitespace changes.
4179 (df_dump): Whitespace changes.
4180 * df.h: Some reordering to remove forward references.
4181 (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
4182 DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
4183 (df_ref_flags.DF_REF_CLOBBER): Deleted field.
4184 (dataflow.flags): New field.
4185 (df.flag): Deleted field.
4186 (df_alloc_function): Added additional bitmap parameter.
4187 (df_dependent_problem_function): New type.
4188 (df_problem.changeable_flags): New field.
4189 (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
4190 DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
4191 (df_mw_hardreg): New struct.
4192 (DF_INSN_UID_MWS): New macro.
4193 (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
4194 parameter.
4195 (df_add_problem, df_ru_add_problem, df_rd_add_problem,
4196 df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
4197 df_ri_add_problem, df_scan_add_problem): Added flags parameter.
4198 (df_set_state): Removed function.
4199 (df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
4200 * df-problems.c (df_chain_dump): Removed df parameter.
4201 (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
4202 df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
4203 parameter.
4204 (df_ru_alloc, df_rd_alloc): Now resets all blocks.
4205 (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
4206 df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
4207 Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
4208 DF_REF_MUST_CLOBBER cases.
4209 (df_ru_bb_local_compute_process_def,
4210 df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
4211 df_lr_bb_local_compute, df_ur_bb_local_compute,
4212 df_chain_create_bb): Made subreg aware.
4213 (df_ru_bb_local_compute, df_rd_bb_local_compute,
4214 df_lr_bb_local_compute, df_lr_bb_local_compute,
4215 df_chain_create_bb): Cleanup to use proper macros.
4216 (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
4217 code to fixup bitvectors.
4218 (df_ri_alloc): Cleared lifetime.
4219 (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
4220 df_create_unused_note): New function.
4221 (df_ri_bb_compute, df_ri_compute): Added code to create/update
4222 REG_DEAD and REG_UNUSED notes as well as register information.
4223 (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
4224 df_chains_dump): Fixed crash if problem was never run.
4225 (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
4226 df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
4227 df_ri_add_problem): Processes flags in uniform manner.
4228 (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
4229 df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
4230 df_rd_dump, df_urec_free_bb_info): Formatting changes.
4231 (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
4232 df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
4233 df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
4234 df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
4235 df_ur_dump, df_urec_free_bb_info, df_urec_dump,
4236 df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
4237 * modulo-sched.c (sms_schedule): Added flag parameter to calls.
4238 * see.c (see_initialize_data): Ditto.
4239 * final.c (rest_of_clean_state) Added regstack_completed.
4240 * rtl.h (regstack_completed): Ditto.
4241 * reg-stack.c (regstack_completed): Ditto.
4242
d593cb3d
MS
42432006-05-19 Mike Stump <mrs@apple.com>
4244
4245 * c-tree.h (default_conversion): Remove.
4246 * c-common.h (default_conversion): Add.
4247
04dce5a4
ZD
42482006-05-19 Zdenek Dvorak <dvorakz@suse.cz>
4249
4250 * tree-vrp.c (valid_value_p): New function.
4251 (adjust_range_with_scev): Fail if the value of bound is not
4252 simple.
4253
fa807ff6
RS
42542006-05-19 Richard Sandiford <richard@codesourcery.com>
4255
4256 * config/mips/linux-unwind.h: Include <asm/unistd.h>
4257 (mips_fallback_frame_state): Use syscall numbers to determine
4258 the appropriate li instruction for the current ABI. Only use
4259 __NR_sigreturn for o32.
4260
721a8ac5
NS
42612006-05-19 Nicolas Setton <setton@adacore.com>
4262
4263 * langhooks.h (struct lang_hooks): Add dwarf_name language hook.
4264 * langhooks.c (lhd_dwarf_name): New function.
4265 * langhooks-def.h (lhd_dwarf_name): Declare.
4266 (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
4267 * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook.
4268 * ada/misc.c (gnat_dwarf_name): New function.
4269 (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
0ac11108 4270
baffad1f
RS
42712006-05-19 Richard Sandiford <richard@codesourcery.com>
4272
4273 * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
4274 libgcc2.h.
4275 (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
4276 MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if
4277 LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
4278 * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
4279 Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
4280 determine the size of Wtype, etc.
4281 * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
4282 (swfloatfuncs): New variable.
4283 (dwfloatfuncs): Likewise.
4284 (lib2funcs): Remove floating-point conversion functions from
4285 initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine
4286 the set of conversion routines needed. Allow entries to specify
4287 an object name, filename and word size. Update users accordingly.
4288 * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
4289 * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
4290
4291 Revert:
4292
4293 2006-02-08 Roger Sayle <roger@eyesopen.com>
4294
4295 PR target/22209
4296 * config/fixtfdi.c: New libgcc source file.
4297 * config/fixunstfdi.c: New source file.
4298 * config/floatditf.c: New source file.
4299 * config/floatunditf.c: New souce file.
4300 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
4301 files above instead of config/mips/_tilib.c.
4302 * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
4303
03be9d6b
JDA
43042006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4305
4306 * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'.
4307 * pa/pa-hpux11.h (LIB_SPEC): Update comment.
4308
52ffd86e
MS
43092006-05-18 Mike Stump <mrs@apple.com>
4310
4311 Fix up vla, vm and [*] sematics.
4312
4313 PR c/18740
4314 PR c/7948
4315 PR c/25802
6a1f8611 4316 PR c/27673
52ffd86e
MS
4317 * c-tree.h (struct c_arg_info): Add had_vla_unspec.
4318 (c_vla_unspec_p): Add.
4319 (c_vla_type_p): Add.
4320 * c-decl.c (struct c_scope): Add had_vla_unspec.
4321 (build_array_declarator): Add support for [*].
4322 (grokdeclarator): Likewise.
4323 (grokparms): Likewise.
4324 (get_parm_info): Likewise.
4325 * c-objc-common.c (c_vla_unspec_p): Likewise.
4326 * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise.
4327 * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to
4328 typeof when argument is a variably modified type not inside sizeof or alignof.
4329 (c_parser_direct_declarator_inner): Propagate errors.
4330 (c_parser_sizeof_expression): Add support for [*].
6a1f8611
MS
4331 (c_parser_parms_declarator): Initialize had_vla_unspec.
4332 (c_parser_parms_list_declarator): Likewise.
52ffd86e
MS
4333 * c-typeck.c (c_vla_type_p): Add.
4334 (composite_type): Add support for vla compositing.
4335 (comptypes_internal): Add support for vla compatibility.
4336 (c_expr_sizeof_expr): Evaluate vla arguments.
4337 * tree.c (variably_modified_type_p): Update comment for [*].
4338
eaec4980
MM
43392006-05-18 Michael Matz <matz@suse.de>
4340
4341 PR target/27599
4342 * config.host: Make assignments to host_xmake_file cumulative.
4343 * config.host (*-darwin*): Test $host, not $target.
4344
33932946
SH
43452006-05-12 Stuart Hastings <stuart@apple.com>
4346
a1d1988f
MS
4347 * config/i386/i386.opt (-mstackrealign): New flag.
4348 * config/i386/i386.c (force_align_arg_pointer): New attribute.
33932946
SH
4349 (ix86_handle_cconv_attribute): Emit error when
4350 force_align_arg_pointer attribute collides with too many regparms.
4351 (ix86_function_regparm): Limit regparms when used with
4352 force_align_arg_pointer attribute. (ix86_internal_arg_pointer):
4353 Support stack-realigning prologue in non-main functions. Emit
4354 warning for nested functions under -mstackrealign, emit error for
4355 nested functions with force_align_arg_pointer attribute.
a1d1988f
MS
4356 * doc/extend.texi (force_align_arg_pointer): Document it.
4357 * doc/invoke.texi (-mstackrealign): Document it.
e8366202 4358
c8983342
KH
43592006-05-17 Kazu Hirata <kazu@codesourcery.com>
4360
4361 PR rtl-optimization/27477
4362 * combine.c (try_combine): Don't split a parallel consisting
4363 of two sets into two individual sets if both sets reference
4364 cc0.
4365
344185f1
L
43662006-05-17 H.J. Lu <hongjiu.lu@intel.com>
4367
4368 * config/arm/arm.opt (target_fpe_name): Remove VarExists.
4369 * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise.
4370
4371 * doc/options.texi (VarExists): Updated.
4372
edbaf6a2
JDA
43732006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4374
4375 * unwind-dw2.c: Add declarations for uw_update_context and
4376 uw_frame_state_for.
4377 * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is
4378 detected, advance frame state and context once to skip over stub.
4379
c93c5025
SP
43802006-05-17 Sebastian Pop <pop@cri.ensmp.fr>
4381
4382 PR middle-end/20256
4383 PR middle-end/26435
4384 * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p.
4385 Call rewrite_into_loop_closed_ssa only when something changed.
4386 * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration.
4387 * lambda-code.c (can_convert_to_perfect_nest): Declared.
4388 (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter.
4389 Test for perfect_nest_p here. Fix formating.
4390 (replace_uses_equiv_to_x_with_y): Fix formating.
4391 (stmt_uses_op): Removed.
4392 (can_convert_to_perfect_nest): Removed loopivs parameter.
4393 Complete the test by checking the scalar dependences.
4394 (perfect_nestify): Remove the test for can_convert_to_perfect_nest.
4395 Fix formating.
4396
be448346
BS
43972005-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
4398
4399 PR bootstrap/22541
4400 From Dan Kegel <dank@kegel.com>:
4401 * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
4402
2e3b8fe7
EB
44032006-05-17 Eric Botcazou <ebotcazou@adacore.com>
4404
4405 * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true
4406 if the element type is variably modified without recursing.
4407
9cb8f1ba
SP
44082006-05-17 Sebastian Pop <pop@cri.ensmp.fr>
4409
4410 PR middle-end/27332
e8366202 4411 * tree-loop-linear.c (try_interchange_loops): Test for
9cb8f1ba
SP
4412 no data dependences.
4413
e5db3515
ZD
44142006-05-17 Zdenek Dvorak <dvorakz@suse.cz>
4415
4416 PR tree-optimization/27548
4417 * tree-scalar-evolution.c (scev_const_prop): Do not prolong life
4418 range of ssa names that appear on abnormal edges.
4419 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export.
4420 * tree-flow.h (contains_abnormal_ssa_name_p): Declare.
4421
33598a1b
BS
44222005-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
4423
4424 PR middle-end/27620
4425 * expr.c (safe_from_p): Handle CONSTRUCTOR again.
4426
761041be
JJ
44272006-05-17 Jakub Jelinek <jakub@redhat.com>
4428
4429 PR middle-end/27415
4430 * tree.h (OMP_PARALLEL_COMBINED): Define.
4431 * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field.
4432 (new_omp_context): Add is_combined_parallel argument.
4433 (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust
4434 new_omp_context caller.
4435 (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
4436 Adjust gimplify_scan_omp_clauses callers.
4437 (omp_is_private): Issue errors if iteration variable is firstprivate
4438 or reduction in the current context.
4439 * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
4440 on combined parallel workshare constructs.
4441
8dc3f290
L
44422006-05-16 H.J. Lu <hongjiu.lu@intel.com>
4443
4444 * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
4445 (gcc-options.o): New rule.
4446
4447 * optc-gen.awk: Protect variables for gcc-options.o with
4448 #ifdef GCC_DRIVER/#endif.
4449
2ed4b0ce 44502006-05-16 Daniel Berlin <dberlin@dberlin.org>
e8366202 4451
2ed4b0ce
DB
4452 Fix PR tree-optimization/27373
4453 * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument.
4454 (forward_propagate_addr_expr): Update call.
4455
48b06e94
L
44562006-05-16 H.J. Lu <hongjiu.lu@intel.com>
4457
4458 * doc/options.texi: Move the Negative option.
4459
faaf1436
RG
44602006-05-16 Richard Guenther <rguenther@suse.de>
4461
4462 PR tree-optimization/22303
4463 * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads
4464 from STRING_CSTs.
4465 (evaluate_stmt): Fall back to fold_const_aggregate_ref, if
4466 ccp_fold did not simplify the statement.
4467
14c7833c
L
44682006-05-16 H.J. Lu <hongjiu.lu@intel.com>
4469
4470 PR driver/26885
4471 * Makefile.in (GCC_OBJS): New.
4472 (OBJS-common): Add opts-common.o.
4473 (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
4474 (cpp$(exeext)): Likewise.
4475 (gcc.o): Also depend on opts.h.
4476 (opts-common.o): New.
4477
4478 * common.opt (gcoff): Add Negative(gdwarf-2).
4479 (gdwarf-2): Add Negative(gstabs).
4480 (gstabs): Add Negative(gstabs+).
4481 (gstabs+): Add Negative(gvms).
4482 (gvms): Add Negative(gxcoff).
4483 (gxcoff): Add Negative(gxcoff+).
4484 (gxcoff+): Add Negative(gcoff).
4485 * config/i386/i386.opt (m32): Add Negative(m64).
4486 (m64): Add Negative(m32).
4487
4488 * doc/options.texi: Document the Negative option.
4489
4490 * gcc.c: Include "opts.h".
4491 (main): Call prune_options after expandargv.
4492
4493 * optc-gen.awk: Generate common declarations for all flag
4494 variables in options.c. Output the neg_index field.
4495
4496 * opts.c (find_opt): Moved to ...
4497 * opts-common.c: Here. New file.
4498
4499 * opts.h (cl_option): Add a neg_index field.
4500 (find_opt): New.
4501 (prune_options): Likewise.
4502
4156f84b
JJ
45032006-05-16 Jakub Jelinek <jakub@redhat.com>
4504
b570947c
JJ
4505 PR middle-end/27573
4506 * omp-low.c (expand_omp_parallel): Don't assert
4507 .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block,
4508 instead search for it.
4509
4156f84b
JJ
4510 PR c/27499
4511 * gimplify.c (gimplify_omp_for): Remove assertion that iteration var
4512 is signed.
4513
726e9992
AS
45142006-05-16 Andreas Schwab <schwab@suse.de>
4515
4516 * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end
4517 defmac.
4518
d0b89852
RS
45192006-05-15 Roger Sayle <roger@eyesopen.com>
4520
4521 PR target/26600
4522 * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
4523 integer constants other than zero are only legitimate on TARGET_64BIT.
4524 <CONST_VECTOR> Only zero vectors are legitimate.
4525 (ix86_cannot_force_const_mem): Integral and vector constants can
4526 always be put in the constant pool.
4527
a0cfeb0f
DD
45282006-05-16 DJ Delorie <dj@redhat.com>
4529
4530 * crtstuff.c (__dso_handle): Set section from
4531 TARGET_LBIGCC_SDATA_SECTION if defined.
726e9992 4532 * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document.
a0cfeb0f
DD
4533 * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.
4534
21028020
DS
45352006-05-16 Danny Smith <dannysmith@users.sourceforge.net>
4536
eaec4980 4537 PR target/27599
21028020
DS
4538 * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to
4539 host_xmake_file.
4540
4741d956
BE
45412006-05-16 Ben Elliston <bje@au.ibm.com>
4542
4543 * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'.
4544
44422aa3
PB
45452006-05-15 Per Bothner <per@bothner.com>
4546
0977c9ab 4547 * tree.c: (last_annotated_node): Use source_locus typedef.
44422aa3
PB
4548 This permits bootstrapping with --enable-mapped-location.
4549
95dd3097
ZD
45502006-05-15 Zdenek Dvorak <dvorakz@suse.cz>
4551
4552 PR tree-optimization/26830
4553 * tree-into-ssa.c (struct ssa_name_info): Add age field.
4554 (info_for_ssa_name, current_info_for_ssa_name_age,
4555 blocks_to_update): New variables.
4556 (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
4557 (clear_ssa_name_info, initialize_flags_in_bb,
4558 mark_block_for_update): New functions.
4559 (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
4560 (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
4561 prepare_def_site_for): Use mark_block_for_update.
4562 (mark_def_interesting): Assert that the processed block is marked in
4563 blocks_to_update. Do not take blocks argument.
4564 (prepare_use_sites_for, prepare_names_to_update): Do not take blocks
4565 argument.
4566 (rewrite_update_init_block, rewrite_update_stmt): Only process
4567 blocks with statements to rewrite.
4568 (delete_update_ssa): Do not clear SSA_NAME_AUX.
4569 (update_ssa): Initialize and free blocks_to_update. Do not
4570 clear flags on statements. Do not use blocks bitmap.
4571 * tree.h (SSA_NAME_AUX): Removed.
4572 (struct tree_ssa_name): Removed aux field.
4573 * print-tree.c (print_node): Do not print SSA_NAME_AUX.
4574
7136db7a
RG
45752006-05-15 Richard Guenther <rguenther@suse.de>
4576
4577 PR tree-optimization/27603
4578 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
4579 Do computations in original type.
4580
a0145633
MN
45812006-05-15 Mircea Namolaru <namolaru@il.ibm.com>
4582
f8f80cbb
ZD
4583 * see.c: Code style changes such as redundant paranthesis,
4584 redundant intialization of local variables etc.
4585 (see_main): Declared now as static.
4586 * doc/invoke.texi: Update that -fsee is not enabled by
4587 default at -O3.
a0145633 4588
eeb1d9e0
JJ
45892006-05-15 Jakub Jelinek <jakub@redhat.com>
4590
a6fc8e21
JJ
4591 * omp-low.c (check_omp_nesting_restrictions): New function.
4592 (scan_omp_1): Call it.
4593
eeb1d9e0
JJ
4594 PR middle-end/27416
4595 * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned
4596 construct, return *VAR.
4597
a1709769
KK
45982006-05-14 Kaz Kojima <kkojima@gcc.gnu.org>
4599
4600 PR rtl-optimization/27406
4601 * bt-load.c (migrate_btr_def): Skip the block having abnormal
4602 edges.
4603
56106c2e
RS
46042006-05-14 Roger Sayle <roger@eyesopen.com>
4605
4606 PR rtl-optimization/27538
4607 * combine.c (expand_compound_operation): Call gen_lowpart
4608 before calling simplify_shift_const.
4609
c505fc06
RS
46102006-05-14 Roger Sayle <roger@eyesopen.com>
4611
4612 PR rtl-optimization/22563
4613 * expmed.c (store_fixed_bit_field): When using AND and IOR to store
4614 a fixed width bitfield, always force the intermediates into psuedos.
4615
f9a4b91e
BF
46162006-05-14 Bernhard Fischer <aldot@gcc.gnu.org>
4617
4618 PR 27501
4619 * mkconfig.sh: Use operator = instead of == for test.
4620
83409463
NC
46212006-05-13 Nick Clifton <nickc@redhat.com>
4622
4623 * dwarf2out.c (dbx_reg_number): Check return value from
4624 LEAF_REG_REMAP and only use it if it is valid.
4625 (multiple_reg_loc_descriptor): Likewise.
4626
75c3fb73
RG
46272006-05-13 Richard Guenther <rguenther@suse.de>
4628
4629 * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to
4630 host_xmake_file.
4631
a1b53177
SB
46322006-05-13 Steven Bosscher <stevenb.gcc@gmail.com>
4633
4634 * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
4635 information attached to non-INSNs such as NOTEs.
4636 (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
4637
651a36e3
AK
46382006-05-12 Andreas Krebbel <krebbel1@de.ibm.com>
4639
4640 * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
4641 On contraint.
4642 * config/s390/s390.md: Adjust comment describing On constraint.
4643
5d342ef9
JH
46442006-05-11 Jan Hubicka <jh@suse.cz>
4645
4646 * cgraphunit.c (decide_is_function_needed): Don't force always_inline
4647 to be output at -O0.
4648
81e61fb4
VR
46492006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4650
7ebcc52c
VR
4651 PR middle-end/27384
4652 * fold-const.c (size_binop): Move sanity check for arguments to
4653 the beginning of the function.
4654
81e61fb4
VR
4655 PR middle-end/27488
4656 * fold-const.c (tree_expr_nonnegative_p): Return early on invalid
4657 expression.
4658
497cfe24
RG
46592006-05-11 Richard Guenther <rguenther@suse.de>
4660
4661 PR middle-end/27529
4662 * fold-const.c (fold_unary): Handle intermediate conversion
4663 to a pointer type like intermediate conversion to an integer
4664 type in folding of (T1)(T2)var to var.
4665 Match the code to the comment in the final conversion for
4666 (T1)(T2)var to (T1)var regarding to type precision. Rather
4667 than disallow T1 being of pointer type, assert that both T1
4668 and var are of pointer type or not. Make sure not to fall
4669 over the frontends lazyness wrt array to pointer decay though.
4670
29e339b9
RE
46712006-05-10 Richard Earnshaw <rearnsha@arm.com>
4672
4673 * arm.c (arm_struct_value_rtx): Delete.
4674 (TARGET_STRUCT_VALUE_RTX): Use the default definition.
4675 (arm_init_cumulative_args): Always initialize nregs to zero.
4676
5ac4f3bb
RG
46772006-05-10 Richard Guenther <rguenther@suse.de>
4678
4679 PR tree-optimization/27532
4680 * tree-object-size.c (plus_expr_object_size): Fix typo.
4681
e43d8b8a
KH
46822006-05-10 Kazu Hirata <kazu@codesourcery.com>
4683
4684 PR target/24949
4685 * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem,
4686 ashrdi_const, ashrdi3): Use a scratch register.
4687
a04d8591
RG
46882006-05-10 Richard Guenther <rguenther@suse.de>
4689
4690 PR tree-optimization/27302
4691 * fold-const.c (operand_equal_p): For two comparisons,
4692 try comparison of one comparison code swapped if that yields
4693 the same code.
4694
9c5835d5
BE
46952006-05-10 Ben Elliston <bje@au.ibm.com>
4696
4db60bd0
BE
4697 * tree-pretty-print.c (pretty_print_string): No need to handle
4698 '\0' as a special character.
4699
9c5835d5
BE
4700 * tree.h: Include "hashtab.h".
4701 (iterative_hash_expr): Use hashval_t in its prototype.
4702 * Makefile.in (TREE_H): Add $(HASHTAB_H).
4703
543b6009
SE
47042006-05-09 Steve Ellcey <sje@cup.hp.com>
4705
4706 PR bootstrap/26872
4707 * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes.
4708 (hppa*64*-*-hpux11*): Ditto.
4709 (hppa[12]*-*-hpux11*): Ditto.
4710
7ac159a5
DE
47112006-05-09 David Edelsohn <edelsohn@gnu.org>
4712
4713 PR target/26545
4714 * config/rs6000/aix41.h (TARGET_64BIT): Define.
4715
fa959ce4
MM
47162006-05-09 Michael Matz <matz@suse.de>
4717
4718 * config.host (<i[34567]86-*-*, x86_64-*-*>): Set
4719 host_extra_gcc_objs and host_xmake_file.
4720 (<*-*-linux*>): Don't overwrite host_xmake_file.
4721 * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS.
4722 * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define.
4723 (host_detect_local_cpu): Declare.
4724 (CC1_CPU_SPEC): Add -march=native and -mtune=native cases.
4725 * config/i386/i386.c (override_options): Handle -mtune=native
4726 as -mtune=generic.
4727 * config/i386/x-i386: New file.
4728 * config/i386/driver-i386.c: New file.
4729 * doc/invoke.texi (<i386 and x86-64 Options>): Describe
4730 cpu-type "native".
4731
f9c3744b
DM
47322006-05-09 Dirk Mueller <dmueller@suse.de>
4733 Richard Guenther <rguenther@suse.de>
4734
4735 PR middle-end/27498
4736 * fold-const.c (fold_read_from_constant_string): Relax check
4737 for matching types to matching modes.
4738
2c790a28
ZD
47392006-05-09 Zdenek Dvorak <dvorakz@suse.cz>
4740
4741 PR rtl-optimization/27335
4742 * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the
4743 loops.
4744
ec4fc7ed
RS
47452006-05-08 Chao-ying Fu <fu@mips.com>
4746 Richard Sandiford <richard@codesourcery.com>
4747
4748 * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns.
4749 (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise.
4750 * config/mips/mips.md (UNSPEC_SCC): New constant.
4751 * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare.
4752 * config/mips/mips.c (mips_reverse_fp_cond_p): New function.
4753 (mips_emit_compare): Use it.
4754 (mips_expand_vcondv2sf): New function.
4755
74be08f8
DB
47562006-05-08 Daniel Berlin <dberlin@dberlin.org>
4757
4758 Fix PR tree-optimization/27093
e8366202 4759 * tree-ssa-alias.c (recalculate_used_alone): Mark variables for
74be08f8
DB
4760 renaming when they become not-used_alone.
4761
fdaaf002
JDA
47622006-05-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4763
4764 * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
4765 relocation and relocation stubs.
4766
90c92323
EC
47672006-05-08 Eric Christopher <echristo@apple.com>
4768
4769 * unwind-dw2-fde-darwin.c (examine_objects): Only check data
4770 section for ppc.
4771
04f77d0f
JH
47722006-05-08 Jan Hubicka <jh@suse.cz>
4773
46f5f7f2 4774 PR middle-end/24561
04f77d0f
JH
4775 * cgraphunit.c (decide_is_function_needed): When not optimizing even
4776 unused static functions are needed.
4777
857e5753
RS
47782006-05-08 Roger Sayle <roger@eyesopen.com>
4779
4780 PR target/27158
4781 * reload.c (find_reloads_toplev): Only return the simplified SUBREG
4782 of a reg_equiv_constant if the result is a legitimate constant.
4783
b81bd6c9
UB
47842006-05-08 Uros Bizjak <uros@kss-loka.si>
4785
4786 PR target/27277
4787 * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
4788 standard 80387 constants, raise the cost to prevent
4789 compress_float_constant() to generate load from memory.
4790
923d16d4
KH
47912006-05-08 Kazu Hirata <kazu@codesourcery.com>
4792
4793 * config/arm/constraints.md (c): Fix a typo.
4794
bca50406
KH
4795 * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment
4796 typos.
4797
67a4b391
L
47982006-05-07 H.J. Lu <hongjiu.lu@intel.com>
4799
4800 PR target/24879
4801 * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use
4802 inline function.
4803 (_mm_mwait): Likewise.
4804
4805 * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with
4806 "mwait".
4807 (sse3_monitor): Make it 32bit only.
4808 (sse3_monitor64): New. 64bit monitor.
4809
f7360901
VR
48102006-05-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4811
4812 PR target/27421
4813 * config/i386/i386.c (classify_argument): Skip fields with invalid
4814 types.
4815
18455d17
RG
48162006-05-07 Richard Guenther <rguenther@suse.de>
4817
4818 PR tree-optimization/27409
4819 * tree-ssa-structalias.c (get_constraint_for_component_ref):
4820 Do not try to find zero-sized subvars.
4821
ed52affe
RG
48222006-05-07 Richard Guenther <rguenther@suse.de>
4823
4824 PR tree-optimization/27136
4825 * tree-ssa-loop-niter.c (get_val_for): Correct function
4826 comment, assert requirements.
4827 (loop_niter_by_eval): Stop processing if the iterated
4828 value did not simplify.
4829
ef5d0a89
MN
48302006-05-07 Mircea Namolaru <namolaru@il.ibm.com>
4831
e8366202 4832 * opts.c (flag_see): remove its setting at -O3.
90c92323 4833
ce92b223
RE
48342006-05-07 Richard Earnshaw <rearnsha@arm.com>
4835
4836 * genpeep.c (main): Make insn-peep.c depend on flags.h.
4837 * arm/constraints.md: New file.
4838 * arm.h (REG_CLASS_FROM_LETTER_P): Delete.
4839 (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER)
4840 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER)
4841 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM)
4842 (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR)
4843 (EXTRA_MEMORY_CONSTRAINT): Likewise.
4844 * arm.md: Include constraints.md.
4845 (thumb_movsi_insn): Use satisfies_constraint_J.
4846 (movhi, movqi): Use satisfies_constraint_I.
4847
ed1a08a7
AS
48482006-04-29 Anatoly Sokolov <aesok@post.ru>
4849
e8366202 4850 * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name
ed1a08a7
AS
4851 for atmeg a645 device.
4852
75bfa678
RG
48532006-05-06 Richard Guenther <rguenther@suse.de>
4854
4855 PR tree-optimization/27151
4856 * tree-vect-transform.c (vectorizable_condition): Punt on
4857 values that have a different type than the condition.
4858
8d8d1a28
AH
48592006-05-03 Aldy Hernandez <aldyh@redhat.com>
4860
4861 PR/21391
4862 * c-parser.c (c_parser_cast_expression): Only insert casts into
4863 hash table if pointer.
4864 * function.c (used_types_insert_helper): Rename from
4865 used_types_insert.
4866 (used_types_insert): Call used_types_insert_helper.
4867 * function.h (used_types_insert): Accept only one argument.
4868
edd54d25
DE
48692006-05-05 David Edelsohn <edesohn@gnu.org>
4870
4871 * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered
4872 scratch with output modifier.
4873
1958f718
DE
48742006-05-04 David Edelsohn <edelsohn@gnu.org>
4875
4876 PR target/26481
4877 * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint
4878 with output modifier.
4879
05431b85
KH
48802006-05-04 Richard Sandiford <richard@codesourcery.com>
4881
4882 PR target/26765
4883 * config/mips/mips.c (mips_symbolic_address_p): Return true
4884 for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
4885 SYMBOL_GOTTPREL, and SYMBOL_TLS.
4886
d818832c
RG
48872006-05-04 Richard Guenther <rguenther@suse.de>
4888
4889 PR tree-optimization/14287
4890 PR tree-optimization/14844
4891 PR tree-optimization/19792
4892 PR tree-optimization/21608
4893 PR tree-optimization/27090
4894 * tree-ssa-pre.c (try_combine_conversion): New function.
4895 (compute_avail): After constructing the value-handle
4896 expression, use try_combine_conversion to combine NOP_EXPRs
4897 with previous value-handle expressions and use the result if it
4898 is available.
4899
6c4b5a19
JM
49002006-05-04 Joseph S. Myers <joseph@codesourcery.com>
4901
4902 * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove.
4903
69fb1284
JH
49042006-05-04 Jan Hubicka <jh@suse.cz>
4905
4906 PR middle-end/25962
4907 * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.
4908
554006bd
BS
49092006-05-04 Bernd Schmidt <bernd.schmidt@analog.com>
4910
4911 * config/bfin/predicates.md (const01_rtx): Tell generator programs
4912 that this only matches CONST_INTs. All users changed to VOIDmode
4913 operands.
4914
42da70b7
BS
4915 * config/bfin/bfin.c: Include "optabs.h".
4916 (bfin_rtx_costs): Some costs for vector operations, to allow combine
4917 to do more work.
4918 (enum bfin_builtins): Add a number of fractional and vector builtins.
4919 (bfin_init_builtins): Likewise.
4920 (struct builtin_description, bdesc_2arg, bdesc_1arg): New.
4921 (safe_vector_operand, bfin_expand_binop_builtin,
4922 bfin_expand_unop_builtin): New functions.
4923 (bfin_expand_builtin): Handle the new builtins.
4924 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
4925 __ADSPBLACKFIN__.
4926
8cd37d0b
RL
49272006-05-04 Leehod Baruch <leehod@il.ibm.com>
4928
e8366202
MS
4929 * see.c: New file.
4930 * Makefile.in (OBJS-common): Add see.o.
4931 (see.o): Add dependencies.
4932 * common.opt (fsee): New flag for the see optimization was added.
4933 * opts.c (flag_see): Initialized.
4934 * passes.c (init_optimization_passes, pass_see): New pass.
4935 * rtl.h (see_main): Declaration as extern.
4936 * timevar.def (TV_SEE): New.
4937 * tree-pass.h (pass_see): Declaration as extern.
4938 * invoke.texi (-fsee): Document.
4939 * recog.c (validate_simplify_insn): New function.
4940 * recog.h (validate_simplify_insn): Declaration as extern.
4941 * df-problems.c (df_chain_dump): Check for NULL.
8cd37d0b
RL
4942
49432006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com>
e8366202 4944 Daniel Berlin <dberlin@dberlin.org>
8cd37d0b 4945
e8366202
MS
4946 * cfgrtl.c (insert_insn_bb_end_new): New function.
4947 * basic-block.h (insert_insn_bb_end_new): Declaration as extern.
8cd37d0b
RL
4948
49492006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il>
4950
e8366202
MS
4951 * df.h (struct web_entry): Moved from web.c.
4952 (union_defs): Declaration as extern.
4953 (unionfind_root): Likewise.
4954 (unionfind_union): Likewise.
4955 * web.c (struct web_entry): Moved to df.h.
4956 (unionfind_root): Remove static declaration.
4957 (unionfind_union): Likewise.
4958 (union_defs): Likewise and generalize to use callback function.
4959 (web_main): Update arguments for union_defs function call.
8cd37d0b 4960
23ba9627
RG
49612006-05-04 Richard Guenther <rguenther@suse.de>
4962
4963 PR tree-optimization/26447
4964 * tree-ssa-pre.c (realify_fake_stores): For necessary loads
4965 produce SSA_NAME copies before the store stmt to avoid
4966 breaking exception handling.
4967
f6a5ffbf
JJ
49682006-05-04 Jakub Jelinek <jakub@redhat.com>
4969
4970 PR middle-end/27388
4971 * gimplify.c (omp_is_private): If var is shared in some outer context,
4972 return false instead of true. Stop searching on parallel context
4973 boundary.
4974
0ef1a537
AO
49752006-05-03 Alexandre Oliva <aoliva@redhat.com>
4976
4977 PR java/8260
4978 * coverage.c: Use get_gcov_unsigned_t() instead of
4979 unsigned_type_node all over.
4980
afd83fe4
AM
49812006-05-02 Andrew MacLeod <amacleod@redhat.com>
4982
4983 PR tree-optimization/27381
90c92323 4984 * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument,
afd83fe4 4985 maintain the same immediate_use links.
90c92323 4986 * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker
afd83fe4
AM
4987 node rather than segfaulting.
4988
693d710f
JJ
49892006-05-03 Jakub Jelinek <jakub@redhat.com>
4990
4991 PR fortran/27395
4992 * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE
4993 rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN
4994 bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER.
4995
832a0c1d
DB
49962006-05-02 Daniel Berlin <dberlin@dberlin.org>
4997
4998 Fix PR tree-optimization/26626
4999 * tree-ssa-structalias.c (compute_points_to_sets): For now, solve
5000 always.
5001 * tree-ssa-operands.c (access_can_touch_variable): Allow
5002 typecasting through union pointers.
5003
8ca5b2a2
JJ
50042006-05-02 Jakub Jelinek <jakub@redhat.com>
5005
5006 PR c++/26943
5007 * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
5008 (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
5009 to find if var will be a global variable even in the nested context.
5010 (omp_copy_decl): Only check for global variable at the end, it might
5011 be overridden in outer contexts.
5012 (scan_sharing_clauses): For global variables don't create a field.
5013 (lower_rec_input_clauses): Do nothing for global shared variables.
5014 Emit a barrier at the end of ILIST if there were any decls in both
5015 firstprivate and lastprivate clauses.
5016 (lower_send_clauses): Do nothing for global variables except for
5017 COPYIN.
5018
a3428e07
ZD
50192006-05-02 Zdenek Dvorak <dvorakz@suse.cz>
5020
5021 * tree.c (unsigned_type_for, signed_type_for): Make sure a type
5022 of the correct signedness is returned.
5023
26ef4301
JL
50242006-05-02 Jeff Law <law@redhat.com>
5025
5026 PR tree-optimization/27364
5027 * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from
5028 multiply expressions.
5029
263bb8fb
TT
50302006-05-02 Tom Tromey <tromey@redhat.com>
5031
5032 * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo.
5033
54b9e939
KH
50342006-05-02 Kazu Hirata <kazu@codesourcery.com>
5035
5036 PR target/27387
5037 * arm.c (arm_output_mi_thunk): Use pc-relative addressing when
5038 -mthumb -fPIC are used.
5039
2297e173
SS
50402006-05-02 Stanislaw Skowronek <skylark@linux-mips.org>
5041 Joshua Kinard <kumba@gentoo.org>
d541888b
SS
5042
5043 PR target/25871
a1d1988f 5044 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves
d541888b
SS
5045 with 64-bit pointers.
5046
7a7017bc
PB
50472006-05-02 Paul Brook <paul@codesourcery.com>
5048
5049 * config/arm/arm.c (add_minipool_forward_ref): Check if insn
5050 and pool overlap.
5051 (create_fix_barrier): Check that a suitable barrier location is
5052 found.
5053 (arm_reorg): Include ftmp->address in allowable range of addresses.
5054
3beef5cb
DB
50552006-05-02 David Billinghurst <David.Billinghurst@riotinto.com>
5056
5057 PR ada/27366
90c92323 5058 * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment
7a7017bc 5059 on Cygwin.
3beef5cb 5060
d5d86fde
JJ
50612006-05-02 Jakub Jelinek <jakub@redhat.com>
5062
077b0dfb
JJ
5063 PR middle-end/27337
5064 * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF
5065 around RESULT_DECL for result passed by reference.
5066 (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen.
5067 * omp-low.c (use_pointer_for_field): Don't look at
5068 DECL_HAS_VALUE_EXPR_P for RESULT_DECLs.
5069 (scan_omp_1): Call remap_decl on RESULT_DECLs.
5070 (lower_rec_input_clauses): Don't allocate VLA memory for the second
5071 time or var for passing by reference for
5072 OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of
5073 TREE_ADDRESSABLE variables when passing by reference.
5074
5075 * omp-low.c (dump_omp_region): Fix output formatting.
5076
2aee3e57
JJ
5077 PR middle-end/27328
5078 * omp-low.c (remove_exit_barrier): Handle NULL exit_bb.
5079 (expand_omp_parallel): Likewise.
5080 * tree-cfg.c (move_sese_region_to_fn): Likewise.
5081
4a31b7ee
JJ
5082 PR middle-end/27325
5083 * omp-low.c (lower_omp_sections): Call maybe_catch_exception
5084 on statement list containing also constructors and destructors.
5085 (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise.
5086
d5d86fde
JJ
5087 PR middle-end/27310
5088 * except.c (duplicate_eh_regions): Fix clearing of
5089 cfun->eh->region_array entries.
5090
c15b113b
DD
50912006-05-01 DJ Delorie <dj@redhat.com>
5092
5093 * configure.ac (gcc_cv_nm): Don't use an in-tree nm if
5094 build!=host.
5095 (gcc_cv_objdump): Likewise.
5096 * configure: Regenerated.
5097
94634f14
KH
50982006-05-01 Kazu Hirata <kazu@codesourcery.com>
5099
5100 PR target/27374
5101 * config/arm/vfp.md (*arm_movdi_vfp): Correct the output
5102 templates for case 3 and 4.
5103
2d5bc016
DD
51042006-05-01 DJ Delorie <dj@redhat.com>
5105
5106 * vec.c: Include bconfig.h when appropriate.
5107 * Makefile.in (build/vec.o): Adjust dependencies.
5108 * mkconfig.sh: Make sure config.h isn't used for build machine
5109 compiles.
5110
2ce79879
ZD
51112006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
5112
5113 * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New
5114 variables.
5115 (mark_phi_for_rewrite): New function.
5116 (insert_phi_nodes_for, mark_use_interesting): Call
5117 mark_phi_for_rewrite.
5118 (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite.
5119 (update_ssa): Initialize and free phis_to_rewrite.
5120
ed541ddb
ZD
51212006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
5122
5123 PR rtl-optimization/27291
5124 * loop-doloop.c (add_test, doloop_modify): Handle the case condition is
5125 folded to a constant.
5126
dcccd88d
ZD
51272006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
5128
5129 PR tree-optimization/27283
5130 * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees,
5131 not whole # of iteration descriptions.
5132 (niter_for_exit): Return just # of iterations. Fail if # of iterations
5133 uses abnormal ssa name.
5134 (niter_for_single_dom_exit): Ditto.
5135 (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to
5136 return just the number of iterations.
5137
763f4527
ZD
51382006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
5139
5140 PR tree-optimization/27144
5141 * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
5142 (record_estimate): Only record constant upper bound.
5143 (infer_loop_bounds_from_undefined): Call
5144 compute_estimated_nb_iterations just once.
5145 (proved_non_wrapping_p): Renamed to ...
5146 (n_of_executions_at_most): ... this. Expect bound to be a constant.
5147 (convert_step_widening, scev_probably_wraps_p): Call
5148 n_of_executions_at_most instead of proved_non_wrapping_p.
5149 (substitute_in_loop_info): Do not replace values in bounds.
5150 * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update
5151 comments.
5152
2a83cc52
RH
51532006-05-01 Richard Henderson <rth@redhat.com>
5154
5155 PR c/27358
5156 * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after
5157 c_parser_skip_to_pragma_eol. Convert to switch statement. Handle
5158 CPP_PRAGMA.
5159
0f57299d
RS
51602006-05-01 Roger Sayle <roger@eyesopen.com>
5161
5162 * c-typeck.c (parser_build_binary_op): Don't call the function
5163 unsigned_conversion_warning to spot operand/result type overflow.
5164 (build_binary_op): Instead, call convert_and_check instead of
5165 convert to report the problem when the operands are promoted.
5166 * c-common.c (unsigned_conversion_warning): Make static.
5167 * c-common.h (unsigned_conversion_warning): Delete prototype.
5168
ea643120
RG
51692006-05-01 Richard Guenther <rguenther@suse.de>
5170
5171 PR tree-optimization/26726
5172 * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the
5173 problem ...
5174 (find_interesting_uses_address): ... we work around here
5175 by folding INDIRECT_REFs in the substituted base.
5176
444e96af
DN
51772006-05-01 Diego Novillo <dnovillo@redhat.com>
5178
5179 * omp-low.c (dump_omp_region): Add newlines.
5180
71834ad3
RS
51812006-04-30 Roger Sayle <roger@eyesopen.com>
5182
5183 * common.opt (Woverflow): New command line option.
5184 * c-common.c (constant_expression_warning): Check warn_overflow.
5185 (overflow_waring): Pass OPT_Woverflow to warning.
5186 (unsigned_conversion_warning): Likewise.
5187 (convert_and_check): Likewise.
5188 * doc/invoke.texi: Document new command line option.
5189
194c524a
DE
51902006-04-30 David Edelsohn <edelsohn@gnu.org>
5191
5192 * config/rs6000/rs6000.c (rs6000_override_options): Enable
5193 TARGET_NO_FP_IN_TOC for section anchors.
5194 (optimization_options): Enable section anchors for all
5195 non-"Objective" languages.
5196
4f8bdef9
EC
51972006-04-28 Eric Christopher <echristo@apple.com>
5198
5199 * config/darwin-c.c (darwin_ms_struct): Move this
5200 (darwin_set_default_type_attributes): and this...
5201 * config/darwin.c: ... here.
5202 * config/darwin.h (darwin_ms_struct): Declare.
5203
a5f84464
AM
52042006-04-28 Andrew MacLeod <amacleod@redhat.com>
5205
5206 * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
5207
a0f0ab9f
RS
52082006-04-28 Roger Sayle <roger@eyesopen.com>
5209
5210 PR c/25309
5211 * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
5212 (push_array_bounds): Delete prototype. Change BOUNDS argument to
5213 an unsigned HOST_WIDE_INT.
5214 (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
5215 array index.
5216 (really_start_incremental_init): No need to call convert because
5217 bitsize_zero_node is already of type bitsizetype.
5218 (push_init_level): Extract the value of constructor_index as an
5219 unsigned HOST_WIDE_INT quantity, using tree_low_cst.
5220 (process_init_element): Likewise.
5221
c7370b83
JM
52222006-04-28 Joseph S. Myers <joseph@codesourcery.com>
5223
5224 * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX
5225 value before passing to make_relative_prefix.
5226
bb6a0ee1
AM
52272006-04-28 Alan Modra <amodra@bigpond.net.au>
5228
5229 PR middle-end/27260
5230 * builtins.c (expand_builtin_memset): Expand val in original mode.
5231
16d6f994
EC
52322006-04-27 Eric Christopher <echristo@apple.com>
5233
5234 * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket
5235 with #ifndef/#endif.
5236 * config/darwin-c.c (darwin_ms_struct): New.
5237 (darwin_pragma_ms_struct): Ditto.
5238 (darwin_set_default_type_attributes): Ditto.
5239 * config/darwin-protos.h (darwin_pragma_ms_struct): Declare.
5240 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
5241 Register ms_struct pragma.
5242 * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare.
5243 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto.
5244 * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call
5245 darwin_set_default_type_attributes if TARGET_MACHO.
5246
6c00f606
AM
52472006-04-27 Andrew MacLeod <amacleod@redhat.com>
5248
5249 PR tree-optimization/26854
5250 * tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
5251 * doc/tree-ssa.texi: Update immuse iterator documentation.
5252 * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
5253 * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
5254 * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
5255 first_safe_imm_use, next_safe_imm_use): Remove.
5256 (end_imm_use_stmt_p): New. Check for end of immuse stmt traversal.
5257 (end_imm_use_stmt_traverse): New. Terminate immuse stmt traversal.
5258 (move_use_after_head): New. Helper function to sort immuses in a stmt.
5259 (link_use_stmts_after): New. Link all immuses in a stmt consescutively.
5260 (first_imm_use_stmt): New. Get first stmt in an immuse list.
5261 (next_imm_use_stmt): New. Get next stmt in an immuse list.
5262 (first_imm_use_on_stmt): New. Get first immuse on a stmt.
5263 (end_imm_use_on_stmt_p): New. Check for end of immuses on a stmt.
5264 (next_imm_use_on_stmt): New. Move to next immuse on a stmt.
5265 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
5266 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
5267 (perfect_nestify): Use new iterator.
16d6f994 5268 * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
6c00f606
AM
5269 iterator.
5270 * tree-flow.h (struct immediate_use_iterator_d): Add comments.
5271 (next_imm_name): New field in struct immediate_use_iterator_d.
5272 (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
16d6f994 5273 (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
6c00f606
AM
5274 FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
5275 * tree-cfg.c (replace_uses_by): Use new iterator.
5276 * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
5277 * tree-ssa-operands.c (correct_use_link): Remove.
5278 (finalize_ssa_use_ops): No longer call correct_use_link.
5279
9613eaff
SH
52802006-04-27 Stuart Hastings <stuart@apple.com>
5281
5282 * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
5283 * config/t-darwin (crt3.o): Use it.
5284 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
5285 'pmode', use Pmode instead of SImode for SYMBOL_REF.
5286 * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
5287 call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
5288 call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
5289 support.
16d6f994 5290
135c2bd4
RS
52912006-04-27 Roger Sayle <roger@eyesopen.com>
5292
5293 * expmed.c (store_fixed_bit_field): If we're not optimizing for
5294 size, force the intermediate into a new pseudo rather instead of
5295 performing both a bitwise AND and a bitwise IOR in memory.
5296
921b02cd
RG
52972006-04-27 Richard Guenther <rguenther@suse.de>
5298
5299 PR rtl-optimization/26685
5300 * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
5301 this one "max-flow-memory-locations".
5302
67ac6e63
RG
53032006-04-27 Richard Guenther <rguenther@suse.de>
5304
5305 PR tree-optimization/25148
5306 * tree-vrp.c (compare_values): Remove code dealing with
5307 comparisons against type min/max value. Honour overflow
5308 and negative constants in code dealing with comparisons
5309 of plus and minus expressions.
5310 (value_inside_range): Use fold_binary with LE_EXPR and
5311 GE_EXPR rather than compare_values.
5312
869170df
DM
53132006-04-27 Dirk Mueller <dmueller@suse.de>
5314
5315 * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
5316 prototype for SSE.
5317
3bf7d5e7
KZ
53182006-04-26 Kenneth Zadeck <zadeck@naturalbridge.com>
5319
5320 * basic-block.h (safe_insert_insn_on_edge): Removed.
5321 * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.
5322
7b282ff9
DE
53232006-04-26 David Edelsohn <edelsohn@gnu.org>
5324 Paolo Bonzini <bonzini@gnu.org>
5325
5326 PR middle-end/27282
5327 * combine.c (simplify_and_const_int_1): Use gen_int_mode.
5328 (simplify_and_const_int): Same.
5329
44470433
AH
53302006-04-26 Aldy Hernandez <aldyh@redhat.com>
5331
e8366202 5332 * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
44470433 5333
21a66e91
JJ
53342006-04-26 Jakub Jelinek <jakub@redhat.com>
5335
91b6c26d
JJ
5336 PR c/26171
5337 * cgraph.c (cgraph_varpool_finalize_decl): Don't call
5338 cgraph_varpool_assemble_pending_decls if -fopenmp, unless
5339 cgraph_global_info_ready.
5340
07ed51c9
JJ
5341 PR middle-end/26913
5342 * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
5343
1562e1fe
JJ
5344 PR c/25996
5345 * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
5346 either decl or init is error_mark_node.
5347
21a66e91
JJ
5348 PR middle-end/25989
5349 * tree-flow.h (struct omp_region): Add sched_kind.
5350 * omp-low.c (expand_parallel_call): Use region->inner->sched_kind
5351 instead of extracting omp for data.
5352 (expand_omp_for): Save extracted sched_kind.
5353
f7acbf4c
RS
53542006-04-25 Roger Sayle <roger@eyesopen.com>
5355
5356 * expmed.c (store_bit_field): Also check whether the bitsize is
5357 valid for the machine's "insv" instruction before moving the
5358 target into a pseudo for use with the insv.
5359 * config/i386/predicates.md (const8_operand): New predicate.
5360 * config/i386/i386.md (extv, extzv, insv): Use the new
5361 const8_operand predicate where appropriate.
5362
c9936427
DD
53632006-04-25 DJ Delorie <dj@redhat.com>
5364
5365 * doc/install.texi (Specific): Clarify that this is not a list of
5366 supported hosts or targets.
5367
c0c5d392
RS
53682006-04-25 Richard Sandiford <richard@codesourcery.com>
5369
5370 PR rtl-optimization/26725
5371 * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
5372 block's BB_DIRTY flag.
5373
d61772b2
GK
53742006-04-25 Geoffrey Keating <geoffk@apple.com>
5375
887dc802
GK
5376 * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
5377 are no branches.
5378
d61772b2
GK
5379 * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
5380 to print an integer.
5381
d5fa3ec8
DE
53822006-04-25 David Edelsohn <edelsohn@gnu.org>
5383
5384 * varasm.c (align_variable): New function.
5385 (get_block_for_decl): Apply align_variable to DECL before
5386 calculating section information.
5387 (assemble_variable): Split out alignment computation.
5388
495db1a1
AK
53892006-04-25 Andreas Krebbel <krebbel1@de.ibm.com>
5390
5391 * expmed.c (store_bit_field): Handle paradoxical subregs on big endian
5392 machines.
5393
75d8b2d0
BS
53942006-04-25 Bernd Schmidt <bernd.schmidt@analog.com>
5395
5396 * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
5397 MODE_PARTIAL_INT mode.
5398 * config/bfin/bfin-modes.def: Add V2PDI and V2SI.
5399 * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
5400 for CONST_INTs.
5401 (hard_regno_mode_ok): V2PDImode is ok for accumulators.
5402 * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
5403 V2PDImode.
5404 * config/bfin/predicates.md (const01_operand, vec_shift_operand):
5405 New predicates.
5406 * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
5407 New constants.
5408 (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
5409 MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
5410 MACFLAG_IH): Likewise.
5411 (movstricthi_1): Renamed from "*movstricthi".
5412 (load_accumulator, load_accumulator_pair, movsi_insv, insv,
5413 ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
5414 abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
5415 movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
5416 movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
5417 movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
5418 addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
5419 sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
5420 addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
5421 mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
5422 ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
5423 flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
5424 flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
5425 flag_macv2hi_parts, flag_macv2hi_parts_acconly,
5426 flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.
5427
6d75cd5f
BS
5428 * doc/rtl.texi (ss_ashift): Improve wording.
5429
6f8d8ef0
GK
54302006-04-24 Geoffrey Keating <geoffk@apple.com>
5431
5432 * dwarf2out.c (verify_marks_clear): New.
5433 (prune_unused_types): Call verify_marks_clear initially, not
5434 prune_unmark_dies.
5435
e551ad26
BS
54362006-04-24 Bernd Schmidt <bernd.schmidt@analog.com>
5437
5438 * rtl.def (SS_ASHIFT, SS_NEG): New codes.
5439 * doc/rtl.texi: Document them.
5440 * simplify-rtx.c (simplify_unary_operation,
5441 simplify_binary_operation_1): Don't abort when we see them.
5442
bfa11223
MM
54432006-04-24 Mark Mitchell <mark@codesourcery.com>
5444
5445 Revert:
5446 2006-04-23 Mark Mitchell <mark@codesourcery.com>
5447 * configure.ac: Completely disregard languages that are not
5448 enabled.
5449 * configure: Regenerated.
5450
d84b37b0
AP
54512006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
5452 Richard Guenther <rguenther@suse.de>
5453
5454 PR tree-optimization/27236
5455 * tree-inline.c (copy_body_r): Make sure to copy
5456 TREE_THIS_VOLATILE flag.
5457
c0a3f887
RG
54582006-04-24 Richard Guenther <rguenther@suse.de>
5459
5460 PR middle-end/26869
5461 * tree-complex.c (update_parameter_components): Don't handle
5462 unused parameters which have no default def.
5463
72fa5e06
AP
54642006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
5465 Richard Guenther <rguenther@suse.de>
5466
5467 PR tree-optimization/27218
5468 * tree-inline.c (expand_call_inline): Strip useless type
5469 conversions for the return slot address.
5470
0162f155
RG
54712006-04-24 Richard Guenther <rguenther@suse.de>
5472
5473 * cfgloop.h (struct loops): Remove unused field array. Reorder
5474 state after num.
5475 (LOOP_PREFETCH): Remove.
5476
7e1584f8
RG
54772006-04-24 Richard Guenther <rguenther@suse.de>
5478
5479 PR tree-optimization/22525
5480 * value-prof.c (tree_mod_pow2): Remove unnecessary temporary
5481 variable, adjust types of generated expressions.
5482
d24b23bb
L
54832006-04-23 H.J. Lu <hongjiu.lu@intel.com>
5484
5485 * Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
5486 (tree-vect-patterns.o): Likewise.
5487 (jump.o): Likewise.
5488 (cselib.o): Likewise.
5489 (loop-doloop.o): Likewise.
5490 (regclass.o): Likewise.
5491 (reload1.o): Likewise.
5492 (explow.o): Replace target.h with $(TARGET_H).
5493 (ipa-prop.o): Likewise.
5494 (ipa-cp.o): Likewise.
5495 (ipa-inline.o): Likewise.
5496 (reorg.o): Likewise.
5497 (reg-stack.o): Likewise.
5498
e8c3ff97
EB
54992006-04-23 Eric Botcazou <ebotcazou@adacore.com>
5500
5501 * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
5502
38a4afee
MM
55032006-04-23 Mark Mitchell <mark@codesourcery.com>
5504
bfa11223
MM
5505 * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE.
5506
5507 * configure.ac: Completely disregard languages that are not
5508 enabled.
5509 * configure: Regenerated.
5510
38a4afee
MM
5511 PR c++/26534
5512 * c-common.h (c_build_bitfield_integer_type): Declare.
5513 * c-decl.c (c_build_bitfield_integer_type): Move to ...
5514 * c-common.c (c_build_bitfield_integer_type): ... here.
5515
acb188c1
RS
55162006-04-23 Roger Sayle <roger@eyesopen.com>
5517
5518 PR target/21283
5519 * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
5520 a SImode SUBREG of a floating point register after no_new_pseudos.
5521
a02ee5b2
RS
55222006-04-23 Roger Sayle <roger@eyesopen.com>
5523
5524 * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
5525 identify potentially eliminable registers to additionally catch
5526 VIRTUAL_INCOMING_ARGS_REGNUM.
5527 (addsi3): Update the conditions on when to use addsi_small_int.
5528
c21242e8
RS
55292006-04-23 Roger Sayle <roger@eyesopen.com>
5530
5531 PR target/16641
5532 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
5533 STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
5534 rtx to stack_pointer_rtx or frame_pointer_rtx directly.
5535
1464eeb8
EB
55362006-04-23 Eric Botcazou <ebotcazou@adacore.com>
5537
5538 * fold-const.c (range_predecessor): Use operand_equal_p
5539 as the predicate for equality.
5540 (range_successor): Likewise.
5541
9542abd3
KH
55422006-04-22 Kazu Hirata <kazu@codesourcery.com>
5543
5544 Revert:
5545 * config/soft-fp/op-common.h: Fix a typo.
5546
110c4563
FCE
55472006-04-22 Frank Ch. Eigler <fche@redhat.com>
5548
5549 PR libmudflap/26864
5550 * common.opt (flag_mudflap_threads): Overload flag_mudflap.
5551 * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap.
5552
66a4ad37
KH
55532006-04-22 Kazu Hirata <kazu@codesourcery.com>
5554
5555 * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c:
5556 Fix comment typos.
5557 * doc/tm.texi: Fix a typo.
5558
d6eeb3ba
GK
55592006-04-21 Geoffrey Keating <geoffk@apple.com>
5560
5561 * dwarf2out.c (struct die_struct): Document that die_sib makes
5562 a circular linked list.
5563 (FOR_EACH_CHILD): New.
5564 (reverse_die_lists): Delete.
5565 (reverse_all_dies): Delete.
5566 (add_dwarf_attr): Correct documentation.
5567 (remove_child_with_prev): New.
5568 (remove_child_TAG): Update for change to die_struct, use
5569 remove_child_with_prev.
5570 (add_child_die): Update for change to die_struct.
5571 (splice_child_die): Use remove_child_with_prev and add_child_die.
5572 (print_die): Use FOR_EACH_CHILD.
5573 (die_checksum): Likewise.
5574 (assign_symbol_names): Likewise.
5575 (output_location_lists): Likewise.
5576 (build_abbrev_table): Likewise.
5577 (calc_die_sizes): Likewise.
5578 (mark_dies): Likewise.
5579 (unmark_dies): Likewise.
5580 (unmark_all_dies): Likewise.
5581 (output_die): Likewise.
5582 (prune_unused_types_mark): Likewise.
5583 (prune_unused_types_walk): Likewise.
5584 (same_die_p): Update for change to die_struct.
5585 (break_out_includes): Likewise.
5586 (prune_unused_types_prune): Likewise.
5587 (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic.
5588 (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if
5589 it's already clear.
5590 (dwarf2out_finish): Don't call reverse_all_dies.
5591
7a0b46c9
EC
55922006-04-21 Eric Christopher <echristo@apple.com>
5593
5594 * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos
5595 in comments and function names.
5596
5d5e98dc
VR
55972006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5598
f01da1a5
VR
5599 PR c/25875
5600 * c-typeck.c (digest_init): Robustify.
5601
5d5e98dc
VR
5602 * c-typeck.c (pop_init_level): Simplify.
5603
3144998a
SE
56042006-04-21 Steve Ellcey <sje@cup.hp.com>
5605
5606 * config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
5607
87b24aaf
PB
56082006-04-21 Paul Brook <paul@codesourcery.com>
5609
5610 * config/arm/arm.c (arm_override_options): Error on iWMMXt and
5611 hardware floating point.
5612
e3604432
DE
56132006-04-21 David Edelsohn <edelsohn@gnu.org>
5614
5615 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to
5616 NON_FLOAT_REGS.
5617
15eaa78f
NC
56182006-04-21 Nick Clifton <nickc@redhat.com>
5619
5620 * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include
5621 OPT_EXTRA_PARTS.
5622
56438901
AM
56232006-04-21 Alan Modra <amodra@bigpond.net.au>
5624
5625 PR target/27230
5626 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
5627 C++ lang type in traceback table for Objective-C++.
5628
5629 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment.
5630
a46cec70
L
56312006-04-20 H.J. Lu <hongjiu.lu@intel.com>
5632
5633 * config/i386/i386.c (asm_preferred_eh_data_format): Reformat.
5634
06866a73
VR
56352006-04-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5636
5637 PR mudflap/26789
5638 * tree-mudflap.c (mudflap_finish_file): Skip function when there
5639 were errors. Remove check for erroneous objects.
5640
bfc646bf
JL
56412006-04-20 Jeff Law <law@redhat.com>
5642
5643 PR tree-optimization/26854
5644 * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when
5645 checking for zero or one use.
5646 * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly.
5647 * tree-cfgcleanup.c (merge_phi_nodes): Similarly.
5648 * tree-ssa-reassoc.c (negate_value): Similarly.
5649 (reassociate_bb): Similarly.
5650
455f78d9
JJ
56512006-04-20 Jakub Jelinek <jakub@redhat.com>
5652
5653 * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
5654 TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
5655 than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).
5656
9a74f8ee
AM
56572006-04-20 Alan Modra <amodra@bigpond.net.au>
5658
5659 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
5660 fp regs if the last fp arg doesn't fit in regs.
5661
904b6a0e
KK
56622006-04-20 Kaz Kojima <kkojima@gcc.gnu.org>
5663
5664 PR target/27182
5665 * config/sh/sh.md (movsicc_true+3): Tweak condition for the case
5666 that the last insn has the REG_INC note.
5667
9dfb66b9
CD
56682006-04-19 Carlos O'Donell <carlos@codesourcery.com>
5669 Nathan Sidwell <nathan@codesourcery.com>
5670
5671 PR c/26774
7a0b46c9 5672 * stor-layout.c (update_alignment_for_field): Do not align
9dfb66b9
CD
5673 ERROR_MARK nodes.
5674 (place_union_field): Place union field at the start of the union.
5675 (place_field): Move ERROR_MARK check later, and use the current
5676 allocation position to maintain monotonicity.
5677
74c96e0c
ZD
56782006-04-19 Zdenek Dvorak <dvorakz@suse.cz>
5679
5680 * dominance.c: Include timevar.h.
5681 (calculate_dominance_info): Use TV_DOMINANCE.
5682 * timevar.def (TV_DOMINANCE): New timevar.
5683 * Makefile.in (dominance.o): Add TIMEVAR_H dependency.
5684
e90cd854
AK
56852006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
5686
4414de4a 5687 PR rtl-optimization/14261
e90cd854
AK
5688 * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
5689 move would be an INSV insn.
7a0b46c9 5690 (noce_process_if_block): Don't optimize if the destination is a
e90cd854
AK
5691 ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
5692
43a09b63
AK
56932006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
5694
5695 * config/s390/s390.md: Add comments with the instructions emitted
5696 by an insn pattern if macros are used.
5697
0f35201e
AM
56982006-04-19 Alan Modra <amodra@bigpond.net.au>
5699
5700 PR rtl-optimization/26026
5701 * fold-const.c (fold_binary): Optimize div and mod where the divisor
5702 is a known power of two shifted left a variable amount.
5703
76f7a74f
GK
57042006-04-18 Geoffrey Keating <geoffk@apple.com>
5705
5706 * dwarf2out.c (prune_unused_types_update_strings): Don't add strings
5707 to hash table twice when the debug_str section has SECTION_MERGE.
5708
49721058
JM
57092006-04-18 Joseph S. Myers <joseph@codesourcery.com>
5710
5711 * config/soft-fp: New directory. From glibc.
5712 * config/soft-fp/t-softfp: New.
5713 * config/soft-fp/README: New.
5714 * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE.
5715 * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New.
5716 (libgcc.mk): Pass LIB2FUNCS_EXCLUDE.
5717 (LIBGCC_DEPS): Add $(SFP_MACHINE).
5718 * config.gcc: Use rs6000/t-fprules-fpbit or
5719 rs6000/t-fprules-softfp and soft-fp/t-softfp together with
5720 rs6000/t-fprules.
5721 * config/rs6000/sfp-machine.h: New. Based on glibc.
5722 * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp:
5723 New.
5724 * config/rs6000/t-fprules: Remove fp-bit rules.
5725 * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=.
5726 * config/rs6000/t-linux64: Likewise. Remove duplicates from
5727 LIB2FUNCS_EXTRA. Remove fp-bit rules.
5728 (softfp_wrap_start, softfp_wrap_end): New.
5729
7e96ee36
DD
57302006-04-18 DJ Delorie <dj@redhat.com>
5731
5732 * config/m32c/m32c.h (PTRDIFF_TYPE): Define.
5733
d955420e
DP
57342006-04-18 Devang Patel <dpatel@apple.com>
5735
5736 * doc/invoke.texi (-Wuninitialized): Clarify -O connection.
7a0b46c9 5737
503b5c9f
NC
57382006-04-18 Nick Clifton <nickc@redhat.com>
5739
5740 * config/sh/t-symbian: Add rule to build sh-c.o
5741 * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use
5742 of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P.
5743 (sh_symbian_encode_section_info): Likewise.
5744
c2f07c00
AK
57452006-04-18 Andreas Krebbel <krebbel1@de.ibm.com>
5746
7a0b46c9 5747 * builtins.c (expand_builtin_strcmp): Cover label definition of
c2f07c00
AK
5748 do_libcall with HAVE_cmpstrnsi.
5749
6370682a
KH
57502006-04-18 Kazu Hirata <kazu@codesourcery.com>
5751
5752 * function.c (temp_slots_at_level, max_slot_level): Use VEC
5753 instead of VARRAY.
5754 * function.h (temp_slot_p): New.
5755 (function): Change the type of x_used_temp_slots to
5756 VEC(temp_slot_p,gc) *.
5757
224504d2
NC
57582006-04-18 Nick Clifton <nickc@redhat.com>
5759
13a41b42
NC
5760 * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to
5761 flag_strength_reduce.
5762
224504d2
NC
5763 * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo.
5764
6ee2e158
PB
57652006-04-18 Paolo Bonzini <bonzini@gnu.org>
5766
e8366202 5767 PR target/27117
6ee2e158
PB
5768
5769 Partial revert of revision 112637
5770 2006-04-03 Paolo Bonzini <bonzini@gnu.org>
5771 Dale Johannesen <dalej@apple.com>
5772
5773 PR target/19653
5774 * regclass.c (struct reg_pref): Update documentation.
5775 (regclass): Set prefclass to NO_REGS if memory is the best option.
5776 (record_reg_classes): Cope with a prefclass set to NO_REGS.
5777
e3949961
PB
57782006-04-18 Paolo Bonzini <bonzini@gnu.org>
5779
e8366202
MS
5780 PR tree-optimization/26821
5781 * tree-ssa-math-opts.c (get_constant_one): New.
5782 (insert_reciprocals): Use it.
e3949961 5783
e26303c2
GK
57842006-04-17 Geoffrey Keating <geoffk@apple.com>
5785
5786 * dwarf2out.c (free_AT): Delete.
5787 (remove_AT): Update string ref counts.
5788 (remove_child_TAG): Don't call free_die.
5789 (free_die): Delete.
5790 (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL
5791 or DW_TAG_GNU_EINCL.
5792 (prune_unused_types_walk_attribs): Reset string refcounts.
5793 (prune_unused_types_update_strings): New.
5794 (prune_unused_types_prune): Don't make unnecessary stores. Don't
5795 call free_die. Do call prune_unused_types_update_strings.
5796 (prune_unused_types): Empty debug_str_hash.
5797
6cc1d694
RS
57982006-04-17 Roger Sayle <roger@eyesopen.com>
5799
5800 * expr.c (expand_assignment): Optimize away no-op moves where the
5801 source and destination are equal and have no side-effects.
5802
71a9b19a
RG
58032006-04-17 Richard Guenther <rguenther@suse.de>
5804
5805 PR target/26826
5806 * reload.c (push_reload): Guard calls to get_secondary_mem
5807 for memory subregs.
5808
08c79682
KH
58092006-04-16 Kazu Hirata <kazu@codesourcery.com>
5810
5811 * alias.c (reg_base_value, old_reg_base_value): Change the
5812 type to VEC(rtx,gc) *.
5813 (REG_BASE_VALUE, find_base_value, record_set,
5814 init_alias_analysis): Use VEC instead of VARRAY.
5815
1a5640b4
KH
5816 * alias.c (alias_sets): Change the type to
5817 VEC(alias_set_entry,gc) *.
5818 (get_alias_set_entry, new_alias_set, record_alias_subset): Use
5819 VEC instead of VARRAY.
5820 (last_alias_set): Remove.
5821
b2c0ad40
KH
5822 * cgraph.h (cgraph_edge_p): New.
5823 Update the prototype of cgraph_function_versioning.
5824 * cgraphunit.c (cgraph_copy_node_for_versioning,
5825 cgraph_function_versioning): Use VEC instead of VARRAY.
5826 * ipa-cp.c (ipcp_insert_stage): Likewise.
5827
726ac11e
RS
58282006-04-16 Roger Sayle <roger@eyesopen.com>
5829
5830 PR target/26961
5831 * fold-const.c (fold_ternary): When converting "A ? B : C" into either
5832 "A op B" or "A op C", we may need to convert A to the type of B and C.
5833
b12cbf2c
AN
58342006-04-16 Adam Nemet <anemet@caviumnetworks.com>
5835
5836 * target.h (struct gcc_target): Add mode_rep_extended.
5837 * rtlanal.c (num_sign_bit_copies_in_rep): New global.
5838 (init_num_sign_bit_copies_in_rep): Initialize it using
5839 mode_rep_extended.
5840 (truncate_to_mode): Use it.
5841 (init_rtlanal): Call init_num_sign_bit_copies_in_rep.
5842 * targhooks.h (default_mode_rep_extended): Declare it.
5843 * targhooks.c (default_mode_rep_extended): Define it.
5844 * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to
5845 default_mode_rep_extended.
5846 (TARGET_INITIALIZER): Include it.
5847 * doc/tm.texi (Misc): Document it.
5848 * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it.
5849 (mips_truncated_to_mode): New function.
5850
d763e130
RS
58512006-04-16 Roger Sayle <roger@eyesopen.com>
5852
5853 PR middle-end/25474
5854 * expr.c (compress_float_constant): Copy the narrow constant into
5855 a new pseudo before extending it to its final width.
5856
2ff61948
RS
58572006-04-16 Roger Sayle <roger@eyesopen.com>
5858 Andrew Pinski <pinskia@gcc.gnu.org>
5859 Dale Johannesen <dalej@apple.com>
5860
5861 PR target/24076
5862 * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
5863 special case code to implement V8HImode and V16QImode with SSE2.
5864
3db8a113
RS
58652006-04-15 Roger Sayle <roger@eyesopen.com>
5866
5867 * config/i386/i386.c (ix86_va_start): Ensure all integer constant
5868 trees are constructed with a suitable tree type.
5869
7fe25d1a
RS
58702006-04-15 Roger Sayle <roger@eyesopen.com>
5871
5872 * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
5873 (integer_onep): Likewise.
5874 (integer_all_onesp): Likewise.
5875 (integer_pow2p): Likewise.
5876 (integer_nonzerop): Likewise.
5877 (real_zerop): Likewise.
5878 (real_onep): Likewise.
5879 (real_twop): Likewise.
5880 (real_minus_onep): Likewise.
5881 (int_size_in_bytes): Likewise.
5882 (host_integerp): Likewise.
5883
75c40d56
KH
58842006-04-15 Kazu Hirata <kazu@codesourcery.com>
5885
5886 * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c,
5887 jump.c, mips-tfile.c, omp-low.c, sched-int.h,
5888 tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos.
5889
aacac31f
KH
5890 * tree-ssa-structalias.h (alias_info): Remove num_references.
5891
8370f6fa
JDA
58922006-04-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5893
5894 * pa.md (output_bb patterns): Shorten long branch alternatives by 4.
5895 (output_bvb patterns): Likewise.
5896 * pa.c (output_bb): Use 'bb' insn for long branch case.
5897 (output_bvb): Likewise use '{bvb|bb}' for long branch case.
5898 (output_dbra): Use '{comb|cmpb}' for long branch case for alternative
5899 1. Correct length operand for alternatives 1 and 2.
5900 (output_movb): Use '{comb|cmpb}' for long branch case for alternatives
5901 1, 2 and 3. Correct length operand for alternatives 1, 2 and 3.
5902
bed575d5
RS
59032006-04-14 Roger Sayle <roger@eyesopen.com>
5904
5905 * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r,
5906 is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that
5907 were accidentally reverted by r112959.
5908
7e2df4a1
JJ
59092006-04-15 Jakub Jelinek <jakub@redhat.com>
5910
5911 PR middle-end/26823
5912 * except.h (eh_region_outermost): New prototype.
5913 * except.c (eh_region_outermost): New function.
5914 * tree-cfg.c (find_outermost_region_in_block): Use it.
5915
43b373a2
KH
59162006-04-14 Kazu Hirata <kazu@codesourcery.com>
5917
5918 * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead
5919 of VARRAY.
5920 * reload1.c (reg_equiv_memory_loc_varray): Rename to
5921 reg_equiv_memory_loc_vec. Change the type to VEC(rtx,gc) *.
5922 (init_reload, reload): Use VEC instead of VARRAY.
5923 * reload.h: Update the prototype for
5924 reg_equiv_memory_loc_varray.
5925
68ba34f3 59262006-04-14 Alexey Starovoytov <alexey.starovoytov@sun.com>
e8366202 5927 Eric Botcazou <ebotcazou@libertysurf.fr>
68ba34f3
AS
5928
5929 * config/sparc/sparc.c (emit_and_preserve): Allocate space for the
5930 register save area.
5931
39b1ec97
UB
59322005-04-13 Uros Bizjak <uros@kss-loka.si>
5933
5934 PR middle-end/27134
5935 * builtins.c (expand_builtin_int_roundingfn): Use expand_normal()
5936 to expand fallback builtin function call.
5937
880864cf
AM
59382006-04-14 Alan Modra <amodra@bigpond.net.au>
5939
5940 PR middle-end/27095
5941 * builtins.c: (expand_builtin_memset): Stabilize args before expansion
5942 and emit libcall here in case the builtin fails.
5943 (expand_builtin_strcmp): Always emit the libcall here on failure.
5944
1935e8a8
KH
59452006-04-14 Kazu Hirata <kazu@codesourcery.com>
5946
5947 * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
5948 * flow.c (reg_n_info): Change the type to
5949 VEC(reg_info_p,heap) *.
5950 * regclass.c (allocate_reg_info, free_reg_info): Use VEC
5951 instead of VARRAY.
5952 * regs.h (reg_info_p): New.
5953 (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS,
5954 REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED,
5955 REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC
5956 instead of VARRAY.
5957
6f8dd94b
EB
59582006-04-13 Eric Botcazou <ebotcazou@adacore.com>
5959
5960 * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
5961 defaulting to 100.
5962 * params.h (MAX_SCHED_READY_INSNS): New macro.
5963 * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle
5964 past MAX_SCHED_READY_INSNS during the first scheduling pass.
5965 (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in
5966 the ready list for 1 cycle during the first scheduling pass.
5967 * doc/invoke.texi (--param): New parameter max-sched-ready-insns.
5968
777f7f9a
RH
59692006-04-13 Richard Henderson <rth@redhat.com>
5970
bed575d5 5971 PR libgomp/26651
777f7f9a
RH
5972 * gimple-low.c (lower_omp_directive): Remove dead code.
5973 (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
5974 * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
5975 * omp-low.c (struct omp_region): Move to tree-flow.h.
5976 (root_omp_region): Export.
5977 (omp_regions, lookup_omp_region): Remove.
5978 (determine_parallel_type): Update for struct omp_region changes.
5979 (dump_omp_region): Dump regions with block numbers.
5980 (new_omp_region): Take type and block instead of stmt; malloc
5981 instead of ggc.
5982 (free_omp_region_1, free_omp_regions): New.
5983 (expand_parallel_call): Take entry_stmt as argument; update for
5984 changes to omp_region.
5985 (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
5986 (remove_exit_barriers): New.
5987 (expand_omp_parallel): Update for struct omp_region changes.
5988 (expand_omp_synch): Likewise.
5989 (expand_omp): Likewise.
5990 (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
5991 (expand_omp_for_static_chunk): Likewise.
5992 (expand_omp_for): Likewise.
5993 (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
5994 (expand_omp_sections): Similarly, with GOMP_sections_end.
5995 (expand_omp_single): New.
5996 (build_omp_regions_1): Update for OMP_CONTINUE.
5997 (execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
5998 (lower_omp_sections): Expand with OMP_CONTINUE, do not collect
5999 OMP_SECTIONS_SECTIONS.
6000 (lower_omp_single_simple): Don't emit barrier here.
6001 (lower_omp_single_copy): Likewise.
6002 (lower_omp_single): Fix bindings, and lower to straightline now.
6003 (lower_omp_master, lower_omp_ordered): Likewise.
6004 (lower_omp_critical): Likewise.
6005 (lower_omp_for): Likewise. Emit OMP_CONTINUE.
6006 * tree-cfg.c (make_edges): Collect an omp_region tree, use it for
6007 omp edges, free it afterward.
6008 (make_omp_sections_edges): Remove.
6009 (is_ctrl_altering_stmt): Don't bother checking flag_openmp.
6010 (move_stmt_r): Handle OMP_CONTINUE.
7a0b46c9 6011 * tree-flow.h (struct omp_region): Move from omp-low.c. Switch
777f7f9a
RH
6012 statement pointers to basic blocks. Add type member.
6013 (root_omp_region, new_omp_region, free_omp_regions): Declare.
6014 * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
6015 * tree-inline.c (estimate_num_insns_1): Likewise.
6016 * tree-pretty-print.c (dump_generic_node): Likewise.
6017 * tree-ssa-operands.c (get_expr_operands): Likewise.
6018 * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
6019 (OMP_RETURN): Rename from OMP_RETURN_EXPR.
6020 (OMP_CONTINUE): New.
6021 * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
6022 (OMP_SECTIONS_SECTIONS): Remove.
6023 (OMP_SECTION_LAST): New.
6024 (OMP_RETURN_NOWAIT): New.
6025
15b1c12a
RS
60262006-04-13 Roger Sayle <roger@eyesopen.com>
6027
6028 * fold-const.c (native_encode_vector, native_interpret_real):
6029 Correct obvious mistakes in the previous check-in.
6030
78bf6e2f
RS
60312006-04-13 Roger Sayle <roger@eyesopen.com>
6032
6033 * fold-const.c (native_encode_expr): New function to encode
6034 the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
6035 or VECTOR_CST into a specified buffer.
6036 (native_encode_int): New function.
6037 (native_encode_real): New function.
6038 (native_encode_complex): New function.
6039 (native_encode_vector): New function.
6040 (native_interpret_expr): Inverse of native_encode_expr to convert
6041 a target representation into an INTEGER_CST, REAL_CST etc...
6042 (native_interpret_int): New function.
6043 (native_interpret_real): New function.
6044 (native_interpret_complex): New function.
6045 (native_interpret_vector): New function.
6046 (fold_view_convert_expr): New function to constant fold/evaluate
6047 a VIEW_CONVERT_EXPR of a suitable constant expression.
6048 (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
6049 Change call of build1 to fold_build1 when constructing a
6050 VIEW_CONVERT_EXPR.
6051
76492753
PB
60522006-04-13 Paolo Bonzini <bonzini@gnu.org>
6053 Ulrich Weigand <uweigand@de.ibm.com>
6054
6055 PR target/27006
6056 * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
6057 to be even.
6058
7b5d92b2
AM
60592006-04-13 Alan Modra <amodra@bigpond.net.au>
6060
6061 PR target/26459
6062 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
6063 optimize to lo_sum for DFmode if !TARGET_FPRS.
6064
d96f49bf
KH
60652006-04-12 Kazu Hirata <kazu@codesourcery.com>
6066
6067 * tree-ssa-alias.c (set_initial_properties, init_alias_info,
6068 delete_alias_info, compute_flow_sensitive_aliasing,
6069 group_aliases): Use VEC instead of VARRAY.
6070 * tree-ssa-structalias.c (update_alias_info): Likewise.
6071 * tree-ssa-structalias.h (alias_info): Change the type of
6072 processed_ptrs to VEC(tree,heap) *.
6073
3f1d3526
R
60742006-04-12 J"orn Rennecke <joern.rennecke@st.com>
6075
6076 PR target/27060
e8366202
MS
6077 * config/sh/lib1funcs.h: New file, broken out of:
6078 * config/sh/lib1funcs.asm.
6079 * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
3f1d3526
R
6080 New macros.
6081 * config/sh/lib1funcs.asm (udivsi3_i4): Use them.
e8366202 6082 * config/sh/lib1funcs-Os-4-200.asm: New file.
3f1d3526
R
6083 * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
6084 * config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
6085 (EXTRA_MULTILIB_PARTS): Include it.
6086 ($(T)sdivsi3_i4i-Os-4-200.o): New rule.
6087 ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
6088 * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
6089 * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
6090 TARGET_SH2.
6091
dacb336e
KH
60922006-04-12 Kazu Hirata <kazu@codesourcery.com>
6093
6094 * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
6095 * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete,
6096 tpa_compact, root_var_init, type_var_init): Use VEC instead of
6097 VARRAY.
6098 * tree-ssa-live.h: Include vecprim.h.
6099 (tree_partition_associator_d): Change the type of
6100 first_partition to VEC(int,heap) *.
6101 (tpa_first_partition): Use VEC instead of VARRAY.
6102
597d6703
KH
6103 * Makefile.in (GTFILES): Move functions.h after tree.h.
6104 * function.c (reset_block_changes, record_block_change,
6105 check_block_change, free_block_changes): Use VEC instead of
6106 VARRAY.
6107 * function.h (function): Change the type of
6108 ib_boundaries_block to VEC(tree,gc) *.
6109 * tree-inline.c (copy_cfg_body): Initialize
6110 ib_boundaries_block to NULL instead of (varray_type) 0.
6111
7488662d
RS
61122006-04-12 Roger Sayle <roger@eyesopen.com>
6113
6114 * expr.c (emit_group_store): Correct operand order in call to
6115 subreg_lowpart_offset. Always create paradoxical SUBREGs with
6116 a SUBREG_BYTE of zero.
6117
76783bc2
RG
61182006-04-12 Richard Guenther <rguenther@suse.de>
6119
6120 * profile.c (compute_branch_probabilities): Remove code
6121 encapsulated in !ir_type (), which are remanents of the
6122 removed RTL profiling code.
6123 * rtl-profile.c: Remove.
6124
79773478
AM
61252006-04-12 Alan Modra <amodra@bigpond.net.au>
6126
6127 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update
6128 magic NULL_RTX comment.
6129 (function_arg): Store entire fp arg to mem if any part should go
6130 on stack.
6131 (rs6000_arg_partial_bytes): Adjust for above change.
6132
10934c3b
RS
61332006-04-11 Roger Sayle <roger@eyesopen.com>
6134
6135 * dwarf2out.c (output_call_frame_info): Create debug_frame_section
6136 if it hasn't been initialized by dwarf2out_init.
6137
58be56ea
JDA
61382006-04-11 John David Anglin <dava.anglin@nrc-cnrc.gc.ca>
6139
6140 * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
6141 symbolic constants in branch patterns.
6142
f6c4ed08
RS
61432006-04-11 Roger Sayle <roger@eyesopen.com>
6144
6145 * caller-save.c: #include "addresses.h" after #include "tm_p.h".
6146
205eb6e7
RS
61472006-04-11 Richard Sandiford <richard@codesourcery.com>
6148
6149 PR rtl-optimization/27073
6150 * gcse.c (try_replace_reg): Revert last change. Continue to search
6151 for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
6152 on the former.
6153
ef6843ed
EB
61542006-04-11 Eric Botcazou <ebotcazou@libertysurf.fr>
6155
6156 * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle
6157 aggregate types other than record and union types.
6158 (function_arg): Likewise.
6159 (function_arg_pass_by_reference): In 64-bit mode, return 0 for
6160 small arrays.
6161 (function_value): In 64-bit mode, return objects that require it
6162 in FP registers.
6163
b4426e0a
RS
61642006-04-11 Roger Sayle <roger@eyesopen.com>
6165
6166 * dwarf2out.c (premark_used_types): Remove problematic prototype.
6167
8beb0d9e
JJ
61682006-04-11 Jakub Jelinek <jakub@redhat.com>
6169
6170 * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
6171
cf282d0a
JL
61722006-04-03 Jeff Law <law@redhat.com>
6173
6174 PR/27087
6175 * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive
6176 alias information too.
6177
b3b2cbc4
MF
61782006-04-10 Mike Frysinger <vapier@gentoo.org>
6179
a1d1988f 6180 * Makefile.in (gcc-cross): Add $(exeext) to target name.
b3b2cbc4 6181
33c9159e
AH
61822006-04-10 Aldy Hernandez <aldyh@redhat.com>
6183
6184 PR/21391
6185 * dwarf2out.c (struct die_struct): Add die_perennial_p field.
6186 (premark_used_types_helper): New.
6187 (premark_used_types): New.
6188 (gen_subprogram_die): Call premark_used_types.
6189 (prune_unused_types_walk): Do not prune perennial dies.
6190 * function.c (used_types_insert): New.
6191 * function.h (struct function): Add used_types_hash field.
6192 (used_types_insert): Add prototype.
6193 * Makefile.in (FUNCTION_H): Depend on HASHTAB_H.
6194 * c-parser.c (c_parser_cast_expression): Save casted types in used
6195 types hash table.
6196
ab9260ac
MM
61972006-04-11 Mark Mitchell <mark@codesourcery.com>
6198
6199 PR target/26459
6200 * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test
6201 rs6000_explicit_options.float_gprs.
6202
acef130f
RS
62032006-04-10 Roger Sayle <roger@eyesopen.com>
6204
6205 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed
6206 from ix86_expand_vector_init_low_nonzero. Take an additional
6207 one_var argument indicating which element is non-zero. Support
6208 one_var != 0 for V4SFmode and V4SImode by permuting the result.
6209 (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero
6210 with one_var instead of ix86_expand_vector_init_low_nonzero.
6211
e3df376d
KH
62122006-04-10 Kazu Hirata <kazu@codesourcery.com>
6213
6214 * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o,
6215 tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o,
6216 global.o, cfglayout.o, lambda-code.o, reg-stack.o,
6217 build/genextract.o): Depend on vecprim.h.
6218 * cfglayout.c, df-problems.c, function.c, genextract.c,
6219 global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c,
6220 tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include
6221 vecprim.h.
6222 * vecprim.h: New.
6223
1a27722f
GK
62242006-04-10 Geoffrey Keating <geoffk@apple.com>
6225
6226 * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next.
6227 Declare VECs of this type.
6228 (struct die_struct): Make field die_attr a VEC of dw_attr_struct.
6229 (remove_children): Delete.
6230 (add_dwarf_attr): Use VEC routines.
6231 (add_AT_flag): Update for changes to add_dwarf_attr.
6232 (add_AT_int): Likewise.
6233 (add_AT_unsigned): Likewise.
6234 (add_AT_long_long): Likewise.
6235 (add_AT_vec): Likewise.
6236 (add_AT_string): Likewise.
6237 (add_AT_die_ref): Likewise.
6238 (add_AT_fde_ref): Likewise.
6239 (add_AT_loc): Likewise.
6240 (add_AT_loc_list): Likewise.
6241 (add_AT_addr): Likewise.
6242 (add_AT_lbl_id): Likewise.
6243 (add_AT_lineptr): Likewise.
6244 (add_AT_macptr): Likewise.
6245 (add_AT_offset): Likewise.
6246 (add_AT_range_list): Likewise.
6247 (get_AT): Use VEC_iterate.
6248 (remove_AT): Use VEC_ordered_remove.
6249 (free_die): Fold remove_children into here; have it use VEC_iterate.
6250 (print_die): Use VEC_iterate on attrs.
6251 (reverse_die_lists): Don't reverse attr lists.
6252 (die_checksum): Use VEC_iterate on attrs.
6253 (same_die_p): Likewise.
6254 (output_location_lists): Likewise.
6255 (build_abbrev_table): Likewise.
6256 (size_of_die): Likewise.
6257 (unmark_all_dies): Likewise.
6258 (output_abbrev_section): Likewise.
6259 (output_die): Likewise.
6260 (prune_unused_types_walk_attribs): Likewise.
6261
1da1ce3f
EB
62622006-04-10 Eric Botcazou <ebotcazou@libertysurf.fr>
6263
1f3d30ed 6264 * doc/install.texi (*-*-solaris2*): Point to the configure page.
1da1ce3f 6265
ef85ac9a
JJ
62662006-04-10 Jakub Jelinek <jakub@redhat.com>
6267
6268 PR debug/27057
6269 * dwarf2out.c (is_symbol_die): Return true also for namespaces.
6270
cf26aa89
RS
62712006-04-09 Roger Sayle <roger@eyesopen.com>
6272
6273 * expr.c (store_constructor): Don't bother clearing target if
6274 we're about to assign a vector to it using vec_init_optab.
6275
ef2bb311 62762006-04-10 Daniel Berlin <dberlin@dberlin.org>
7a0b46c9 6277
ef2bb311
DB
6278 * tree-ssa-alias.c (lhs_may_store_to): New function.
6279 (recalculate_used_alone): Handle LHS of calls.
6280
8b89a26a
JDA
62812006-04-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6282
6283 PR target/27034
6284 PR target/26508
6285 * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts.
6286 * pa64-hpux.h (LIB_SPEC): Correct typo. Don't append milli.a.
6287 (LINK_GCC_C_SEQUENCE_SPEC): Define. Append milli.a here.
6288 (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines.
6289 (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK.
6290 (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text
6291 section. Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB
6292 stubs. Add ".align 8" directives before all ".dword" directives.
6293 (GTHREAD_USE_WEAK): Revise comment.
6294 (TARGET_ATTRIBUTE_WEAK): Define.
6295 * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o,
6296 dfi-stub.o, cxaf-stub.o and jvrc-stub.o.
6297 * stublib.c: New file.
16d74a3c
JDA
6298
6299 PR target/26743
6300 PR target/11254
6301 PR target/10274
6302 * pa.md (cbranch patterns): Revise arguments used in calls to
6303 output_cbranch, output_bb and output_bvd. Add long branch length
6304 attributes.
6305 (fbranch patterns): Handle long branches.
6306 (jump): Revise length check. Revise arguments for output_lbranch call.
6307 Add long branch length attributes.
6308 (decrement_and_branch_until_zero): Add long branch length attributes.
6309 (output_movb, output_parallel_addb and output_parallel_movb patterns):
6310 Likewise. Revise arguments for output_parallel_addb and
6311 output_parallel_movb calls.
6312 * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb,
6313 output_parallel_movb and output_parallel_addb): Update prototypes.
6314 * pa.c (output_cbranch): Revise arguments. Correct handling of
6315 nullification in long branches.
6316 (output_lbranch): Add new argument to control extraction of delay
6317 instruction.
6318 (output_bb): Handle long branches.
6319 (output_bvb, output_dbra, output_movb, output_parallel_movb,
6320 output_parallel_addb): Likewise.
6321
c3a50ca3
RS
63222006-04-09 Richard Sandiford <richard@codesourcery.com>
6323
6324 PR rtl-optimization/27073
6325 * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes,
6326 not REG_EQUIVs.
6327
9ccfe0cd
DB
63282006-04-08 Daniel Berlin <dberlin@dberlin.org>
6329
6330 * tree.h (tree_memory_tag): Add old_used_alone.
6331 (SMT_OLD_USED_ALONE): New macro.
6332 * tree-ssa-alias.c (recalculate_used_alone): Stop
6333 marking things for renaming unnecessarily.
6334
917f1b7e
KH
63352006-04-08 Kazu Hirata <kazu@codesourcery.com>
6336
6337 * builtins.c, config/arm/arm.c, config/i386/cygwin.h,
6338 config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h,
6339 config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c,
6340 haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h,
6341 sched-rgn.c, tree-inline.h, tree-ssa-dom.c,
6342 tree-ssa-loop-prefetch.c, tree-ssa-operands.c,
6343 tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow
6344 spelling convensions.
6345 * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi,
6346 doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment
6347 typos. Follow spelling conventions.
6348
9d746d5e
DD
63492006-04-07 DJ Delorie <dj@redhat.com>
6350
6351 * config/m32c/m32c.c (m32c_function_arg): Structures are always
6352 passed on the stack.
6353 (m32c_init_cumulative_args): When a function returns a structure,
6354 always pass the pointer to that return area on the stack.
6355 (m32c_function_arg_advance): Don't increment the parameter number
6356 if we're processing the returned structure pointer.
6357 (pushm_info): Reverse order of registers.
6358
ff5e9a94
SP
63592006-04-07 Sebastian Pop <pop@cri.ensmp.fr>
6360
6361 * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne,
6362 assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
6363 number_of_iterations_le, number_of_iterations_cond, find_loop_niter,
7a0b46c9 6364 estimate_numbers_of_iterations_loop): Use build_int_cst instead of
ff5e9a94
SP
6365 build_int_cst_type.
6366 * tree-chrec.c (chrec_fold_multiply_poly_poly,
6367 chrec_fold_multiply): Same.
6368 * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost,
6369 force_expr_to_var_cost): Same.
6370 * tree-mudflap.c (mf_xform_derefs_1): Same.
6371 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same.
6372
f6fe3a22
DE
63732006-04-07 David Edelsohn <edelsohn@gnu.org>
6374
6375 * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not
6376 treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra
6377 insn.
28e6f134
JH
6378
63792006-04-07 Jan Hubicka <jh@suse.cz>
6380
6381 * ipa-inline.c (cgraph_early_inlining): Collect garbage.
6382
fcfa143a
RB
63832006-04-07 Richard Guenther <rguenther@suse.de>
6384
6385 PR tree-optimization/26135
6386 * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory
6387 loads for store copy-prop.
6388 (copy_prop_visit_stmt): Likewise.
6389
63902006-04-05 Robert Millan <robertmh@gnu.org>
8224ee20 6391
e8366202 6392 * config/i386/linux.h: Add a comment to mark macros that are
8224ee20 6393 being overriden in config/k*bsd-gnu.h.
e8366202 6394 * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of
8224ee20 6395 DYNAMIC_LINKER.
e8366202 6396 * config/knetbsd-gnu.h: Ditto.
8224ee20 6397
1f651229
JH
63982006-04-06 Jan Hubicka <jh@suse.cz>
6399
6400 PR profile/20815
6401 PR profile/26399
6402 * coverage.c (coverage_checksum_string): Reorganize loop to not read
6403 after buffer.
6404
3425c35f
MS
64052006-04-06 Mike Stump <mrs@apple.com>
6406
6407 * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if
6408 for HAVE_nonlocal_goto to be consistent.
6409 (expand_builtin_nonlocal_goto): Likewise.
6410 (expand_builtin_strcmp): Use #ifdef instead of #if
6411 for HAVE_cmpstrnsi to be consistent.
6412
0f681872
DD
64132006-04-05 DJ Delorie <dj@redhat.com>
6414
6415 * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c
6416 vs m32c.
6417
300adfc2
BS
64182006-04-05 Bernd Schmidt <bernd.schmidt@analog.com>
6419
6420 * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
6421 got-relative addressing for anything but SImode.
6422
dcef6aba
BS
6423 * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered
6424 even if the calling function doesn't modify them.
6425
cf51dca2
RG
64262006-04-05 Richard Guenther <rguenther@suse.de>
6427
6428 PR tree-optimization/26919
6429 * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
6430 to cgraph_estimate_size_after_inlining.
6431
e17e34d8
AM
64322006-04-05 Alan Modra <amodra@bigpond.net.au>
6433
6434 * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
6435
42d375ed
SP
64362006-04-05 Sebastian Pop <pop@cri.ensmp.fr>
6437
6438 PR tree-optimization/26996
6439 * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze
6440 VECTOR_TYPE variables.
6441
6eee9893
RG
64422006-04-05 Richard Guenther <rguenther@suse.de>
6443
6444 PR tree-optimization/26763
6445 * fold-const.c (fold_comparison): Move folding of
6446 PTR + CST CMP PTR + CST ...
6447 (fold_binary): ... here. Fold only for EQ_EXPR and NE_EXPR.
6448
80521187
GP
64492006-04-05 Gerald Pfeifer <gerald@pfeifer.com>
6450
6451 * doc/install.texi (Prerequisites): Refine some wording on
6452 bootstrapping and ksh.
6453 Move the version numbers of DejaGnu here from the testing section
6454 and fix casing of names.
6455 Fix markup and clarify wording for autogen requirements.
6456 Refer to GCJ instead of just java.
6457 Refer to SVN instead of CVS.
6458 Describe diffutils as useful instead of necessary.
6459 (Downloading the source): Refer to SVN instead of CVS.
6460 Adjust a link to our web site accordingly.
6461 (Configuration): Fix casing of Bison.
7a0b46c9 6462 (Building): Refer to SVN instead of CVS.
80521187
GP
6463 Fix a sentence on the use of Bison and remove duplicate (and
6464 incorrect) version number of Bison requirement.
6465 Remove one redundant list of packages needed for building.
6466 (Specific): Avoid reference to CVS.
6467
77ccdfed
EC
64682006-04-04 Eric Christopher <echristo@apple.com>
6469
6470 * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define.
6471 (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto.
6472 (rs6000_handle_struct_attribute): New.
6473 (rs6000_ms_bitfield_layout_p): Ditto.
6474
b3c2c547
GK
64752006-04-04 Geoffrey Keating <geoffk@apple.com>
6476
6477 * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than
6478 NULL for dso parameter to atexit_common.
6479
4b1c1f6f
EC
64802006-04-04 Eric Christopher <echristo@apple.com>
6481
6482 * config/i386/i386.c (machopic_output_stub): Output \t
6483 between instructions and operands.
6484
547b216d
DE
64852006-04-04 David Edelsohn <edelsohn@gnu.org>
6486
6487 * config/rs6000/rs6000.c (num_insns_constant_wide): Change
6488 satisfies_constraint_[IL] to explicit tests on value.
6489
dc61cc6b
SP
64902006-04-04 Sebastian Pop <pop@cri.ensmp.fr>
6491
6492 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
6493 set_nb_iterations_in_loop): Use build_int_cst instead of
6494 build_int_cst_type.
6495 * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use
6496 build_int_cst instead of convert.
6497
2225b57c
CD
64982006-04-04 Carlos O'Donell <carlos@codesourcery.com>
6499
6500 * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document
6501 new value 2 for incoming.
6502 * function.c (expand_function_start): Call struct_value_rtx
6503 with incoming as 2.
6504 * config/sparc/sparc.md: Comment updated_return.
6505 * config/sparc/sparc.opt: Add -mstd-struct-return option.
6506 * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard
6507 struct return if sparc_std_struct_return and incoming is 2.
6508 (print_operand): Do not adjust return if
6509 sparc_std_struct_return.
6510
3967bc2d
RS
65112006-04-04 Roger Sayle <roger@eyesopen.com>
6512
6513 * builtins.c (fold_builtin_sprintf): Use fold_convert instead of
6514 convert in the middle-end.
6515 * expr.c (store_expr, store_constructor, get_inner_reference,
6516 expand_expr_real_1, string_constant, try_casesi, try_tablejump):
6517 Likewise.
6518 * tree.c (build_range_type): Likewise.
6519
b52be2c8
TT
65202006-04-04 Tom Tromey <tromey@redhat.com>
6521
6522 * doc/install.texi (Prerequisites): Mention jar.
6523
d9d93d96
DB
65242006-04-04 Daniel Berlin <dberlin@dberlin.org>
6525
6526 * doc/tree-ssa.texi (Preserving the virtual ssa form): New
6527 subsection.
6528
8160ab35
MK
65292006-04-04 Matthias Klose <doko@debian.org>
6530
6531 * Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
9edaf51e
MK
6532 * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
6533 strings.
8160ab35 6534
a7d37464
GK
65352006-04-03 Geoffrey Keating <geoffk@apple.com>
6536
4b1c1f6f 6537 * doc/extend.texi (Function Attributes): Rewrite visibility
46bdbc00
GK
6538 attribute documentation.
6539 * doc/invoke.texi (C++ Dialect Options): Rewrite
6540 -fvisibility-inlines-hidden documentation to describe something
6541 entirely different, although in practise compatible.
4cb19a9f 6542 (Code Gen Options): Warn about system headers in -fvisibility=
46bdbc00
GK
6543 documentation.
6544
a7d37464
GK
6545 * doc/extend.texi (Other Builtins): Document that
6546 __builtin_nan is a compile-time constant only when its argument
6547 is valid.
6548
2332d585
AN
65492006-04-03 Adam Nemet <anemet@caviumnetworks.com>
6550
6551 * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When
6552 trying to remove TRUNCATE check if all bits outside the new mode
6553 are identical to the sign bit.
6554
cbc75e62
JL
65552006-04-03 Jeff Law <law@redhat.com>
6556
6557 * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding
6558 and operand scanning in some common cases.
6559
4735cca6 65602006-04-03 Paolo Bonzini <bonzini@gnu.org>
b5c82fa1
PB
6561 Dale Johannesen <dalej@apple.com>
6562
6563 PR target/19653
6564 * regclass.c (struct reg_pref): Update documentation.
6565 (regclass): Set prefclass to NO_REGS if memory is the best option.
6566 (record_reg_classes): Cope with a prefclass set to NO_REGS.
6567 * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
6568 into account. For non-registers, equate an empty preferred
6569 reload class to a `!' in the constraint; move the if clause to
6570 do so after those that reject the insn.
6571 (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
6572 return NO_REGS.
6573 (find_dummy_reload): Likewise.
6574 * doc/tm.texi (Register Classes): Document what it means
6575 if PREFERRED_*_RELOAD_CLASS return NO_REGS.
6576 * config/i386/i386.c (ix86_preferred_reload_class): Force
6577 using SSE registers (and return NO_REGS for floating-point
6578 constants) if math is done with SSE.
6579 (ix86_preferred_output_reload_class): New.
6580 * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
6581 * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
6582 * config/i386/i386.md: Remove # register preferences.
6583
16a2acea
SP
65842006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
6585
6586 PR bootstrap/26992
6587 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
6588 chrec_is_positive, set_nb_iterations_in_loop): Use a variable for
6589 the type of nb_iter.
6590 (instantiate_parameters_1): Convert the operands before calling
6591 chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply.
6592 * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same.
6593
b6f65e3c
RS
65942006-04-02 Roger Sayle <roger@eyesopen.com>
6595
6596 * builtins.c (dummy_object): Use build_int_cst instead of convert.
6597 * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
6598 instead of convert.
6599 * dojump.c (do_jump): Likewise.
6600 * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
6601 * gimplify.c (gimple_boolify, gimplify_init_constructor,
6602 gimplify_boolean_expr): Likewise.
6603 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
6604 * varasm.c (array_size_for_constructor): Likewise.
6605 * tree-object-size.c (compute_object_offset): Likewise.
6606
9fd20553
RS
66072006-04-02 Roger Sayle <roger@eyesopen.com>
6608
6609 PR middle-end/26977
6610 * expr.c (emit_group_store): Check whether simplify_gen_subreg returns
6611 NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
6612
ace23abf
SP
66132006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
6614
6615 PR tree-optimization/26939
6616 * tree-chrec.c (chrec_merge): Use eq_evolutions_p.
6617
e2157b49
SP
66182006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
6619
6620 * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument
4b1c1f6f 6621 at_stmt. Convert the type of operands before calling
e2157b49
SP
6622 build_polynomial_chrec.
6623 (add_to_evolution): Pass an extra argument at_stmt. Adjust the call to
6624 add_to_evolution_1.
6625 (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution.
4b1c1f6f 6626 (instantiate_parameters_1): Convert the type of operands before calling
e2157b49
SP
6627 build_polynomial_chrec.
6628 * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
6629 chrec_fold_multiply_poly_poly, chrec_replace_initial_condition,
6630 reset_evolution_in_loop): Insert asserts to check the types of the
6631 operands.
6632 (chrec_type): Moved...
6633 (eq_evolutions_p): Use operand_equal_p.
6634 * tree-chrec.h (build_polynomial_chrec): Insert an assert to check
6635 the types of the operands.
6636 (chrec_type): ...here.
6637 * tree-data-ref.c (create_data_ref): Convert the operands before
6638 calling chrec_replace_initial_condition.
6639 (same_access_functions, analyze_subscript_affine_affine,
6640 analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p.
6641 (compute_subscript_distance, analyze_ziv_subscript,
6642 analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2,
6643 analyze_miv_subscript): Convert the operands before calling
6644 chrec_fold_minus or chrec_fold_plus.
6645
a84481aa
SP
66462006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
6647
6648 * tree-data-ref.c (compute_all_dependences): Use a pointer to
6649 the dependence_relations vector.
6650 (compute_data_dependences_for_loop): Adjust call to
6651 compute_all_dependences.
6652
d568d1a8
RS
66532006-04-01 Roger Sayle <roger@eyesopen.com>
6654 Richard Henderson <rth@redhat.com>
6655
6656 * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call
6657 gimple_boolify on the condition before calling gimplify_expr.
6658
b7974b3a
BW
66592006-03-31 Bob Wilson <bob.wilson@acm.org>
6660
6661 * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros
6662 to leaf_entry/leaf_return. Change leaf_entry to add 16 bytes to
6663 the frame size. Update to use the new macros.
6664 * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros.
6665 * config/xtensa/ieee754-df.S: Likewise.
6666
66672006-03-31 Richard Henderson <rth@redhat.com>
56e84019
RH
6668
6669 * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into...
6670 (make_edges): ... here. Control fallthru creation with a local
6671 variable. Do not play with fake edges.
6672 (make_omp_sections_edges): Don't set EDGE_ABNORMAL.
6673 (make_goto_expr_edges): Don't play with fake edges. Make for_call
6674 a boolean.
6675
0c33762a
JM
66762006-04-01 Joseph S. Myers <joseph@codesourcery.com>
6677
6678 * dwarf2.h (DW64_CIE_ID): Define.
6679 * dwarf2out.c (DWARF_CIE_ID): Define.
6680 (output_call_frame_info): Output 0xffffffff before standard 8-byte
6681 length header. Use DWARF_CIE_ID.
6682 (value_format): Use DW_FORM_data4 or DW_FORM_data8 for
6683 dw_val_class_loc_list depending on DWARF_OFFSET_SIZE.
6684
b890ea50
KK
66852006-03-31 Kaz Kojima <kkojima@gcc.gnu.org>
6686
6687 * config/sh/linux-atomic.asm: New file.
6688 * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm.
6689
16659fcf
DD
66902006-03-31 DJ Delorie <dj@redhat.com>
6691
6692 * config/m32c/cond.md: Set condition flags properly throughout.
6693 * config/m32c/minmax.md: Likewise.
6694 * config/m32c/prologue.md: Likewise.
6695 * config/m32c/bitops.md: Likewise.
6696 * config/m32c/muldiv.md: Likewise.
6697 * config/m32c/mov.md: Likewise.
6698 * config/m32c/addsub.md: Likewise.
6699 * config/m32c/m32c.md: Likewise.
6700 * config/m32c/jump.md: Likewise.
6701 * config/m32c/shift.md: Likewise.
6702
6703 * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to
6704 conditionally output the pattern for this.
6705 * config/m32c/m32c.c (flags_needed_for_conditional): New.
6706 (m32c_compare_redundant): New.
6707 (m32c_output_compare): New.
6708 * config/m32c/m32c-protos.h (m32c_output_compare): New.
6709
6710 * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber
6711 dest, not src. Allow other 4-byte modes.
6712
fc262682
DC
67132006-03-30 Denis Chertykov <denisc@overta.ru>
6714
6715 * doc/md.texi: Refer to avr/constraints.md instead of
6716 avr/avr.h.
6717
5650dfbd
RS
67182006-03-30 Roger Sayle <roger@eyesopen.com>
6719
6720 * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to
6721 signed vs. unsigned comparison failures on some hosts.
6722
d3603e8c
AM
67232006-03-31 Alan Modra <amodra@bigpond.net.au>
6724
ca0e79d9
AM
6725 PR target/26459
6726 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
6727 change to FLOAT_REGS.
6728
d3603e8c
AM
6729 * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
6730 (rs6000_override_options): Use it.
6731 (rs6000_handle_option): Set it. Set rs6000_explicit_options.abi
6732 only for -mabi=spe/no-spe and -mabi=altivec.
6733
24cec83c
GK
67342006-03-30 Geoffrey Keating <geoffk@apple.com>
6735
6736 * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with
6737 !Zdynamiclib.
6738
ad3a7ce3
CD
67392006-03-30 Carlos O'Donell <carlos@codesourcery.com>
6740
6741 * Makefile.in: Rename docdir to gcc_docdir.
6742
79edfde8
RS
67432006-03-30 Roger Sayle <roger@eyesopen.com>
6744
6745 PR target/17959
e8366202 6746 * expr.c (emit_group_store): Optimize group stores into a pseudo
79edfde8
RS
6747 register by using a paradoxical subreg to initialize the destination
6748 if the first or last member of the group specifies a "low part".
6749
c7ec5472
MK
67502006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
6751
6752 PR target/26734
6753 * rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
6754 * target.h (struct gcc_target.speculate_insn): Change type of the
6755 second parameter to 'int'.
6756 * lists.c (alloc_DEPS_LIST): Change signature. Update reference to
6757 the second operand of the DEPS_LIST.
6758 (copy_DEPS_LIST_list): Update reference to the second operand of the
6759 DEPS_LIST.
6760 * rtl.h (alloc_DEPS_LIST): Update signature.
6761 * sched-int.h (ds_t): Change typedef to 'int'.
6762 (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
6763
682b6a9e
MK
67642006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
6765
6766 * haifa-sched.c (try_ready): Change condition to restore
6767 non-speculative pattern of the instruction.
6768 (process_insn_depend_be_in_spec): Code to keep probability of the
6769 speculative dependence non-decreasing.
6770
144f8315
JZ
67712006-03-30 Jie Zhang <jie.zhang@analog.com>
6772
6773 * config/bfin/bfin.c (single_move_for_strmov): Renamed to...
6774 (single_move_for_movmem): ... this. Also change all uses.
6775 (bfin_expand_strmov): Renamed to...
6776 (bfin_expand_movmem): ... this. Also change all uses.
6777 * config/bfin/bfin.md (movstrsi): Renamed to...
6778 (movstrsi): ...this.
6779
ae25dbda
PB
67802006-03-30 Paolo Bonzini <bonzini@gnu.org>
6781
6782 PR tree-optimization/26830
6783
6784 * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth.
6785 (copy_prop_visit_stmt): Remove write-only variable ann.
6786 (init_copy_prop): Check variable loop depth here. Do not simulate
6787 memory-tag and virtual operand PHIs except for store copy prop.
6788
7d3a3b01
RG
67892006-03-30 Richard Guenther <rguenther@suse.de>
6790
6791 * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic
6792 variants with double arguments.
6793
10a27391
DE
67942006-03-29 David Edelsohn <edelsohn@gnu.org>
6795
6796 * genpreds.c (write_tm_constrs_h): Delete variable p.
f8569394
DE
6797 * genconditions.c (write_header): Add tm-constrs.h to included
6798 headers.
f160357f 6799 * genpeep.c (main): Add toplev.h to included headers.
92cf85e9 6800 * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency.
c13a761d 6801 (build/genpeep.o): Add toplev.h dependency.
40377a6d 6802 * config/rs6000/constraints.md: Add "W" constraint.
10a27391 6803
a6a12bb9
RS
68042006-03-29 Roger Sayle <roger@eyesopen.com>
6805
6806 * stor-layout.c (mode_for_size_tree): Remove restiction on type
6807 sizes by correctly testing whether the size fits a host integer.
6808 (initialize_sizetypes): Use set_min_and_max_values_for_integral_type
6809 to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full
6810 SImode range for the default sizetype and bitsizetype.
6811
0a931ce5
RS
68122006-03-29 Roger Sayle <roger@eyesopen.com>
6813
6814 * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW
6815 and TREE_CONSTANT_OVERFLOW bits of the argument. Return
6816 quickly if the argument is already of the correct type.
6817 Call fold_build1 instead of build1. Tidy up blank lines.
6818
279bb624
DE
68192006-03-29 David Edelsohn <edelsohn@gnu.org>
6820
6821 * genemit.c (main): Add tm-constrs.h to included headers.
6822 * genoutput.c (output_prologue): Add tm-constrs.h to included headers.
6823 * genpeep.c (main): Add tm-constrs.h to included headers.
6824 * genpreds.c (write_satisfies_constraint_fns): Rename to ...
6825 (write_tm_constrs_h): this and write complete file.
6826 (write_tm_preds_h): Do not emit satisfies_constraint fns.
6827 (write_insn_preds_c): Add tm-constrs.h to included headers.
6828 (gen_constrs): New variable.
6829 (parse_option): Parse "-c".
6830 (main): Invoke write_tm_constrs_h.
6831 * genrecog.c (write_header): Add tm-constrs.h to included headers.
6832 * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h.
6833 (object_out_file): Add tm-constrs.h dependency.
6834 (insn-emit.o): Same.
6835 (insn-output.o): Same.
6836 (insn-peep.o): Same.
6837 (insn-preds.o): Same.
6838 (insn-recog.o): Same.
6839 (tm-constsr.h): New target.
6840 (s-constrs-h): New target.
6841
6842 * config/rs6000/constraints.md: New file.
6843 * config/rs6000/rs6000.c: Include tm-constrs.h.
6844 (num_insn_constant_wide): Convert to satisfies_constraint.
6845 (rs6000_rtx_costs): Convert to satisfies_constraint.
6846 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete.
6847 (CONST_OK_FOR_LETTER_P): Delete.
6848 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
6849 (EXTRA_CONSTRAINT): Delete.
6850 (EXTRA_MEMORY_CONSTRAINT): Delete.
6851 (EXTRA_ADDRESS_CONSTRAINT): Delete.
6852 * config/rs6000/predicates.md: Convert to satisfies_constraint.
6853 * config/rs6000/rs6000.md: Include constraints.md. Convert to
6854 satisfies_constraint.
6855
6856 * config/i386/i386.c: Include tm-constrs.h.
6857
e14b10df
SP
68582006-03-29 Sebastian Pop <pop@cri.ensmp.fr>
6859
6860 * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls.
6861 * tree-data-ref.c (find_data_references_in_loop,
6862 compute_data_dependences_for_loop): Use pointers to VEC.
6863 (analyze_all_data_dependences): Adjust calls.
6864 * tree-data-ref.h (find_data_references_in_loop,
6865 compute_data_dependences_for_loop): Adjust declarations.
6866 * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to
6867 compute_data_dependences_for_loop.
6868
221b2a64
PB
68692006-03-29 Paul Brook <paul@codesourcery.com>
6870
6871 * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
6872 (movdf_vfp): Ditto.
6873
d31db22f
SP
68742006-03-29 Sebastian Pop <pop@cri.ensmp.fr>
6875
6876 PR tree-optimization/26859
6877 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid
6878 division by zero.
6879 (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags
6880 for the step after fold_convert.
6881
67f07489
PB
68822006-03-29 Paul Brook <paul@codesourcery.com>
6883
6884 * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators.
6885 (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses.
6886
c2a64439
PB
68872006-03-29 Paul Brook <paul@codesourcery.com>
6888
6889 PR middle-end/23623
6890 * targhooks.c (default_narrow_bitfield): New fuction.
6891 * targhooks.h (default_narrow_bitfield): add prototype.
6892 * target.h (gcc_target): Add narrow_volatile_bitfield.
6893 * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define.
6894 * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield.
6895 * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS.
6896 * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define.
6897
4dc19cc0
AK
68982006-03-29 Andreas Krebbel <krebbel1@de.ibm.com>
6899
4b1c1f6f 6900 * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to
4dc19cc0
AK
6901 tmake_file.
6902 * config/s390/s390.c (S390_scalar_mode_supported_p): New function.
6903 (NR_C_MODES): Add TDmode, DDmode and SDmode.
6904 (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT.
6905 (s390_hard_regno_mode_ok): Disallow TDmode in integer regs.
6906 (s390_function_arg_float): Allow SDmode and DDmode values to be
6907 passed in floating point registers.
4b1c1f6f 6908 (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT
4dc19cc0
AK
6909 check with SCALAR_FLOAT_MODE_P.
6910 (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro.
6911
f08ac361
ZD
69122006-03-28 Zdenek Dvorak <dvorakz@suse.cz>
6913
6914 PR tree-optimization/25985
6915 * tree-ssa-loop-niter.c (number_of_iterations_le,
6916 number_of_iterations_ne): Make comments more precise.
6917 (number_of_iterations_cond): Add only_exit argument. Use the
6918 fact that signed variables do not overflow only when only_exit
6919 is true.
6920 (loop_only_exit_p): New.
6921 (number_of_iterations_exit): Pass result of loop_only_exit_p to
6922 number_of_iterations_cond.
6923
dd79d394
ZD
69242006-03-28 Zdenek Dvorak <dvorakz@suse.cz>
6925
6926 PR tree-optimization/26643
6927 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle
6928 bit_field_refs.
6929
95ec2af0
KK
69302006-03-28 Kaz Kojima <kkojima@gcc.gnu.org>
6931
6932 * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG.
6933 (divsi3_i4_int): Likewise.
6934
e8366202 69352006-03-28 Roger Sayle <roger@eyesopen.com>
5ac60669
RS
6936
6937 * expr.c (emit_group_store): Only create a new pseudo reg if the
6938 quantity it needs to hold isn't already a suitable pseudo.
6939
b6313dcf
JL
69402006-03-28 Jeff Law <law@redhat.com>
6941
6942 * timevar.def (TV_TREE_PHI_CPROP): New timevar.
6943 * tree-ssa-dom.c (pass_phi_only_cprop): Use it.
6944
dd2c62dc
RS
69452006-03-28 Roger Sayle <roger@eyesopen.com>
6946
6947 * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as
6948 the equivalent ~X & Y, and the symmetry related transformations.
4b1c1f6f 6949 (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as
dd2c62dc
RS
6950 ~X & Y, and symmetry related transforms.
6951
3cc82eea
MK
69522006-03-28 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
6953
6954 Revert my 2006-03-27 patches.
6955
e8206491
RS
69562006-03-28 Roger Sayle <roger@eyesopen.com>
6957
6958 * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as
6959 ~(T1)X, when T1 and T2 are integer types of the same precision
6960 and (T2)X isn't an extension.
6961
72922229
JL
69622006-03-28 Jeff Law <law@redhat.com>
6963
6964 PR tree-optimization/26796
6965 * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which
6966 need EH edge cleanups rather than purging them immediately.
6967 (eliminate_degenerate_phis): Handle queued EH cleanups.
6968
c245c134
DB
69692006-03-28 Daniel Berlin <dberlin@dberlin.org>
6970
6971 * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE
6972 from parent_var.
6973
7f166b0a
RS
69742006-03-27 Roger Sayle <roger@eyesopen.com>
6975
6976 PR middle-end/22524
6977 * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to
6978 cast BIT_NOT_EXPR operand to the correct type.
6979
ebf78a47
SP
69802006-03-27 Sebastian Pop <pop@cri.ensmp.fr>
6981
6982 * tree-loop-linear.c: Don't include varray.h.
6983 (gather_interchange_stats, try_interchange_loops,
6984 linear_transform_loops): Use VEC instead of VARRAY.
6985 * lambda-mat.c: Don't include varray.h.
6986 * tree-chrec.c: Same.
6987 * lambda-trans.c: Same.
6988 * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use
6989 VEC instead of VARRAY.
6990 * tree-vectorizer.h: Idem.
6991 * tree-data-ref.c (dump_data_references,
6992 dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs,
6993 initialize_data_dependence_relation, finalize_ddr_dependent,
6994 compute_all_dependences, find_data_references_in_loop,
6995 compute_data_dependences_for_loop, analyze_all_data_dependences,
6996 free_dependence_relation, free_dependence_relations,
6997 free_data_refs): Idem.
6998 * tree-data-ref.h (data_reference_p, subscript_p): New.
6999 (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use
7000 VEC instead of VARRAY.
7001 (DDR_SUBSCRIPTS_VECTOR_INIT): Removed.
7002 (find_data_references_in_loop, compute_data_dependences_for_loop,
7003 dump_ddrs, dump_dist_dir_vectors, dump_data_references,
7004 dump_data_dependence_relations, free_dependence_relations,
7005 free_data_refs): Adjust declaration.
7006 (lambda_transform_legal_p): Move declaration here...
7007 * tree-vect-analyze.c (vect_analyze_data_ref_dependences,
7008 vect_compute_data_refs_alignment, vect_verify_datarefs_alignment,
7009 vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses,
7010 vect_analyze_data_refs): Use VEC instead of VARRAY.
7011 * lambda.h (lambda_transform_legal_p): ...from here.
7012 * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY.
7013 * tree-vect-transform.c (vect_update_inits_of_drs): Idem.
7014 * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o,
7015 tree-chrec.o): Don't depend on VARRAY_H.
7016
5edb2b13
MK
70172006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
7018
7019 * rtl.def (Copyright): Update date.
7020 (DEPS_LIST): Change type of the second operand to 'int'.
7021 * target.h (Copyright): Update date.
7022 (struct gcc_target.speculate_insn): Change type of the second parameter
7023 to 'int'.
7024 * lists.c (Copyright): Update date.
7025 (alloc_DEPS_LIST): Change signature. Update reference to the second
7026 operand of the DEPS_LIST.
7027 (copy_DEPS_LIST_list): Update reference to the second operand of the
7028 DEPS_LIST.
7029 * rtl.h (Copyright): Update date.
7030 (alloc_DEPS_LIST): Update signature.
7031 * sched-int.h (Copyright): Update date.
7032 (ds_t): Change typedef to 'int'.
7033 (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
7034
c96a7cc5
MK
70352006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
7036
7037 * haifa-sched.c (Copyright): Update date.
7038 (try_ready): Change condition to restore non-speculative pattern
7039 of the instruction.
7040 (process_insn_depend_be_in_spec): Code to keep probability of the
7041 speculative dependence non-decreasing.
7042
b256fbaf
BS
70432006-03-27 Bernd Schmidt <bernd.schmidt@analog.com>
7044
7045 * regrename.c (replace_oldest_value_addr): Initialize a variable to
7046 shut up the compiler.
7047
575066d2
R
70482006-03-27 J"orn Rennecke <joern.rennecke@st.com>
7049
7050 * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule
7051 to use lib prefix for target.
7052 ($(T)libic_invalidate_array_4-200.a): Likewise.
7053 ($(T)libic_invalidate_array_4a.a): Likewise.
7054
25e651ca
AS
70552006-03-27 Andrew Stubbs <andrew.stubbs@st.com>
7056 J"orn Rennecke <joern.rennecke@st.com>
7057
7058 * superh.opt: New file.
7059 * sh.c (boardtype, osruntime): Remove.
7060 * superh.h (SUBTARGET_OPTIONS): Remove.
7061 * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options.
7062
7063 * config.gcc (sh*-*-*): Don't use c-c ranges for tr. Quote sed
7064 arguments with ^ and/or [].
7065
7066 * config.gcc (sh-*-*): Add quoting to account for quirk of
7067 Solaris /bin/sh.
7068 Replace == with = in enable_incomplete_targets test.
7069
7070 * config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT
7071 with MASK_LITTLE_ENDIAN.
7072
7073 * config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file.
7074 * config/sh/sh.opt: Added to some comments.
7075 * config/sh/superh.h: Removed some chaff.
7076
7077 * config/sh/sh.opt: Add m4-[1234]00* options.
7078 * config/sh/sh.c (sh_handle_option): Likewise.
7079 * config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define.
7080 (ic_invalidate_array_4-100.o): New rule.
7081 ($(T)libic_invalidate_array_4-100.a): Likewise.
7082 (ic_invalidate_array_4-200.o): Likewise.
7083 ($(T)libic_invalidate_array_4-200.a): Likewise.
7084 (ic_invalidate_array_4a.o): Likewise.
7085 ($(T)libic_invalidate_array_4a.a): Likewise.
7086 * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS.
7087 * config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*,
7088 m4-200*, and m4a*.
7089 * config/sh/crt1.asm: Merged in profiling code.
7090 * config/sh/superh.h (STARTFILE_SPEC): Override.
7091 * config/sh/t-superh: Override EXTRA_MULTILIB_PARTS.
7092 Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o.
7093 * config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
7094
7095 * t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants.
7096 * config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS /
7097 MULTILIB_DIRNAMES / MULTILIB_MATCHES settings.
7098
7099 * sh.opt (mpretend-cmove): New option.
7100 * sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1.
7101 * sh.md (movsicc_t_false, movsicc_t_tru): New patterns.
7102 (movsicc): Add TARGET_PRETEND_CMOVE code.
7103
74aa8b4b
AK
71042006-03-27 Andreas Krebbel <krebbel1@de.ibm.com>
7105
4b1c1f6f 7106 * config/s390/s390-protos.h (s390_hard_regno_mode_ok,
74aa8b4b
AK
7107 s390_class_max_nregs): New function prototypes.
7108 * config/s390/s390.c (REGNO_PAIR_OK): New macro.
7109 (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions.
7110 * config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
7111 CLASS_MAX_NREGS): Macro bodies replaced by function calls.
7112
0d06ead5
GK
71132006-03-26 Geoffrey Keating <geoffk@apple.com>
7114
7115 * dwarf2out.c (add_location_or_const_value_attribute): Call
7116 tree_add_const_value_attribute if nothing else works.
7117 (reference_to_unused): New.
7118 (rtl_for_decl_init): Use reference_to_unused to decide whether
7119 to output an initializer.
7120
036aadfc
AM
71212006-03-27 Alan Modra <amodra@bigpond.net.au>
7122
7123 PR target/26459
7124 * config/rs6000/rs6000.md (DF reg move peephole): Prevent
7125 peephole removing spe frob_di_df_2.
7126
ba42e045
SP
71272006-03-26 Sebastian Pop <pop@cri.ensmp.fr>
7128
7129 * tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS.
7130 (subscript_dependence_tester_1): Declared.
7131 (print_dir_vectors, print_dist_vectors): New.
7132 (debug_data_dependence_relation): New.
7133 (dump_data_dependence_relation): Print more details.
7134 (initialize_data_dependence_relation): Initialize DDR_LOOP_NEST.
7135 (analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0.
7136 (save_dist_v, save_dir_v, add_outer_distances,
7137 build_classic_dist_vector_1): New.
7138 (build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST.
7139 Don't test for lambda_vector_lexico_pos.
7140 (same_access_functions, add_multivariate_self_dist,
7141 add_other_self_distances, dir_from_dist): New.
4b1c1f6f 7142 (build_classic_dir_vector): Replace implementation almost identical to
ba42e045
SP
7143 build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to
7144 dir_from_dist.
7145 (subscript_dependence_tester_1): New.
7146 (subscript_dependence_tester): Handle the lexicographically negative
7147 distance vectors by recomputing the dependence relation.
7148 (compute_affine_dependence): Remove parameter loop_nest_depth.
7149 (compute_self_dependence): Don't call compute_subscript_distance.
7150 (compute_all_dependences): Remove parameters nb_loops, loop_nest_depth.
7151 Add a parameter for the loop_nest.
7152 (find_loop_nest_1, find_loop_nest): New.
7153 (compute_data_dependences_for_loop): Compute the loop nest, and give
7154 up if the nest is not well formed.
7155 * tree-data-ref.h (loop_p): New.
4b1c1f6f 7156 (struct data_dependence_relation): Replace size_vect field with
ba42e045
SP
7157 loop_nest, a vec of loops.
7158 (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS.
7159 (DDR_LOOP_NEST): New.
7160 (print_dir_vectors, print_dist_vectors,
7161 debug_data_dependence_relation): Declared.
7162 (index_in_loop_nest): New.
7163 * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use
7164 DDR_LOOP_NEST and index_in_loop_nest to determine the dependence
7165 distance.
7166
30a440a7
AN
71672006-03-25 Adam Nemet <anemet@caviumnetworks.com>
7168
7169 * simplify-rtx.c (simplify_relational_operation): Call
7170 simplify_relational_operation_1 even if mode is VOIDmode.
7171
fe1f8f44
DB
71722006-03-25 Daniel Berlin <dberlin@dberlin.org>
7173
7174 PR tree-optimization/26804
7175 * tree.h (DECL_CALL_CLOBBERED): New macro.
7176 (tree_decl_common): Add call_clobbered_flag.
7177 * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED.
7178 (mark_call_clobbered): Set DECL_CALL_CLOBBERED.
7179 (clear_call_clobbered): Clear DECL_CALL_CLOBBERED.
7180 (mark_non_addressable): Ditto.
7181 * tree-ssa.c (verify_call_clobbered): New function.
7182 (verify_alias_info): Use it.
7183 * tree-pass.h (pass_reset_cc_flags): New prototype.
7184 * tree-ssa-alias.c (pass_reset_cc_flags): New structure.
7185 (reset_cc_flags): New function.
7186 * passes.c (init_optimization_passes): Call reset_cc_flags after
7187 initializing referenced_vars.
7188
1d8b38a0
UB
71892006-03-25 Uros Bizjak <uros@kss-loka.si>
7190 Roger Sayle <roger@eyesopen.com>
7191
7192 PR middle-end/26717
7193 * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A
7194 to 1.0 for non-real operands. Implement A / A optimization for
7195 complex operands.
7196
75bcbcdb
L
71972006-03-25 H.J. Lu <hongjiu.lu@intel.com>
7198
7199 * config/i386/i386.c (size_cost): Correct the comment for
7200 cost of storing fp registers.
7201 (i386_cost): Likewise.
7202 (i486_cost): Likewise.
7203 (pentium_cost): Likewise.
7204 (pentiumpro_cost): Likewise.
7205 (k6_cost): Likewise.
7206 (athlon_cost): Likewise.
7207 (k8_cost): Likewise.
7208 (pentium4_cost): Likewise.
7209 (nocona_cost): Likewise.
7210 (generic64_cost): Likewise.
7211 (generic32_cost): Likewise.
7212
625a46d9
DC
72132006-03-24 Denis Chertykov <denisc@overta.ru>
7214
7215 * config/avr/avr-protos.h (extra_constraint): Delete.
7216 (extra_constraint_Q): New declaration.
7217 * config/avr/constraints.md: New file.
7218 * config/avr/avr.md: Include it.
7219 (REG_X, REG_Y, REG_Z, REG_W): New constants.
7220 (TMP_REGNO, ZERO_REGNO): Likewise.
7221 (UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise.
7222 * config/avr/avr.c (avr_reg_class_from_letter): Delete.
7223 (extra_constraint): Delete.
7224 (extra_constraint_Q): Test for memory constraint 'Q'.
7225 * config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete.
7226 (REG_CLASS_FROM_LETTER): Delete.
7227 (CONST_OK_FOR_LETTER_P): Delete.
7228 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7229 (EXTRA_CONSTRAINT): Delete.
7230 (TMP_REGNO): Delete.
7231 (ZERO_REGNO): Delete.
7232
3ae194cd
JL
72332006-03-24 Jeff Law <law@redhat.com>
7234
7235 * tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt
7236 directly. Call mark_new_vars_to_rename slightly earlier.
7237
895de5a8
GK
72382006-03-24 Geoffrey Keating <geoffk@apple.com>
7239
9e51ddaa
GK
7240 * dwarf2out.c (is_c_family): Understand new DWARF3 language types.
7241 (is_cxx): Likewise.
7242 (gen_compile_unit_die): Use new language types for Objective-C and
7243 Objective-C++.
7244 (dwarf2out_decl): Use is_cxx rather than testing explicitly against
7245 DW_LANG_C_plus_plus.
7246
895de5a8
GK
7247 PR 26793
7248 * config/t-darwin (crt3.o): Work around bug 26840.
7249 * config/darwin-crt3.c: Rewrite.
7250 * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o.
7251
e713adf6
CD
72522006-03-24 Carlos O'Donell <carlos@codesourcery.com>
7253
7254 * doc/invoke.texi: Document -femit-class-debug-always
7255 * common.opt: Add -femit-class-debug-always.
7256
93fa8428
AK
72572006-03-24 Andreas Krebbel <krebbel1@de.ibm.com>
7258
7259 * config/s390/s390.c (s390_decompose_address): Allow SImode for
7260 index and base register.
7261 (s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p,
7262 print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P
7263 with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with
7264 REGNO_OK_FOR_INDEX_P.
7265 * config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with
7266 ADDR_REGNO_P.
7267 (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P,
7268 REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P,
7269 REG_OK_FOR_BASE_P): Definitions removed.
7270
8cb86b65
JJ
72712006-03-24 Jakub Jelinek <jakub@redhat.com>
7272
7273 PR middle-end/26611
7274 * gimplify.c (gimplify_bind_expr): Only call omp_add_variable on
7275 non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit
7276 set yet or weren't marked as local yet.
7277
84c9cb12
BS
72782006-03-24 Bernd Schmidt <bernd.schmidt@analog.com>
7279
7280 * regrename.c (scan_rtx_address): Initialize a variable to shut up
7281 the compiler.
7282
d04b6e6e
EB
72832006-03-24 Eric Botcazou <ebotcazou@adacore.com>
7284
7285 * config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare.
7286 (rs6000_legitimate_small_data_p): Delete.
7287 * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate.
7288 (rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p
7289 and make static. Add forward declaration. Update uses.
7290 (rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead
7291 of offsettable_memref_p.
7292 * config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix.
7293 Use rs6000_offsettable_memref_p instead of a less accurate predicate.
7294
243cc836
JL
72952006-03-24 Jeff Law <law@redhat.com>
7296
7297 * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work
7298 around bug in immediate-use iterator.
7299
5b314bb3
AM
73002006-03-24 Alan Modra <amodra@bigpond.net.au>
7301
7302 PR target/26607
7303 * config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__
7304 or __LITTLE_ENDIAN__.
7305
b368d6b8
R
73062006-03-23 J"orn Rennecke <joern.rennecke@st.com>
7307
7308 * config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files.
7309 * config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant.
7310 * config/sh/t-sh (LIB1ASMFUNCS): Add _div_table.
7311 * config/sh/sh.opt (mdiv=): Amend description.
7312 * config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro.
7313 (TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise.
7314 (sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1,
7315 SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC.
7316 (OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1.
7317 Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros.
7318 * config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns.
7319 (udivsi3, divsi3): Use them. Check TARGET_DIVIDE_CALL_TABLE /
7320 TARGET_DIVIDE_CALL_FP.
7321
a57aee2a
MK
73222006-03-23 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
7323
7324 * haifa-sched.c (choose_ready): Fix type of the local variable.
7325 Move local variables. Add comment.
7326 (check_reg_live): Change signature. Make callable from debugger.
7327 * sched-int.h (check_reg_live): Update signature.
7328 * sched-ebb.c (check_reg_live): Update parameters.
7329 * sched-rgn.c (check_reg_live): Ditto.
7330 (region_head_or_leaf_p): Check pointer before dereferencing.
7331 * config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation
7332 before reload on optimization levels below 1.
7333
dec6909b
RH
73342006-03-23 Richard Henderson <rth@redhat.com>
7335
e584065d
RH
7336 * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject
7337 tls symbols.
7338
dec6909b
RH
7339 PR target/26347
7340 * config/alpha/predicates.md (local_symbolic_operand): Reject
7341 weak symbols.
7342
60fee157
AP
73432006-03-23 Andrew Pinski <pinskia@physics.uc.edu>
7344
7345 PR tree-opt/26795
7346 * tree-ssa-pre.c (create_value_expr_from): Don't reject
7347 expressions which have overflowed constants.
7348
79b9dd8c
ZD
73492006-03-23 Zdenek Dvorak <dvorakz@suse.cz>
7350
7351 * cse.c (cse_end_of_basic_block): Do not check for LOOP_END note.
7352
054a09fb
ZD
73532006-03-23 Zdenek Dvorak <dvorakz@suse.cz>
7354
7355 * cfgloopmanip.c (create_loop_notes): Removed.
7356 * final.c (final_scan_insn): Do not handle loop notes.
7357 * jump.c (squeeze_notes): Ditto.
7358 * cfglayout.c (skip_insns_after_block,
7359 duplicate_insn_chain): Ditto.
7360 * cfgcleanup.c (rest_of_handle_jump2): Do not call
7361 create_loop_notes.
7362 * cfgloop.h (create_loop_notes): Declaration removed.
7363
c16ba1d5
RS
73642006-03-23 Richard Sandiford <richard@codesourcery.com>
7365
7366 * varasm.c (output_constant_pool): Restore fnname and fndecl
7367 arguments.
7368 (assemble_start_function): Adjust call accordingly.
7369 (assemble_end_function): Likewise.
7370
698cf1c8
VR
73712006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7372
91d876d9 7373 PR mudflap/26789
7a752640
VR
7374 * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects.
7375
91d876d9 7376 PR mudflap/26790
698cf1c8
VR
7377 * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node.
7378
ddaf3b86
VR
73792006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7380
7381 PR driver/22600
7382 * system.h (ICE_EXIT_CODE): New macro.
7383 * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE.
7384 (diagnostic_action_after_output): Likewise.
7385 * gcc.c (fatal_ice): New function.
7386 (execute): Use it instead of fatal.
7387 (fancy_abort): Likewise.
7388 * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs.
7389
4dc7782d
JL
73902006-03-22 Jeff Law <law@redhat.com>
7391
7392 * loop-unroll.c (analyze_iv_to_split_insn): Handle
7393 iv_analyze_result returning false.
7394
f328a23a
JZ
73952006-03-22 Jie Zhang <jie.zhang@analog.com>
7396
7397 * config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove.
7398
fad41cd7
RH
73992006-03-22 Richard Henderson <rth@redhat.com>
7400
7401 PR middle-end/26084
7402 * except.c (duplicate_eh_regions_0): New.
7403 (duplicate_eh_region_1): Duplicate the children of the node as
7404 well as the node itself. Link them up properly.
7405 (duplicate_eh_region_2): Merge into ...
7406 (duplicate_eh_regions): ... here. Take copy_region argument, and
7407 copy only a sub-tree if asked. Simplify copying and fixup.
7408 (eh_region_outer_p): New.
7409 * except.h (duplicate_eh_regions): Update decl.
7410 (eh_region_outer_p): Declare.
7411 * omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN.
7412 (lower_omp_master): Likewise.
7413 (lower_omp_ordered): Likewise.
7414 * tree-cfg.c (struct move_stmt_d): Add new_label_map.
7415 (move_stmt_r): Use it to remap labels. Handle recursion vs
7416 remap_decls_p properly.
7417 (move_block_to_fn): Pass in new_label_map. Remap RESX_EXPR.
7418 (find_outermost_region_in_block): New.
7419 (new_label_mapper): New.
7420 (move_sese_region_to_fn): Copy eh information to the new function
7421 properly.
7422 * tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions
7423 argument.
7424 * tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region
7425 number.
7426
bc4a3483
RS
74272006-03-22 Richard Sandiford <richard@codesourcery.com>
7428
7429 * doc/md.texi (-mshared): Mention that -mshared code can be linked
7430 into shared libraries.
7431
08b1e29a
RS
74322006-03-22 Richard Sandiford <richard@codesourcery.com>
7433
7434 * doc/md.texi: Refer to i386/constraints.md instead of
7435 i386/predicates.md.
7436 * config/i386/constraints.md: New file, extracted from...
7437 * config/i386/predicates.md: ...here.
7438 * config/i386/i386.md: Include constraints.md.
7439
5b5cba1f
JM
74402006-03-21 Jason Merrill <jason@redhat.com>
7441
ac382b62
JM
7442 * builtins.c (expand_builtin_fork_or_exec): Fix pasto.
7443
5b5cba1f
JM
7444 PR middle-end/20297
7445 * expr.c (init_block_move_fn): Force default visibility.
7446 (init_block_clear_fn): Likewise.
7447 * builtins.c (expand_builtin_fork_or_exec): Likewise.
7448 * targhooks.c (default_external_stack_protect_fail): Likewise.
7449
d9870b7e
RS
74502006-03-21 Richard Sandiford <richard@codesourcery.com>
7451
7452 * config/mips/predicates.md (const_call_insn_operand): Allow direct
7453 calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
7454 * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS.
7455 Use TARGET_OLDABI instead of !TARGET_NEWABI.
7456 (loadgp): Use mips_current_loadgp_style.
7457 (loadgp_noshared): New pattern.
7458 (sibcall_internal): Use MIPS_CALL.
7459 (sibcall_value_internal): Likewise.
7460 (sibcall_value_multiple_internal): Likewise.
7461 (call_internal): Likewise.
7462 (call_value_internal): Likewise.
7463 (call_value_multiple_internal): Likewise.
7464 (call_split): Use MIPS_CALL and add an 'S' constraint.
7465 (call_value_split): Likewise.
7466 (call_value_multiple_split): Likewise.
7467 * config/mips/mips.opt (-mabicalls): Tweak docstring.
7468 (-mshared): New option.
7469 * config/mips/mips-protos.h (mips_loadgp_style): New enum.
7470 (mips_current_loadgp_style): Declare.
7471 * config/mips/mips.c (mips_classify_symbol): Avoid using
7472 SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL
7473 rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if
7474 TARGET_ABSOLUTE_ABICALLS.
7475 (override_options): Adjust comments. Improve the warning that is
7476 issued when -mabicalls and -G are used together.
7477 (mips_file_start): Remove comment.
7478 (mips_current_loadgp_style): New function.
7479 (mips_gnu_local_gp): New variable.
7480 (mips_emit_loadgp): Use mips_current_loadgp_style. Handle
7481 LOADGP_ABSOLUTE.
7482 (mips_output_function_prologue): Use mips_current_laodgp_style.
7483 (mips_expand_prologue): Call mips_emit_loadgp before emitting
7484 the cprestore instruction.
7485 (mips_extra_live_on_entry): Fix reversed test. Don't make $25
7486 live for TARGET_ABSOLUTE_ABICALLS.
7487 * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro.
7488 (ASM_SPEC): Pass down -mshared and -mno-shared.
7489 (MIPS_CALL): New macro.
7490 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__
7491 definition.
7492 * doc/invoke.texi (-mabicalls): Update documentation.
7493 (-mshared): Document.
7494
487d9a61
SE
74952006-03-21 Steve Ellcey <sje@cup.hp.com>
7496
7497 * config/ia64/unwind-hpux.c: New file.
7498 * config/ia64/t-hpux: Add unwind-hpux.c to libgcc.
7499
f7da48ef
SE
75002006-03-21 Steve Ellcey <sje@cup.hp.com>
7501
7502 PR libgomp/26384
7503 * config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options.
7504
a3b196e3
JL
75052006-03-21 Jeff Law <law@redhat.com>
7506
7507 * tree-vrp.c (extract_range_from_unary_expr): Derive ranges for
7508 type conversions of a VR_VARYING source to a wider type.
7509
ec23ed60
EB
75102006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
7511
7512 * config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to
7513 tm_file on Solaris 10 and later.
7514 (sparc64-*-solaris2*): Likewise.
7515 (sparc-*-solaris2*): Likewise.
7516 * config/sol26.h: Rename to config/sol2-6.h.
7517 * config/sol2-10.h: New file.
7518
5ded46eb
AP
75192006-03-21 Andrew Pinski <pinskia@physics.uc.edu>
7520
7521 PR tree-opt/26781
7522 * tree-ssa-pre.c (create_component_ref_by_pieces):
7523 Handle STRING_CST.
7524
3c9bb46e
JJ
75252006-03-21 Jakub Jelinek <jakub@redhat.com>
7526
7527 PR c++/26690
7528 * tree.c (get_callee_fndecl): If CALL is error_mark_node,
7529 return it immediately.
7530
b6bbd675
MM
75312006-03-21 Michael Matz <matz@suse.de>
7532
7533 * genautomata.c (<struct state>, num_out_arcs, presence_signature):
7534 New members.
7535 (remove_arc, add_arc): Update num_out_arcs member.
7536 (set_out_arc_insns_equiv_num): Returns nothing instead of number
7537 of out arcs.
7538 (cache_presence): New function.
7539 (compare_states_for_equiv): New function.
7540 (state_is_differed): Don't take number of outargs, adjust callers.
7541 Use new invariant for speeding up.
7542 (init_equiv_class): Create initial classes based on sorted
7543 input.
7544 (partition_equiv_class): Don't track out_arcs_num.
7545 (evaluate_equiv_classes): Call cache_presence on all states and
7546 sort them.
7547
c4963a0a
BS
75482006-03-21 Bernd Schmidt <bernd.schmidt@analog.com>
7549
7550 * config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare.
7551 * config/bfin/bfin.c (bfin_dsp_memref_p): New function.
7552 (bfin_valid_reg_p): Test for pseudos explicitly and use only
7553 REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all
7554 callers changed.
7555 * config/bfin/bfin.h (PREG_P): Use P_REGNO_P.
7556 (IREG_P, P_REGNO_P, I_REGNO_P): New macros.
7557 (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS.
7558 (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
7559 REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete
7560 macros.
7561 (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS,
7562 REGNO_MODE_CODE_OK_FOR_BASE_P): New macros.
7563 (REGNO_REG_CLASS): ARGP is in PREGS.
7564 * config/bfin/bfin.md (movhi_insn): Allow for addresses containing
7565 IREGS.
7566 (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split
7567 to deal with those addresses.
7568 * addresses.h: New file.
7569 * caller-save.c: Include "addresses.h".
7570 (init_caller_save): Use new base_reg_class function.
7571 * rtl-factoring.c: Include "addresses.h".
7572 (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1.
7573 * recog.c: Include "addresses.h".
7574 (preprocess_constraints): Use new base_reg_class function.
7575 * regrename.c: Include "addresses.h".
7576 (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class
7577 functions. Keep track of a new var INDEX_CODE to compute valid
7578 classes.
7579 (replace_oldest_value_addr): Likewise.
7580 (replace_oldest_value_mem): Use base_reg_class.
7581 * reload.c: Include "addresses.h".
7582 (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros.
7583 (find_reloads): Use new base_reg_class function.
7584 (find_reloads_address): Likewise; also use regno_ok_for_base_p.
7585 (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE;
7586 all callers and prototype changed.
7587 * reload1.c: Include "addresses.h".
7588 (maybe_fix_stack_asms): Use base_reg_class.
7589 * regclass.c: Include "addresses.h".
7590 (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions.
7591 (init_reg_autoinc): Use new base_reg_class function.
7592 (record_reg_classes): Likewise.
7593 (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE,
7594 OUTER_CODE and INDEX_CODE. All callers and prototype changed.
7595 Use new args to compute necessary class.
7596
7597 * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o,
7598 regrename.o, rtl-factoring.o): Update dependencies.
7599 * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document.
7600 (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
7601 (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P,
7602 REG_OK_FOR_INDEX_P): Delete documentation.
7603
69bdb292
AS
76042006-03-21 Alexey Starovoytov <alexey.starovoytov@sun.com>
7605
7606 * config.gcc (sparc-*-solaris2*): Change the default CPU setting
7607 from V7 to V9 for Solaris 7 and above.
7608
0698a1d2
TM
76092006-03-21 Toon Moene <toon@moene.indiv.nluug.nl>
7610
7611 * doc/invoke.texi: Document new flag -fargument-noalias-anything.
7612 * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2,
7613 argument pointers may not alias any other storage.
7614 * common.opt: Define option -fargument-noalias-anything.
7615 * tree-ssa-structalias.c (intra_create_variable_infos): Fortran
7616 alias semantics is specified by flag_argument_noalias > 2.
7617
ee51e035 76182006-03-20 Jeff Law <law@redhat.com>
e67c25c7
JL
7619
7620 * tree-pass.h (pass_phi_only_copy_prop): Delete.
7621 (pass_phi_only_cprop): Declare.
7622 * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop
7623 with phi_only_cprop
7624 * tree-ssa-dom.c (degenerate_phi_result): New function.
7625 (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise.
7626 (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise.
7627 (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise.
7628 (eliminate_degenerate_phis): Likewise.
7629 (pass_phi_only_cprop): New pass descriptor.
7630 * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and
7631 support code. Callers updated.
7632 (execute_copy_prop, do_copy_prop): Likewise and corresponding changes.
7633 (store_copy_prop): Likewise.
7634 (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove.
7635
0ed5edac
JM
76362006-03-20 Jason Merrill <jason@redhat.com>
7637
7638 PR c++/21764
7639 * c-pragma.c (visstack): Move out of handle_pragma_visibility.
7640 (push_visibility, pop_visibility): Likewise.
7641 * c-pragma.h: Declare them.
7642
c6d56443
KK
76432006-03-20 Kaz Kojima <kkojima@gcc.gnu.org>
7644
7645 * config/sh/sh.c (untangle_mova): Initialize n_addr and n_target.
7646
7647 * config/sh/sh.c (find_regmode_weight): Change the type of the first
7648 parameter and use get_ebb_head_tail.
7649 (sh_md_init_global): Adjust uses of find_regmode_weight.
7650
ede497cf
SB
76512006-03-20 Steven Bosscher <stevenb.gcc@gmail.com>
7652
7653 * function.h (struct function) <x_tail_recursion_reentry>:
7654 Rename to x_stack_check_probe_note.
7655 (tail_recursion_reentry): Rename to stack_check_probe_note.
7656 * function.c: Replace tail_recursion_reentry with
7657 stack_check_probe_note everywhere.
7658 (expand_function_start): Only emit a note for
7659 stack_check_probe_note with -fstack-protect.
7660 * stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes.
7661
7662 * emit-rtl.c (remove_unnecessary_notes): Remove.
7663 (pass_remove_unnecessary_notes): Remove.
7664 * rtl.h (remove_unnecessary_notes): Remove prototype.
7665 * final.c (final_start_function): Don't call remove_unnecessary_notes.
7666 * tree-pass.h (pass_remove_unnecessary_notes): Remove.
7667 * passes.c (pass_remove_unnecessary_notes): Don't run it.
7668
e13f1c14
AP
76692006-03-20 Andrew Pinski <pinskia@physics.uc.edu>
7670
7671 PR tree-opt/26629
7672 * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands.
7673 (valid_in_set): Handle ARRAY_REF.
7674 Change "if min_variant or VH" to asserts.
7675 (create_component_ref_by_pieces): Handle ARRAY_REF.
7676 (create_expression_by_pieces): Likewise.
7677 (can_PRE_operation): ARRAY_REFs can now be PRE'd.
7678
7a22dbec
DE
76792006-03-20 David Edelsohn <edelsohn@gnu.org>
7680
7681 * genpreds.c (write_insn_extra_address_constraint): Argument `c'
7682 is operand of switch, not str[0].
7683
e0bf274f
AM
76842006-03-20 Alan Modra <amodra@bigpond.net.au>
7685
7686 * config/rs6000/rs6000.c (rs6000_handle_option): Use
7687 TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too.
7688
e800e79b
DE
76892006-03-19 David Edelsohn <edelsohn@gnu.org>
7690
7691 * genpreds.c (write_tm_preds_h): Add semicolon and newline at
7692 end of insn_extra_address_constraint declaration.
7693
d2894ab5
DE
76942006-03-19 David Edelsohn <edelsohn@gnu.org>
7695
7696 * config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask.
7697 (no-sum-in-toc): Same.
7698 * config/rs6000/rs6000.c (rs6000_handle_option): Use new
7699 variables.
7700 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
7701 NO_FP_IN_TOC for -fPIC instead of mask.
7702
7703 * config/rs6000/t-aix43 (T_ADAFLAGS): Delete.
7704 (BOOT_LDFLAGS): Delete.
7705 (LDFLAGS): Delete.
7706 * config/rs6000/t-aix52: Same.
7707
7708 * config/rs6000/rs6000.md (store_multiple_power): Delete.
7709 (stmsi[345678]_power): New.
7710
30b82356
SE
77112006-03-17 Steve Ellcey <sje@cup.hp.com>
7712
7713 * config/ia64/ia64.opt: Add empty line to end of file.
7714
445a6ba4
RG
77152006-03-17 Richard Guenther <rguenther@suse.de>
7716
7717 PR middle-end/26721
7718 * builtins.c (get_pointer_alignment): For component style references
7719 adjust alignment to the component type alignment. Make sure
7720 to adjust alignment for component access of constants.
7721
ea5bd0d8
DE
77222006-03-17 David Edelsohn <edelsohn@gnu.org>
7723
7724 * config/rs6000/rs6000.md (strlensi): Emit barrier after
7725 unconditional jump.
7726
3cf94279
PB
77272006-03-17 Paul Brook <paul@codesourcery.com>
7728
7729 * doc/install.texi: Docuemnt --with-mode.
7730 * config.gcc: Add --with-mode for arm*-*-*.
7731 * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode".
7732
4241ecb0
R
77332006-03-17 J"orn Rennecke <joern.rennecke@st.com>
7734
7735 * sh.c (max_labelno_before_reorg): New variable.
7736 (sh_reorg): Initialize it.
7737 (find_barrier): Check max_labelno_before_reorg before using
7738 label_to_alignment. Take length of explicit alignment insns
7739 into account. When seeing a UNSPECV_CONST_END, return it.
7740
7741 * sh.c (fixup_mova): Set mode of affected label to QImode.
7742 (untangle_mova): New function.
7743 (find_barrier): Use it. Check mode of label before decrementing
7744 num_mova.
7745 (sh_reorg): Likewise.
7746 Set mode of all insns back to VOIDmode.
7747
7748 * sh.c (MOVA_LABELREF): New macro.
7749 (mova_p, fixup_mova, sh_reorg): Use it.
7750 (find_barrier, sh_reorg): Don't count num_mova back to 0 unless
7751 ADDR_DIFF_VEC matches mova.
7752
79252435
SB
77532006-03-17 Steven Bosscher <stevenb.gcc@gmail.com>
7754
7755 * dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument
7756 with ATTRIBUTE_UNUSED.
7757
6a037308
AO
77582006-03-17 Alexandre Oliva <aoliva@redhat.com>
7759
7760 * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
7761 pointer, instead of assuming it is possible to derive the
7762 correct args size from a call insn.
7763
d97c1295
JBG
77642006-03-16 Jan-Benedict Glaw <jbglaw@lug-owl.de>
7765
7766 * rtl.h (CONST_INT_P): Define.
7767 * config/vax/vax.c (print_operand_address): Use CONST_INT_P()
7768 instead of GET_CODE(x) == CONST_INT.
7769 (vax_rtx_costs): Likewise.
7770 (vax_output_int_move): Likewise.
7771 (vax_output_int_add): Likewise.
7772 (legitimate_constant_address_p): Likewise.
7773 (index_term_p): Likewise.
7774 * config/vax/vax.h (PRINT_OPERAND): Likewise.
7775 * config/vax/vax.md (and<mode>3): Likewise.
7776 (ashrsi3): Likewise.
7777 (extv): Likewise.
7778 (movstricthi): Likewise.
7779 (movstrictqi): Likewise.
7780 (rotrsi3): Likewise.
7781 (five unnamed insns): Likewise.
7782
192d0f89
GK
77832006-03-16 Geoffrey Keating <geoffk@apple.com>
7784
7785 * doc/tm.texi (SDB and DWARF): Add extra parameter to
7786 ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables.
7787 * dwarf2asm.h (dw2_asm_output_offset): Add section parameter.
7788 * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter.
7789 Pass to ASM_OUTPUT_DWARF_OFFSET.
7790 * dwarf2out.c (debug_frame_section): New.
7791 (output_call_frame_info): Use debug_frame_section. Pass it to
7792 dw2_asm_output_offset.
7793 (output_die): Pass appropriate section to dw2_asm_output_offset.
7794 (output_compilation_unit_header): Likewise.
7795 (output_pubnames): Likewise.
7796 (output_aranges): Likewise.
7797 (enum dw_val_class): Break dw_val_class_lbl_offset into
7798 dw_val_class_lineptr and dw_val_class_macptr.
7799 (add_AT_lbl_offset): Delete.
7800 (add_AT_lineptr): New.
7801 (add_AT_macptr): New.
7802 (AT_lbl): Expect a lineptr or macptr.
7803 (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr.
7804 (attr_checksum): Likewise.
7805 (same_dw_val_p): Likewise.
7806 (size_of_die): Likewise.
7807 (value_format): Likewise.
7808 (output_die): Likewise.
7809 (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of
7810 add_AT_lbl_offset.
7811 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
7812 * config/i386/i386.c (x86_file_start): Call darwin_file_start.
7813 * config/darwin-protos.h (darwin_file_start): New.
7814 (darwin_asm_output_dwarf_offset): New.
7815 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
7816 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call
7817 darwin_file_start.
7818 * config/darwin.c (darwin_emit_unwind_label): Don't output label
7819 if not EH section; simplify.
7820 (darwin_file_start): New.
7821 (darwin_asm_output_dwarf_offset): New.
7822 * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment,
7823 mark as 'debug'.
7824 (DEBUG_INFO_SECTION): Likewise.
7825 (DEBUG_ABBREV_SECTION): Likewise.
7826 (DEBUG_ARANGES_SECTION): Likewise.
7827 (DEBUG_MACINFO_SECTION): Likewise.
7828 (DEBUG_LINE_SECTION): Likewise.
7829 (DEBUG_LOC_SECTION): Likewise.
7830 (DEBUG_PUBNAMES_SECTION): Likewise.
7831 (DEBUG_STR_SECTION): Likewise.
7832 (DEBUG_RANGES_SECTION): Likewise.
7833 (FRAME_BEGIN_LABEL): Must start with 'L' in debug section.
7834 (ASM_OUTPUT_DWARF_OFFSET): New.
7835
620b87b3
JM
78362006-03-16 Joseph S. Myers <joseph@codesourcery.com>
7837
7838 * config.gcc (tm_defines): Always add to previous value rather
7839 than replacing it.
7840
ea462dd0
RS
78412006-03-16 Richard Sandiford <richard@codesourcery.com>
7842
7843 * config/mips/predicates.md (splittable_const_int_operand): New,
7844 split from move_operand.
7845 (splittable_symbolic_operand): New.
7846 (move_operand): Add commentary. Use splittable_const_int_operand.
7847 Inline mips_atomic_symbolic_constant_p.
7848 * config/mips/mips.md: Add combine splitters for handling moves
7849 of splittable_const_int_operands and splittable_symbolic_operands.
7850 * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete.
7851 (mips_split_symbol): Declare.
7852 (mips_move_integer): Declare.
7853 * config/mips/mips.c (mips_split_p): Make global.
7854 (TARGET_MIN_ANCHOR_OFFSET): Override default.
7855 (TARGET_MAX_ANCHOR_OFFSET): Likewise.
7856 (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
7857 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise.
7858 (mips_offset_within_object_p): Handle block symbols.
7859 (mips_atomic_symbolic_constant_p): Delete.
7860 (mips_cannot_force_const_mem): Return false for constants that
7861 mips_legitimize_move can handle.
7862 (mips_use_blocks_for_constant_p): New function.
7863 (mips_split_symbol): Make global.
7864 (mips_move_integer): Likewise. Add a temporary register argument.
7865 (mips_legitimize_const_move): Use splittable_const_int_operand and
7866 splittable_symbolic_operand.
7867 (mips_use_anchors_for_symbol_p): New function.
7868 * config/mips/mips.h: Protect externs with !USED_FOR_TARGET.
4b1c1f6f 7869 (mips_split_p): Declare.
ea462dd0 7870
5d2a73d5
RS
78712006-03-16 Richard Sandiford <richard@codesourcery.com>
7872
7873 * config.gcc (mips64*-*-linux*): Keep existing tm_defines.
7874 (mips*-*-linux*): Likewise.
7875
da54e73b
RS
78762006-03-16 Roger Sayle <roger@eyesopen.com>
7877 Daniel Speyer <dspeyer@wam.umd.edu>
7878
7879 PR middle-end/18259
7880 * tree-dump.c (dump_real): New function.
7881 (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants.
7882 * Makefile.in (REAL_H): New macro for dependencies on real.h.
7883 (tree-dump.o): Add $(REAL_H) to the dependencies.
7884
a47564c8
RS
78852006-03-16 Roger Sayle <roger@eyesopen.com>
7886
7887 PR middle-end/21781
7888 * real.c (real_from_string): If the mantissa is zero, don't bother
7889 parsing the exponent as the result should always be zero.
7890
349f4ea1
AK
78912006-03-16 Andreas Krebbel <krebbel1@de.ibm.com>
7892
7893 * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms.
7894
048d0d36
MK
78952006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
7896
dec6909b
RH
7897 * config/ia64/ia64.c (stops_p): Added explicit initialization.
7898 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
7899 ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn,
7900 ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global,
048d0d36
MK
7901 ia64_sched_finish_global): New static functions to implement
7902 hooks from gcc_target.sched.
7903 (spec_check_no, max_uid, pending_data_specs): New static variables.
dec6909b 7904 (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p,
048d0d36 7905 ia64_spec_check_src_p): New static functions.
dec6909b
RH
7906 (ia64_adjust_cost): Renamed to ia64_adjust_cost_2.
7907 (TARGET_SCHED_ADJUST_COST): Removed.
7908 (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL,
048d0d36
MK
7909 TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED,
7910 TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
7911 TARGET_SCHED_GEN_CHECK,
7912 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
dec6909b
RH
7913 TARGET_SCHED_SET_SCHED_FLAGS): New macros.
7914 (update_set_flags, group_barrier_needed, set_src_needs_barrier):
048d0d36 7915 Fixed to handle speculation checks.
dec6909b
RH
7916 (rtx_needs_barrier): Fixed to handle speculative loads and
7917 their checks.
7918 (ia64_variable_issue): Added code to count speculative loads and their
7919 checks.
7920 (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle
7921 speculative loads.
7922 (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET):
7923 New enumerations.
7924 (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET):
7925 New constants.
7926 (ia64_ld_address_bypass_p): Fixed to handle speculative loads.
048d0d36 7927 (ia64_reorg): Reset stops_p to NULL after it is freed.
dec6909b 7928 * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA,
048d0d36 7929 UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants.
dec6909b
RH
7930 (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f,
7931 chk_a.
7932 (data_speculative, control_speculative, check_load): New attributes.
7933 (mov<mode>_advanced, mov<mode>_speculative,
7934 mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced,
7935 zero_extend<mode>di2_speculative,
7936 zero_extend<mode>di2_speculative_advanced): New patterns for
7937 data and control speculative loads.
7938 (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for
7939 check loads.
7940 (advanced_load_check_clr_<mode>, speculation_check_<mode>):
7941 New pattern for data and control speculation checks.
048d0d36
MK
7942 (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr,
7943 ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr,
7944 reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes):
7945 Auxiliary definitions for the patterns.
dec6909b
RH
7946 * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a,
7947 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource
7948 constraints.
048d0d36 7949 (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition
dec6909b
RH
7950 for speculation.
7951 (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i.
7952 * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f,
048d0d36
MK
7953 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a):
7954 New resource constraints.
7955 (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition
dec6909b
RH
7956 for speculation.
7957 (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i.
7958 * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec,
7959 msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
7960 msched-in-control-spec, msched-ldc, msched-control-ldc,
7961 msched-spec-verbose, msched-prefer-non-data-spec-insns,
7962 msched-prefer-non-control-spec-insns,
048d0d36
MK
7963 msched-count-spec-in-critical-path): New flags to tune speculative
7964 scheduling.
7965 * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec,
dec6909b
RH
7966 msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
7967 msched-in-control-spec, msched-ldc, msched-control-ldc,
7968 msched-spec-verbose, msched-prefer-non-data-spec-insns,
7969 msched-prefer-non-control-spec-insns,
048d0d36
MK
7970 msched-count-spec-in-critical-path): Document new flags.
7971
496d7bb0
MK
79722006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
7973
dec6909b
RH
7974 * target.h (struct spec_info_def): New opaque declaration.
7975 (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended,
7976 speculate_insn, needs_block_p, gen_check,
7977 first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags.
7978 * target-def.h (TARGET_SCHED_ADJUST_COST_2,
7979 TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN,
7980 TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK,
7981 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
7982 TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in
7983 gcc_target.sched.
7984 (TARGET_SCHED): Use new macros.
7985 * rtl.h (copy_DEPS_LIST_list): New prototype.
7986 * sched-int.h (struct sched_info): Change signature of new_ready field,
496d7bb0 7987 adjust all initializations. New fields: add_remove_insn,
dec6909b 7988 begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg,
496d7bb0 7989 region_head_or_leaf_p.
dec6909b
RH
7990 (struct spec_info_def): New structure declaration.
7991 (spec_info_t): New typedef.
7992 (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec,
7993 recovery_block, orig_pat.
7994 (glat_start, glat_end): New variables declaraions.
7995 (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT):
496d7bb0 7996 New access macros.
dec6909b
RH
7997 (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB,
7998 DETACH_LIFE_INFO, USE_GLAT.
7999 (enum SPEC_SCHED_FLAGS): New enumeration.
8000 (NOTE_NOTE_BB_P): New macro.
8001 (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block,
8002 attach_life_info, debug_spec_status, check_reg_live): New functions.
8003 (get_block_head_tail): Change signature to get_ebb_head_tail, adjust
8004 all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c,
8005 sched-ebb.c
496d7bb0 8006 (get_dep_weak, ds_merge): Prototype functions from sched-deps.c .
dec6909b
RH
8007 * ddg.c (get_block_head_tail): Adjust all uses.
8008 * modulo-sched.c (get_block_head_tail): Adjust all uses.
496d7bb0
MK
8009 (sms_sched_info): Initialize new fields.
8010 (contributes_to_priority): Removed.
dec6909b 8011 * haifa-sched.c (params.h): New include.
496d7bb0 8012 (get_block_head_tail): Adjust all uses.
dec6909b
RH
8013 (ISSUE_POINTS): New macro.
8014 (glat_start, glat_end): New global variables.
8015 (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data,
496d7bb0
MK
8016 nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header,
8017 old_last_basic_block, before_recovery, current_sched_info_var,
8018 rgn_n_insns, luid): New static variables.
dec6909b
RH
8019 (insn_cost1): New function. Move logic from insn_cost to here.
8020 (find_insn_reg_weight1): New function. Move logic from
8021 find_insn_reg_weight to here.
8022 (reemit_notes, move_insn, max_issue): Change signature.
8023 (move_insn1): Removed.
8024 (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d,
8025 extend_bb): New static functions to support extension of scheduler's
8026 data structures.
8027 (generate_recovery_code, process_insn_depend_be_in_spec,
8028 begin_speculative_block, add_to_speculative_block,
8029 init_before_recovery, create_recovery_block, create_check_block_twin,
8030 fix_recovery_deps): New static functions to support
8031 generation of recovery code.
8032 (fix_jump_move, find_fallthru_edge, dump_new_block_header,
8033 restore_bb_notes, move_block_after_check, move_succs): New static
8034 functions to support ebb scheduling.
8035 (init_glat, init_glat1, attach_life_info1, free_glat): New static
8036 functions to support handling of register live information.
8037 (associate_line_notes_with_blocks, change_pattern, speculate_insn,
496d7bb0
MK
8038 sched_remove_insn, clear_priorities, calc_priorities, bb_note,
8039 add_jump_dependencies): New static functions.
dec6909b 8040 (check_cfg, has_edge_p, check_sched_flags): New static functions for
496d7bb0
MK
8041 consistancy checking.
8042 (debug_spec_status): New function to call from debugger.
8043 (priority): Added code to handle speculation checks.
8044 (rank_for_schedule): Added code to distinguish speculative instructions.
8045 (schedule_insn): Added code to handle speculation checks.
8046 (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes):
8047 Fixed to handle ebbs.
dec6909b 8048 (move_insn): Added code to handle ebb scheduling.
496d7bb0 8049 (max_issue): Added code to use ISSUE_POINTS of instructions.
dec6909b
RH
8050 (choose_ready): Added code to choose between speculative and
8051 non-speculative instructions.
8052 (schedule_block): Added code to handle ebb scheduling and scheduling of
8053 speculative instructions.
8054 (sched_init): Initialize new variables.
8055 (sched_finish): Free new variables. Print statistics.
8056 (try_ready): Added code to handle speculative instructions.
8057 * lists.c (copy_DEPS_LIST_list): New function.
8058 * sched-deps.c (extend_dependency_caches): New function. Move logic
8059 from create_dependency_caches to here.
496d7bb0 8060 (get_dep_weak, ds_merge): Make global.
dec6909b
RH
8061 * genattr.c (main): Code to output prototype for
8062 dfa_clear_single_insn_cache.
8063 * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros.
8064 (output_dfa_clean_insn_cache_func): Code to output
8065 dfa_clear_single_insn_cache function.
8066 * sched-ebb.c (target_n_insns): Remove. Adjust all users to use
496d7bb0 8067 n_insns.
dec6909b
RH
8068 (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs):
8069 Removed.
8070 (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb):
8071 New static variables.
8072 (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb,
496d7bb0
MK
8073 fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from
8074 struct sched_info.
dec6909b 8075 (ebb_sched_info): Initialize new fields.
496d7bb0
MK
8076 (get_block_head_tail): Adjust all uses.
8077 (compute_jump_reg_dependencies): Fixed to use glat_start.
8078 (schedule_ebb): Code to remove unreachable last block.
dec6909b
RH
8079 (schedule_ebbs): Added code to update register live information.
8080 * sched-rgn.c (region_sched_info): Initialize new fields.
496d7bb0
MK
8081 (get_block_head_tail): Adjust all uses.
8082 (last_was_jump): Removed. Adjust users.
dec6909b 8083 (begin_schedule_ready, add_remove_insn, insn_points, extend_regions,
496d7bb0
MK
8084 add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p):
8085 Implement new hooks.
dec6909b
RH
8086 (check_dead_notes1): New static function.
8087 (struct region): New fields: dont_calc_deps, has_real_ebb.
8088 (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros.
8089 (BB_TO_BLOCK): Fixed to handle EBBs.
8090 (EBB_FIRST_BB, EBB_LAST_BB): New macros.
8091 (ebb_head): New static variable.
8092 (debug_regions, contributes_to_priority): Fixed to handle EBBs.
8093 (find_single_block_regions, find_rgns, find_more_rgns): Initialize
496d7bb0
MK
8094 new fields.
8095 (compute_dom_prob_ps): New assertion.
dec6909b
RH
8096 (check_live_1, update_live_1): Fixed to work with glat_start instead of
8097 global_live_at_start.
496d7bb0
MK
8098 (init_ready_list): New assertions.
8099 (can_schedule_ready_p): Split update code to begin_schedule_ready.
8100 (new_ready): Add support for BEGIN_CONTROL speculation.
dec6909b
RH
8101 (schedule_insns): Fixed code that updates register live information
8102 to handle EBBs.
8103 (schedule_region): Fixed to handle EBBs.
496d7bb0 8104 (init_regions): Use extend_regions and check_dead_notes1.
dec6909b
RH
8105 * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY,
8106 PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters.
496d7bb0
MK
8107 * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED,
8108 TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
8109 TARGET_SCHED_GEN_CHECK,
8110 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
8111 TARGET_SCHED_SET_SCHED_FLAGS): Document.
dec6909b 8112 * doc/invoke.texi (max-sched-insn-conflict-delay,
496d7bb0
MK
8113 sched-spec-prob-cutoff): Document.
8114
63f54b1a
MK
81152006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
8116
dec6909b 8117 * sched-int.h (struct haifa_insn_data): New fields: resolved_deps,
63f54b1a
MK
8118 inter_tick, queue_index.
8119 (struct sched_info): Change signature of init_ready_list field.
8120 Adjust all initializations.
8121 (RESOLVED_DEPS): New access macro.
8122 (ready_add): Remove prototype.
8123 (try_ready): Add prototype.
8124 * sched-rgn.c (init_ready_list): Use try_ready.
8125 (schedule_region): Initialize
8126 current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}.
8127 * sched-ebb.c (new_ready): Remove. Adjust ebb_sched_info.
8128 (init_ready_list): Use try_ready.
8129 (schedule_ebb): Initialize current_sched_info->sched_max_insns_priority.
8130 * lists.c (remove_list_elem): Remove `static'.
8131 (remove_free_INSN_LIST_elem): New function.
8132 * rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes.
8133 * haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros.
8134 (INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY):
8135 New constants.
8136 (readyp): New variable.
8137 (queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready,
8138 change_queue_index, resolve_dep): New static functions.
8139 (try_ready): New function. Adjust callers in sched-rgn.c and
8140 sched-ebb.c to use it instead of ready_add.
8141 (clock_var): Move at the begining of file.
8142 (rank_for_schedule): Fix typo.
8143 (queue_insn): Add assertion. Handle QUEUE_INDEX.
8144 (ready_lastpos): Enforce assertion.
8145 (ready_add): Make it static. Handle QUEUE_INDEX. Add new argument,
8146 update all callers.
8147 (ready_remove_first, ready_remove): Handle QUEUE_INDEX.
8148 (schedule_insn): Rewrite to use try_ready and resolve_dep.
8149 (queue_to_ready): Use free_INSN_LIST_list.
8150 (early_queue_to_ready): Fix typo.
8151 (schedule_block): Init readyp. Move init_ready_list call after the
8152 initialization of clock_var. Fix error in rejecting insn by
8153 targetm.sched.dfa_new_cycle. Add call to fix_inter_tick. Remove code
8154 that previously corrected INSN_TICKs. Add code for handling
8155 QUEUE_INDEX.
8156 (set_priorities): Fix typo.
8157 (sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX.
8158 Clarify comment and code that keeps current_sched_info->next_tail
8159 non-null.
8160
d08eefb9
MK
81612006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
8162
8163 * sched-rgn.c (extend_rgns): New static function.
8164 (find_rgns): Use it.
8165 (gather_region_statistics, print_region_statistics): New static
8166 functions.
8167 * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter.
dec6909b 8168 * doc/invoke.texi (max-sched-extend-regions-iters): Document.
d08eefb9 8169
ddbd5439 81702006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
dec6909b 8171 Andrey Belevantsev <abel@ispras.ru>
ddbd5439
MK
8172
8173 * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
dec6909b 8174 * lists.c (unused_deps_list): New variable.
4b1c1f6f 8175 (free_list): Add assertions to verify the proper distinguishing
dec6909b
RH
8176 between INSN_LISTs and DEPS_LISTs.
8177 (find_list_elem, remove_list_elem, remove_list_node): New static
ddbd5439 8178 functions.
dec6909b
RH
8179 (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node,
8180 remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem,
8181 remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions.
8182 (alloc_INSN_LIST): Assert that the list we're working on is indeed
ddbd5439 8183 an INSN_LIST.
dec6909b 8184 (free_INSN_LIST_node): Likewise.
ddbd5439
MK
8185 * modulo-sched.c (current_sched_info): Initialize flags field.
8186 * reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT.
8187 * rtl.def (DEPS_LIST): Define.
dec6909b
RH
8188 * rtl.h: Declare new functions from lists.c.
8189 * sched-deps.c (spec_dependency_cache): New static variable.
8190 (maybe_add_or_update_back_dep_1, add_back_dep): New static functions.
8191 (add_dependence): Change return type to void. Move the logic to ...
8192 (add_or_update_back_dep_1): ... here. Handle speculative dependencies.
8193 (delete_all_dependences): Add comment about forward_dependency_cache.
ddbd5439 8194 Handle spec_dependency_cache. Handle DEPS_LISTs.
dec6909b
RH
8195 (fixup_sched_groups): Clarify the change of priority of output
8196 and anti dependencies.
8197 (sched_analyze_2): Adjust add_dependence calls to create data
ddbd5439 8198 speculative dependence.
dec6909b 8199 (add_forward_dependence): Renamed to add_forw_dep, change prototype.
ddbd5439 8200 Adjust all callers. Handle DEPS_LISTS.
dec6909b 8201 (compute_forward_dependences): Use add_forw_dep. Sort LOG_LINKs in
ddbd5439 8202 presence of speculation.
dec6909b 8203 (init_dependency_caches, free_dependency_caches):
ddbd5439 8204 Handle spec_dependency_cache.
dec6909b 8205 (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep,
ddbd5439
MK
8206 estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status):
8207 New static functions.
dec6909b 8208 (add_or_update_back_dep, add_or_update_back_forw_dep,
ddbd5439
MK
8209 add_back_forw_dep, delete_back_forw_dep): New functions.
8210 * sched-int.h (ds_t, dw_t): New typedefs.
8211 (struct sched_info): Add new field flags.
8212 (struct haifa_insn_data): Add new bitfield has_internal_dep.
8213 Prototype new sched-deps.c functions.
dec6909b 8214 (HAS_INTERNAL_DEP, DEP_STATUS): New access macros.
ddbd5439
MK
8215 (BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK,
8216 MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA,
8217 BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC,
8218 SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE,
8219 SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP):
8220 New constants.
dec6909b 8221 (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS):
ddbd5439
MK
8222 New enums.
8223 * sched-rgn.c (current_sched_info): Initialize flags field.
8224 (schedule_insns): Initialize current_sched_info before the sched_init
8225 call.
8226 * sched-ebb.c (current_sched_info): Initialize flags field.
8227 (add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P.
8228 Call add_or_update_back_dep instead of add_dependence.
8229 Create control speculative dependencies.
8230 (schedule_insns): Initialize current_sched_info before the sched_init
8231 call.
8232
3062335c
KK
82332006-03-16 Kaz Kojima <kkojima@gcc.gnu.org>
8234
8235 * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set
8236 fs->signal_frame.
8237 (sh_fallback_frame_state): Likewise.
8238
747b9f55
GK
82392006-03-15 Geoffrey Keating <geoffk@apple.com>
8240
8241 * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports.
8242 Do switch on default_use_cxa_atexit.
8243 (powerpc*-*-darwin*): Build crt2.o on powerpc.
8244 * config/darwin-crt3.o: New.
8245 * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default
8246 to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use.
8247 (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate
8248 OS version.
8249 * config/rs6000/t-darwin: Move crt2.o building to here.
8250 * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update
8251 Mac OS version for using __cxa_get_exception_ptr. Don't test versions
8252 of __cxa_atexit.
8253
79166a87
JBG
82542006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8255
8256 * config/vax/vax.c (nonindexed_address_p): Change logical negation
8257 from '! xxx' to '!xxx' for coding-style conformance.
8258 * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise.
8259 (EXTRA_CONSTRAINT): Likewise.
8260 * config/vax/vax.md (four unnamed insns): Likewise.
4b1c1f6f 8261
34a9f549
PB
82622006-03-15 Paul Brook <paul@codesourcery.com>
8263
8264 * config/arm/arm.c (minipool_pad): New.
5a281edb 8265 (add_minipool_forward_ref): Include pool alignment padding in address
34a9f549
PB
8266 calculation.
8267 (push_minipool_fix): Set minipool_pad.
8268 (minipool_pad): Ditto.
8269
ff9d4590
JBG
82702006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8271
8272 * config/vax/vax.c (split_quadword_operands): Use MEM_P()
8273 instead of GET_CODE() == MEM and REG_P() instead of
8274 GET_CODE() == REG.
8275 (print_operand_address): Likewise.
8276 (vax_address_cost): Likewise.
8277 (vax_rtx_costs): Likewise.
8278 (vax_notice_update_cc): Likewise.
8279 (vax_output_int_add): Likewise.
8280 (INDEX_REGISTER_P): Likewise.
8281 (BASE_REGISTER_P): Likewise.
8282 (nonindexed_address_p): Likewise.
8283 (vax_mode_dependent_address_p): Likewise.
8284 * config/vax/vax.h (EXTRA_CONSTRAINT): Likewise.
8285 (PRINT_OPERAND): Likewise.
8286 * config/vax/vax.md (ashlsi3): Likewise.
8287 (ashlsi3): Likewise.
8288 (some more unnamed insns): Likewise.
8289
db490c39
KH
82902006-03-15 Kazu Hirata <kazu@codesourcery.com>
8291
8292 * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an
8293 iterator-style macro.
8294 (mark_control_dependent_edges_necessary): Update the use of
8295 EXECUTE_IF_CONTROL_DEPENDENT.
8296
f705a9a0
R
82972006-03-15 J"orn Rennecke <joern.rennecke@st.com>
8298
8299 * config/sh/predicates.md (cache_address_operand): Special.
8300 (ua_address_operand): Likewise.
8301
8b96512f
ZD
83022006-03-15 Zdenek Dvorak <dvorakz@suse.cz>
8303
8304 * haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle
8305 loop notes.
8306 * sched-deps.c (sched_analyze_insn, sched_analyze): Ditto.
8307
c0fa4721
AS
83082006-03-15 Andreas Schwab <schwab@suse.de>
8309
8310 * gensupport.c (identify_predicable_attribute): Don't free p_false
8311 when it is still in use.
8312
cc0f8895
EB
83132006-03-15 Eric Botcazou <ebotcazou@libertysurf.fr>
8314
8315 * config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify
8316 the default setting here.
8317
1cba0d4e
SB
83182006-03-14 Steven Bosscher <stevenb.gcc@gmail.com>
8319
8320 * tree-pass.h (pass_cfg): Remove.
8321 * alias.c (rest_of_handle_cfg, pass_cfg): Remove.
8322 * passes.c (pass_cfg): Don't run it.
8323
e4881f23
KH
83242006-03-14 Kazu Hirata <kazu@codesourcery.com>
8325
8326 * Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.
8327 * reg-stack.c (stack_regs_mentioned_data): Change the type to
8328 VEC(char,heap) *.
8329 (stack_regs_mentioned): Update the uses of
8330 stack_regs_mentioned_data. Don't access the array beyond its
8331 end.
8332 (reg_to_stack): Update the uses of stack_regs_mentioned_data.
8333 Don't include gt-reg-stack.h.
8334
02433683
KH
8335 * config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove.
8336 * system.h (UNALIGNED_WORD_ASM_OP): Poison.
8337
df6872b7
KH
8338 * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove.
8339
5b94780f
KH
8340 PR middle-end/26684
8341 * reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef
8342 STACK_REGS.
8343
e1835ff1
JDA
83442006-03-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8345
8346 * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo.
8347
b5564e87
RG
83482006-03-14 Richard Guenther <rguenther@suse.de>
8349
8350 PR tree-optimization/26672
8351 * tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in
8352 SSA form.
8353
6971d714
RG
83542006-03-14 Richard Guenther <rguenther@suse.de>
8355
8356 PR tree-optimization/26667
8357 * ipa-inline.c (cgraph_check_inline_limits): Walk the correct
8358 node for the callees. Always allow inlining if it will shrink
8359 the function size.
8360
7de80559
RG
83612006-03-14 Richard Guenther <rguenther@suse.de>
8362
8363 PR middle-end/26659
8364 * builtins.c (get_pointer_alignment): Prefer alignment
8365 information from decls over that from types.
8366
0e512a4f
AP
83672006-03-14 Andrew Pinski <pinskia@physics.uc.edu>
8368
8369 PR target/26657
8370 * config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp.
8371
716019c0
JM
83722006-03-14 Joseph S. Myers <joseph@codesourcery.com>
8373
8374 * config/rs6000/rs6000.opt (mdlmzb): New option.
8375 (msched-prolog, msched-epilog): Use Var not Mask.
8376 * doc/invoke.texi (-mdlmzb): Document.
8377 * config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
8378 MASK_SCHED_PROLOG.
8379 (rs6000_override_options): Enable -mdlmzb for 405 and 440.
8380 * config/rs6000/rs6000.md: Add dlmzb support for 405 and 440.
8381
a14df7da
UP
83822006-03-13 Uttam Pawar <uttamp@us.ibm.com>
8383
8384 PR rtl-optimization/25739
8385 * bt-load.c (augment_live_range): Free tos pointer.
8386
8387 * gensupport.c (identify_predicable_attribute): Free
8388 p_false pointer.
8389 * gcov.c (create_file_names): Free name pointer.
8390
f8318079
RS
83912006-03-13 Roger Sayle <roger@eyesopen.com>
8392
8393 PR middle-end/26557
8394 * stmt.c (emit_case_nodes): Handle the case where the index is a
8395 CONST_INT, where the comparison mode is specified by the index type.
8396
26a851b9
JDA
83972006-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8398
8399 * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O
8400 is defined.
8401
94c5a841
RS
84022006-03-13 Richard Sandiford <richard@codesourcery.com>
8403
8404 * config/mips/mips.md (*branch_fp): Use %Z2 for the condition.
8405 (*branch_fp_inverted): Likewise.
8406
5b4fc8fb
JJ
84072006-03-13 Jakub Jelinek <jakub@redhat.com>
8408
8409 PR middle-end/25989
8410 * omp-low.c (expand_omp_for_generic): Mark istart0
8411 and iend0 as addressable.
8412
792e526b
JZ
84132006-03-13 Jie Zhang <jie.zhang@analog.com>
8414
8415 * config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC.
8416
2bbec6d9
JL
84172006-03-13 Jeff Law <law@redhat.com>
8418
8419 * tree-vrp.c (stmt_interesting_for_vrp): Some statements with
8420 virtual operands are interesting.
8421 (vrp_visit_stmt): Corresponding changes.
8422
a94aa272
BS
84232006-03-13 Bernd Schmidt <bernd.schmidt@analog.com>
8424
8425 * config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents
8426 of RETS.
4af990cd
BS
8427 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If
8428 TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__.
8429 * config/bfin/crti.S: Use it instead of __PIC__.
8430 * config/bfin/crtn.S: Likewise.
a94aa272 8431
96c30d2a
BS
8432 * config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol,
8433 call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY,
8434 not if flag_pic.
8435 Lose 'G' modifier for call operand.
8436 * config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't
8437 recognize 'G' modifier.
8438
3feaea00
EB
84392006-03-13 Eric Botcazou <ebotcazou@adacore.com>
8440
8441 PR middle-end/18859
8442 * gimplify.c (gimplify_switch_expr): Discard empty ranges.
8443 * stmt.c (expand_case): Likewise.
8444
ba946209
ZD
84452006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
8446
8447 PR rtl-optimization/26254
8448 * loop-invariant.c (seq_insns_valid_p): New function.
8449 (move_invariant_reg): Only emit new code if it is valid.
8450
96e82e0a
ZD
84512006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
8452
8453 * cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p):
8454 Removed.
8455 (force_nonfallthru_and_redirect): Do not use last_loop_beg_note.
8456 (rtl_split_edge): Do not use back_edge_of_syntactic_loop_p.
8457 (commit_one_edge_insertion): Do not look for loop notes.
8458
50af6384
ZD
84592006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
8460
8461 * jump.c (follow_jumps): Do not check for loop notes. Move check for
8462 flag_test_coverage out of loop.
8463
80838531
ZD
84642006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
8465
8466 * final.c (shorten_branches): Remove outdated comment, and turn
8467 the if branch that guards it to continue.
8468
7490e6c4
ZD
84692006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
8470
8471 * cfgloop.c (flow_loop_dump): Do not dump loop->invalid field.
8472 * cfgloop.h (struct loop): Remove unused fields.
8473
5abcfa7e
KH
84742006-03-13 Kazu Hirata <kazu@codesourcery.com>
8475
8476 * doc/invoke.texi (-fdump-rtl-loop): Remove.
4b1c1f6f 8477 (-dL, -fdump-rtl-loop2): Update the dump file names
5abcfa7e 8478
c6075909
KH
8479 * doc/invoke.texi: Update dump file names.
8480
3d47ea88
SB
84812006-03-12 Steven Bosscher <stevenb.gcc@gmail.com>
8482
8483 * predict.c (estimate_probability): Remove.
8484 * profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove.
8485 * basic-block.h (estimate_probability): Remove prototype.
8486 * passes.c (finish_optimization_passes): Dump branch prediction or
8487 profiling heuristics to the .profile tree dump.
8488 (init_optimization_passes): Unqueue pass_branch_prob.
8489
8490 * doc/invoke.texi (-fdump-rtl-bp): Remove.
8491
fc6c490e
SB
84922006-03-11 Steven Bosscher <stevenb.gcc@gmail.com>
8493
8494 * rtl.def (LABEL_REF): Remove the field for LABEL_NEXTREF.
8495 * rtl.h (LABEL_NEXTREF): Remove field accessor.
8496
9fb798d7
EB
84972006-03-11 Eric Botcazou <ebotcazou@adacore.com>
8498
8499 * function.h (frame_offset_overflow): Declare.
8500 * function.c (frame_offset_overflow): New function.
8501 (assign_stack_local_1): Call it to detect that the offset overflows.
8502 * cfgexpand.c (alloc_stack_frame_space): Likewise.
8503
6dd3c0a5
SB
85042006-03-11 Steven Bosscher <stevenb.gcc@gmail.com>
8505
8506 * config/sh/sh.c: Include alloc-pool.h.
8507 (label_ref_list_pool): New alloc pool.
8508 (label_ref_list_t): New type for lists of labels.
8509 (struct pool_node): Make wend a label_ref_list_t.
8510 (add_constant): Use the new type, eradicate LABEL_NEXTREF
8511 references.
8512 (dump_table): Likewise.
8513 (sh_reorg): Set up the alloc pool before using add_constant and
8514 dump_table, and destroy it when finishing.
8515
a70ec386
RS
85162006-03-11 Richard Sandiford <richard@codesourcery.com>
8517
8518 * config/mips/mips.c: Remove redundant comment.
8519
21f9ec0c
JM
85202006-03-10 Jason Merrill <jason@redhat.com>
8521
8522 PR c/26004
4b1c1f6f 8523 * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if
21f9ec0c
JM
8524 the target was declared 'register'.
8525
a8597866
AN
85262006-03-10 Adam Nemet <anemet@caviumnetworks.com>
8527
8528 * genpreds.c (write_insn_constraint_len): Change definition of
8529 insn_constraint_len to return size_t to match the declaration.
8530
8e4edce7
DD
85312006-03-10 DJ Delorie <dj@redhat.com>
8532
8533 * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers
8534 start at zero.
8535 (m32c_expand_insv): Fix test for an AND mask.
8536
891c0eee
RG
85372006-03-10 Richard Guenther <rguenther@suse.de>
8538
8539 PR middle-end/26565
8540 * builtins.c (get_pointer_alignment): Handle component
8541 references for field alignment.
8542
8c1aaf26
R
85432006-03-10 J"orn Rennecke <joern.rennecke@st.com>
8544
8545 * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h
8546 when building with libgloss.
8547 (sh*elf): Implement --without-fp option.
4b1c1f6f 8548 (sh64-superh-linux*): Don't multilib.
8c1aaf26 8549
7a6164d4
R
85502006-03-10 J"orn Rennecke <joern.rennecke@st.com>
8551
8552 * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
8553
3e0a08d7
AP
85542006-03-09 Andrew Pinski <pinskia@physics.uc.edu>
8555
8556 * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable.
8557 Set it when one of the replacement functions returned true.
8558 Return TODO_cleanup_cfg if cfgchanged is true.
8559 (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg.
8560
f243cee6
AN
85612006-03-09 Adam Nemet <anemet@caviumnetworks.com>
8562
8563 * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate
8564 instead of gen_lowpart.
8565
a8c1d5f8
RS
85662006-03-09 Richard Sandiford <richard@codesourcery.com>
8567
8568 * config/mips/mips-protos.h (mips_output_conditional_branch): Change
8569 interface.
8570 (mips_output_order_conditional_branch): Declare.
8571 * config/mips/mips.h (MIPS_BRANCH): New macro.
8572 * config/mips/mips.c (gen_conditional_branch): Use VOIDmode
8573 for the comparison. Use gen_condjump.
8574 (mips_output_conditional_branch): Rework interface to take the
8575 asm templates for a direct branch and the inverse of a direct branch.
8576 (mips_output_order_conditional_branch): New function.
8577 (mips_builtin_branch_and_move): New function.
8578 (mips_expand_builtin_compare): Use it. Use VOIDmode for the
8579 branch condition. Use gen_single_cc as the condition for
8580 __builtin_mips_upper_* or __builtin_mips_lower_*.
8581 (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move.
8582 Use VOIDmode for the branch condition.
8583 * config/mips/predicates.md (order_operator): New predicate.
8584 * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant.
8585 (branch_fp): Rename to...
8586 (*branch_fp): ...this. Remove mode from comparison operator.
8587 Use new mips_output_conditional_branch interface.
8588 (branch_fp_inverted): Rename to...
8589 (*branch_fp_inverted): ...this and update as for *branch_fp.
8590 (*branch_zero<mode>): Rename to...
8591 (*branch_order<mode>): ...this. Remove mode from comparison operator.
8592 Use mips_output_order_conditional_branch. Only accept ordered
4b1c1f6f 8593 comparisons.
a8c1d5f8
RS
8594 (*branch_zero<mode>_inverted): Rename to...
8595 (*branch_order<mode>_inverted): ...this and update as for
8596 *branch_order<mode>.
8597 (*branch_equality<mode>): Accept zero as the second operand to
8598 the equality operator. Use the new mips_output_conditional_branch
8599 interface.
8600 (*branch_equality<mode>_inverted): Likewise.
8601 (condjump): New expander.
8602 * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison
8603 operator.
8604 * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise.
8605 (bc1any2t, bc1any2f): Likewise.
8606 (single_cc): New expander.
8607 (*branch_upper_lower, *branch_upper_lower_inverted): New patterns.
8608
cbbb5b6d
RS
86092006-03-09 Richard Sandiford <richard@codesourcery.com>
8610
8611 * doc/md.texi: Update documentation of MIPS constraints.
8612 * config/mips/constraints.md: New file.
8613 * config/mips/mips.md: Include it.
8614 * config/mips/mips.c (mips_char_to_class): Delete.
8615 (override_options): Don't initialize mips_char_to_class.
8616 * config/mips/mips.h (mips_char_to_class): Delete.
8617 (REG_CLASS_FROM_LETTER): Delete.
8618 (CONST_OK_FOR_LETTER_P): Delete.
8619 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
8620 (EXTRA_CONSTRAINT_Y): Delete.
8621 (EXTRA_CONSTRAINT_STR): Delete.
8622 (CONSTRAINT_LEN): Delete.
8623 (EXTRA_MEMORY_CONSTRAINT): Delete.
8624
1799e5d5
RH
86252006-03-09 Diego Novillo <dnovillo@redhat.com>
8626
8627 * tree-cfg.c (move_block_to_fn): Remove the statements from the
8628 original fn's eh regions.
8629
f8fe0545
EB
86302006-03-09 Eric Botcazou <ebotcazou@adacore.com>
8631
8632 * fold-const.c (build_range_check): Make sure to use a valid type to
8633 apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)"
8634 transformation.
8635
8636 (range_predecessor): New static function.
8637 (range_successor): Likewise.
8638 (merge_ranges): Use them to compute predecessors and successors of
8639 range bounds.
8640
d56ee62b
RS
86412006-03-09 Roger Sayle <roger@eyesopen.com>
8642
8643 PR middle-end/26561
8644 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as
8645 X op C3, consider whether C3 overflows towards +Inf or -Inf.
8646
07127a0a
DD
86472006-03-08 DJ Delorie <dj@redhat.com>
8648
8649 * config/m32c/addsub.md (addqi3): Disparage a0/a1.
8650 (addpsi3): Expand to include memory operands. Remove
8651 reload-specific splits.
8652 * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New.
8653 (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New.
8654 (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New.
8655 (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders.
8656 (shift1_qi, shift1_hi, insv): New.
8657 * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove.
8658 (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed,
8659 cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc,
8660 cond_to_int): New.
8661 * config/m32c/m32c-protos.h: Update as needed.
8662 * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't
8663 default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1.
8664 Fail for unrecognized R* constraints.
8665 (m32c_cannot_change_mode_class): Be more picky about pseudos.
8666 (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00.
8667 (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)).
8668 Add Sp constraint.
8669 (m32c_init_libfuncs): New.
8670 (m32c_legitimate_address_p): Add debug wrapper.
8671 (m32c_rtx_costs): New.
8672 (m32c_address_cost): New.
8673 (conversions): Add 'B' prefix.
8674 (m32c_print_operand): 'h' and 'H' pick lower and upper halves of
8675 operands, or word regnames for QI operands. 'B' prints bit
8676 position.
8677 (m32c_expand_setmemhi): New.
8678 (m32c_expand_movmemhi): New.
8679 (m32c_expand_movstr): New.
8680 (m32c_expand_cmpstr): New.
8681 (m32c_prepare_shift): Shift counts are limited to 16 bits at a time.
8682 (m32c_expand_neg_mulpsi3): Handle non-ints.
8683 (m32c_cmp_flg_0): New.
8684 (m32c_expand_movcc): New.
8685 (m32c_expand_insv): New.
8686 (m32c_scc_pattern): New.
8687 * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take
8688 a0/a1 out of SIregs.
8689 (STORE_FLAG_VALUE): New.
8690 * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and
8691 code macros.
8692 (no_insn): New.
8693 * config/m32c/mov.md: Make constraints more liberal.
8694 (zero_extendqihi2): Optimize r0/r1 case.
8695 * config/m32c/muldiv.md (mulpsi3): Check for intvals.
8696 * config/m32c/predicates.md (m32c_any_operand): New.
8697 (m32c_nonimmediate_operand): New.
8698 (m32c_hl_operand): New.
8699 (m32c_r3_operand): New.
8700 (ap_operand): New.
8701 (ma_operand): New.
8702 (memsym_operand): New.
8703 (memimmed_operand): New.
8704 (a_qi_operand): New.
8705 (m32c_eqne_operator): New.
8706 (m32c_1bit8_operand): New.
8707 (m32c_1bit16_operand): New.
8708 (m32c_1mask8_operand): New.
8709 (m32c_1mask16_operand): New.
8710 * config/m32c/blkmov.md: New file.
8711 * config/m32c/t-m32c (MD_FILES): Add blkmov.
8712
6677e189
AT
87132006-03-08 Andreas Tobler <a.tobler@schweiz.ch>
8714
8f4fc766
AT
8715 * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum
8716 unsigned to fix signed/unsigned comparison issue in
8717 DWARF2_FRAME_REG_OUT.
8718 (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/
8719 unsigned comparison issue in DWARF2_FRAME_REG_OUT.
8720
6677e189
AT
8721 * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration
8722 of ptr into the ENABLE_CHECKING section.
8723
60c9ad46
JL
87242006-03-08 Jeff Law <law@redhat.com>
8725
8726 * tree-vrp.c (infer_value_range): Only count pointer uses
8727 and dereferences if -fdelete-null-pointer-checks is enabled.
8728
8729 * tree-vrp.c (find_assert_locations): Infer value ranges for
8730 single use pointers, but do not create ASSERT_EXPRs for them.
8731 When a non-null range is inferred for a pointer, backwards
8732 propagate that range to other equivalent pointers through the
8733 use-def chain.
8734
dedfa466
PB
87352006-03-08 Paolo Bonzini <bonzini@gnu.org>
8736
8737 PR bootstrap/26500
8738 * Makefile.in (dvi, html, install-info): Invoke the corresponding
8739 language hook targets.
8740 * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in,
8741 objcp/Make-lang.in: Create stub rules for dvi, html, install-info
8742 if language hook targets were missing.
8743
ac574e1b
ZD
87442006-03-07 Zdenek Dvorak <dvorakz@suse.cz>
8745
8746 * tree-ssa-opfinalize.h: Removed.
8747 * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h
8748 dependency.
8749 * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h.
8750 (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST,
8751 INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op,
8752 add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops,
8753 finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
8754 finalize_ssa_v_must_def_ops): New.
8755
50d5ff7d
KZ
87562006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com>
8757
8758 * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong
8759 block as parameter.
8760
fb638355
GK
87612006-03-07 Geoffrey Keating <geoffk@apple.com>
8762
cd554454
GK
8763 * varasm.c (assemble_end_function): Say that 'fnname' is unused.
8764
dbde310d
GK
8765 * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin
8766 addresses with offsets; reorganize.
8767
fb638355
GK
8768 * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file.
8769 (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT.
8770 (expand_builtin_init_dwarf_reg_sizes): Likewise.
8771
0f047685
DB
87722006-03-08 David Billinghurst <David.Billinghurst@riotinto.com>
8773
8774 PR target/26588
8775 * config/i386/cygwin.h (GOMP_SELF_SPECS): Define.
8776
c18f0c26
BE
87772006-03-08 Ben Elliston <bje@au.ibm.com>
8778
8779 * config/fp-bit.h (CMPtype): Typedef to a word mode integer.
8780
48fa3029
AH
87812006-03-07 Aldy Hernandez <aldyh@redhat.com>
8782
8783 PR gomp/26238
8784 * doc/passes.texi (Tree-SSA passes): Document omp lowering and
8785 expansion.
8786
6f1be8e1
RG
87872006-03-07 Richard Guenther <rguenther@suse.de>
8788
8789 PR tree-optimization/26587
8790 * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR.
8791
6410fb81
RS
87922006-03-07 Richard Sandiford <richard@codesourcery.com>
8793
8794 * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION.
8795
1d3dbd99
RS
87962006-03-07 Richard Sandiford <richard@codesourcery.com>
8797
8798 * hooks.c (hook_bool_mode_rtx_true): New function.
8799 * hooks.h (hook_bool_mode_rtx_true): Declare.
8800 * toplev.c (compile_file): Call output_shared_constant_pool.
8801 * varasm.c (shared_constant_pool): New variable.
8802 (assemble_start_function, assemble_end_function): Remove arguments
8803 from call to output_constant_pool.
8804 (create_constant_pool): New function, split out from...
8805 (init_varasm_status): ...here.
8806 (force_const_mem): Choose between the shared and per-function constant
8807 pools. Set current_function_uses_const_pool when reusing old entries
8808 as well as when creating new ones.
8809 (mark_constant): Ignore data argument.
8810 (mark_constants): Remove pool argument.
8811 (mark_constant_pool): Likewise. Use current_function_uses_const_pool
8812 to decide whether the function uses a constant pool.
8813 (output_constant_pool_contents): New function, split out from...
8814 (output_constant_pool): ...here.
8815 (output_shared_constant_pool): New function.
8816 (init_varasm_once): Initialize shared_constant_pool.
8817 * output.h (output_constant_pool): Delete.
8818 (output_shared_constant_pool): Declare.
8819 * config/s390/s390-protos.h (s390_output_constant_pool): Delete.
8820 * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override.
8821
7d14f0fc
NC
88222006-03-06 Nick Clifton <nickc@redhat.com>
8823
8824 * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to
8825 flag_strength_reduce.
8826
d9b9633d
BE
88272006-03-06 Ben Elliston <bje@au.ibm.com>
8828
45b9a4e8
BE
8829 * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and
8830 x86_64-*-linux* configurations.
8831
d9b9633d 8832 * config/dfp-bit.h (CMPtype): Typedef to a word mode integer.
c92f986f 8833 (LIBGCC2_WORDS_BIG_ENDIAN): Define.
d9b9633d 8834
acfc4f0a
KH
88352006-03-05 Kazu Hirata <kazu@codesourcery.com>
8836
8837 * tree-ssa-threadupdate.c (rediscover_loops_after_threading):
8838 Remove.
8839 * basic-block.h: Remove the extern for
8840 rediscover_loops_after_threading.
8841
b00bf166
KH
8842 * cfgloop.c (cancel_loop): Make it static.
8843 * cfgloop.h: Remove the prototype for cancel_loop.
8844
a678e384
KH
8845 * flow.c (recompute_reg_usage): Make it static.
8846 * rtl.h: Remove the prototype for recompute_reg_usage.
8847
0bf8477d
KH
8848 * function.c (use_return_register): Make it static.
8849 * function.h: Remove the prototype.
8850
d42ee77a
KH
88512006-03-05 Kazu Hirata <kazu@codesourcery.com>
8852
8853 * recog.c (volatile_mem_p, validate_change_maybe_volatile):
8854 Remove.
8855 * recog.h: Remove the prototype for
8856 validate_change_maybe_volatile.
8857
dc782dcd
KH
88582006-03-05 Kazu Hirata <kazu@codesourcery.com>
8859
8860 * rtlanal.c (replace_reg): Remove.
8861 * rtl.h: Remove the prototype for replace_reg.
8862
3c491cab
KH
88632006-03-05 Kazu Hirata <kazu@codesourcery.com>
8864
8865 * regclass.c (reg_scan_update): Remove.
8866 (reg_scan_mark_refs): Remove the last argument.
8867 * rtl.h: Remove the prototype for reg_scan_update.
8868
c0220ea4
KH
88692006-03-04 Kazu Hirata <kazu@codesourcery.com>
8870
8871 * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c,
8872 combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c,
8873 config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c,
8874 config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c,
8875 df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c,
8876 loop-invariant.c, omp-low.c, opts.c, passes.c,
8877 rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c,
8878 tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c,
8879 tree-ssa-structalias.c, tree-ssa-threadedge.c,
8880 tree-ssa-threadupdate.c, tree-vect-patterns.c,
8881 tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c,
8882 unwind-dw2.c: Fix comment typos. Follow spelling conventions.
8883
ae3b9f19
KH
88842006-03-04 Kazu Hirata <kazu@codesourcery.com>
8885
8886 * dwarf2out.c (dwarf2out_add_library_unit_info): Remove.
8887 * dwarf2out.h: Remove the prototype for
8888 dwarf2out_add_library_unit_info.
8889
a82db052
KH
88902006-03-04 Kazu Hirata <kazu@codesourcery.com>
8891
8892 * tree.c (add_var_to_bind_expr): Remove.
8893 * tree.h: Remove the prototype for add_var_to_bind_expr.
8894
3c6c67f8
KH
88952006-03-04 Kazu Hirata <kazu@codesourcery.com>
8896
8897 * regclass.c (n_non_fixed_regs): Remove.
8898 (init_reg_sets_1, globalize_reg): Remove all uses of
8899 n_non_fixed_regs.
8900 * hard-reg-set.h: Remove the extern for n_non_fixed_regs.
8901
22ec0cc8
KH
89022006-03-04 Kazu Hirata <kazu@codesourcery.com>
8903
8904 * rtlanal.c (insns_safe_to_move_p): Remove.
8905 * rtl.h: Remove the prototype for insns_safe_to_move_p.
8906
2f8dc5bb
KH
89072006-03-04 Kazu Hirata <kazu@codesourcery.com>
8908
8909 * expmed.c (expand_mult_add): Remove.
8910 * expr.h: Remove the prototype for expand_mult_add.
8911
4469af7a
JJ
89122006-03-04 Jakub Jelinek <jakub@redhat.com>
8913
8914 * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET
8915 and REG_SAVED_VAL_EXP constants.
8916 * unwind-dw2.c (struct _Unwind_Context): Add by_value array.
8917 (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
8918 Handle regs stored by value.
8919 (_Unwind_SetGRValue, _Unwind_GRByValue): New functions.
8920 (execute_cfa_program): Handle DW_CFA_val_offset,
8921 DW_CFA_val_offset_sf and DW_CFA_val_expression.
8922 (uw_update_context_1): Handle REG_SAVED_REG with regs stored by
8923 value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP.
8924 (uw_install_context_1): Handle target regs stored by value.
8925
efdb3de9
DB
89262006-03-03 Daniel Berlin <dberlin@dberlin.org>
8927
8928 * tree-sra.c (tree_sra): Return todoflags;
8929 (generate_one_element): Set TODO_update_smt_usage if needed.
8930 (pass_sra): Remove TODO_update_smt_usage.
8931 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some
8932 parameter.
8933 (tree_ssa_forward_propagate_single_use_vars): Return
8934 TODO_update_smt_usage if we need to update SMT usage.
8935 (pass_forwprop): Remove TODO_update_smt_usage.
4b1c1f6f 8936
65ad7c63
DN
89372006-03-03 Diego Novillo <dnovillo@redhat.com>
8938
8939 * tree-ssa-operands.c: Tidy whitespace. Fix spelling.
8940 (correct_use_link): Remove reference to get_stmt_operands.
8941 (update_stmt_operands): Likewise.
8942 (get_modify_expr_operands): New function factored out of
8943 parse_ssa_operands and get_expr_operands.
8944 Try to create V_MUST_DEFs for LHS by default.
8945 (get_expr_operands) <case MODIFY_EXPR>: Call
8946 get_modify_expr_operands.
8947 <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF.
8948 <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS.
8949 (parse_ssa_operands) <case MODIFY_EXPR>: Call
8950 get_modify_expr_operands.
8951
417e90ca
KH
89522006-03-03 Kazu Hirata <kazu@codesourcery.com>
8953
8954 * tree-dfa.c (referenced_var_lookup_if_exists): Remove.
8955 * tree-flow.h: Remove the prototype for
8956 referenced_var_lookup_if_exists.
8957
f6d65153
SE
89582006-03-03 Steve Ellcey <sje@cup.hp.com>
8959
8960 PR rtl-optimization/26345
8961 PR target/19061
8962 * config/ia64/predicates.md (basereg_operand): Don't look in subregs.
8963
9a75ede0
RS
89642006-03-03 Roger Sayle <roger@eyesopen.com>
8965
8966 PR tree-optimization/26524
8967 * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use
8968 fold_convert to create a constant of the appropriate type.
8969
3fa9c136
RS
89702006-03-03 Richard Sandiford <richard@codesourcery.com>
8971
8972 * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
8973 SYMBOL_REF_IN_BLOCK_P.
8974 * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead
8975 of SYMBOL_FLAG_IN_BLOCK.
8976 * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P
8977 instead of SYMBOL_REF_IN_BLOCK_P.
8978 * explow.c (use_anchored_address): Likewise.
8979 * rtl.c (rtx_size): Likewise.
8980 * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO
8981 instead of SYMBOL_FLAG_IN_BLOCK.
8982 (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
8983 SYMBOL_REF_IN_BLOCK_P.
8984 (assemble_variable): Likewise.
8985 (output_constant_def_contents): Likewise.
8986 (output_constant_pool): Likewise.
8987 (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO
8988 instead of SYMBOL_FLAG_IN_BLOCK.
8989 * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
8990 SYMBOL_REF_IN_BLOCK_P.
8991 (SYMBOL_REF_BLOCK): Likewise.
8992 (SYMBOL_REF_OFFSET): Likewise.
8993 (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
8994 SYMBOL_REF_IN_BLOCK_P.
8995 (SYMBOL_FLAG_IN_BLOCK): Replace with...
8996 (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this.
8997 (SYMBOL_REF_IN_BLOCK_P): Replace with...
8998 (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this.
8999
f677599e
JJ
90002006-03-03 Jakub Jelinek <jakub@redhat.com>
9001
9002 * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto.
9003
0f2f71b5
RS
90042006-03-02 Roger Sayle <roger@eyesopen.com>
9005
9006 * simplify-rtx.c (simplify_unary_operation): When simplifying
9007 (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure
9008 that we perform the right shift in the appropriate mode, and
9009 then extend or truncate the result to requested mode.
9010
f82783bd
ZD
90112006-03-03 Zdenek Dvorak <dvorakz@suse.cz>
9012
9013 * gengtype.c (main): Handle double_int type.
9014 * tree.h (struct tree_int_cst): Make type of int_cst double_int.
9015 * double-int.c: New file.
9016 * double-int.h: New file.
9017 * system.h: Include doubleint.h.
9018 * Makefile.in (SYSTEM_H): Include double-int.h.
9019 (double-int.o): Add.
9020
778f0e89
JM
90212006-03-03 Joseph S. Myers <joseph@codesourcery.com>
9022
9023 PR bootstrap/26478
9024 * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before
9025 copying over it.
9026
701b8964
ZD
90272006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
9028
0f2f71b5
RS
9029 * tree-vrp.c (remove_range_assertions): Do not update statements
9030 unnecessarily.
701b8964 9031
59994160
ZD
90322006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
9033
9034 * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg
9035 cleanup.
9036 * gcse.c (rest_of_handle_gcse): Ditto.
9037 * except.c (gate_handle_eh): Ditto.
9038 * cfgcleanup.c (rest_of_handle_jump2): Ditto.
9039 * basic-block.h (CLEANUP_PRE_LOOP): Remove.
9040
5143b5fc
EC
90412006-03-02 Eric Christopher <echristo@apple.com>
9042
9043 * config/i386/i386.c (machopic_output_stub): Add indirection to
9044 jump.
9045
c6ba18c6
ZD
90462006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
9047
9048 * loop.c: Removed.
9049
4c837a1e
DM
90502006-03-02 David S. Miller <davem@sunset.davemloft.net>
9051
9052 Sun Niagara specific optimizations.
9053 * config.gcc: Recognize niagara as target.
9054 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara.
9055 (TARGET_CPU_niagara): Define.
9056 (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara.
9057 (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara.
9058 (CPP_CPU_SPEC): Handle -mcpu=niagara.
9059 (ASM_CPU_SPEC): Likewise.
9060 (PROCESSOR_NIAGARA): New enum entry.
9061 (REGISTER_MOVE_COST): Handle Niagara.
9062 (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise.
9063 * config/sparc/sparc.c (niagara_costs): New processor_costs entry.
9064 (sparc_override_options): Recognize "niagara", set appropriate
9065 default MASK_* values for it, and align functions to 32-bytes
9066 by default just like ULTRASPARC/ULTRASPARC3.
9067 (sparc_initialize_trampoline): Handle niagara like ultrasparc.
9068 (sparc64_initialize_trampoline): Likewise.
9069 (sparc_use_sched_lookahead): Use zero for niagara.
9070 (sparc_issue_rate): Use one for niagara.
9071 * config/sparc/niagara.md: New file.
9072 * config/sparc/sparc.md: Include it.
9073 * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC,
9074 ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately
9075 when default cpu is niagara.
9076 (CPP_CPU_SPEC): Handle -mcpu=niagara.
9077 (ASM_CPU_SPEC): Likewise.
9078 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately
9079 when default cpu is niagara.
9080 (ASM_CPU_SPEC): Handle -mcpu=niagara.
9081 * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara
9082 just like v9/ultrasparc/ultrasparc3.
9083 * doc/invoke.texi: Add documentation for "niagara" and improve
9084 existing documentation for ultrasparc variants.
5143b5fc 9085
2434ab1d
DN
90862006-03-02 Diego Novillo <dnovillo@redhat.com>
9087
9088 * tree-ssa-operands.c (update_stmt_operands): Update documentation.
9089
434aeebb
RS
90902006-03-02 Richard Sandiford <richard@codesourcery.com>
9091
9092 * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document.
9093 (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS,
9094 and say that only one is needed.
9095 * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null.
9096 * target.h (have_switchable_bss_sections): New hook.
9097 * explow.c (use_anchored_address): Check that the symbol is in a block.
9098 * varasm.c (tls_comm_section, comm_section, lcomm_section)
9099 (bss_noswitch_section): New variables.
9100 (get_unnamed_section): Add SECTION_UNNAMED to the flags.
9101 (get_noswitch_section): New function.
9102 (get_block_for_section): Allow SECT to be null.
9103 (unlikely_text_section_p): Use SECTION_STYLE.
9104 (bss_initializer_p): New function.
9105 (get_variable_section): Move earlier in file. Take a new argument,
9106 prefer_noswitch_p. Move bss checks from assemble_variable to here.
9107 Return one of the new *_sections in such cases.
9108 (get_block_for_decl): New function, extracting some logic from
9109 use_blocks_for_decl_p.
9110 (change_symbol_section): Remove in favor of...
9111 (change_symbol_block): ...this new function.
9112 (use_blocks_for_decl_p): Remove checks now performed by
9113 get_block_for_decl.
9114 (make_decl_rtl): Use change_symbol_block and get_block_for_decl.
9115 (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of...
9116 (emit_local, emit_bss, emit_common): ...these new functions.
9117 Return true if the alignment was honored.
9118 (emit_tls_common): New function.
9119 (asm_emit_uninitialised): Delete.
9120 (assemble_variable_noswitch): New function, split out from...
9121 (assemble_variable): ...here. Don't make decisions about common
9122 variables here. Globalize all public decls that go into non-common
9123 sections. Check whether SYMBOL_REF_BLOCK is null.
9124 (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null.
9125 (output_constant_pool): Likewise.
9126 (init_varasm_once): Initialize the new section variables.
9127 (have_global_bss_p): New function.
9128 (categorize_decl_for_section): Use bss_initializer_p.
9129 (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH.
9130 (place_block_symbol): Assert that the symbol must be in a block.
9131 * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro.
9132 (TARGET_INITIALIZER): Include it.
9133 * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative.
9134 * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros.
9135 (SECTION_MACH_DEP): Bump by two.
9136 (SECTION_UNNAMED, SECTION_NOSWITCH): New macros.
9137 (unnamed_section): Mention SECTION_UNNAMED in comment.
9138 (named_section): Likewise SECTION_NAMED.
9139 (noswitch_section_callback): New type.
9140 (noswitch_section): New structure.
9141 (section): Add a noswitch_section alternative.
9142 (SECTION_STYLE): New macro.
9143 (tls_comm_section, comm_section, lcomm_section): Declare.
9144 (bss_noswitch_section, have_global_bss_p): Declare.
9145 * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
9146 * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
9147 Override.
9148 * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
9149 * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
9150 Override.
9151
c2924966
DB
91522006-03-02 Daniel Berlin <dberlin@dberlin.org>
9153
a1d1988f
MS
9154 * tree-vrp.c (execute_vrp): Return value.
9155 * regrename.c (rest_of_handle_regrename): Ditto.
9156 * tree-into-ssa.c (rewrite_into_ssa): Ditto.
9157 * tree-complex.c (tree_lower_complex): Ditto.
c2924966 9158 (tree_lower_complex_O0): Ditto.
a1d1988f
MS
9159 * tracer.c (rest_of_handle_tracer): Ditto.
9160 * postreload-gcse.c (rest_of_handle_gcse2): Ditto.
9161 * postreload.c (rest_of_handle_postreload): Ditto.
9162 * tree-tailcall.c (execute_tail_recursion): Ditto.
c2924966 9163 (execute_tail_calls): Ditto.
a1d1988f
MS
9164 * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
9165 * tree.h (init_function_for_compilation): Ditto.
9166 * ipa-cp.c (ipcp_driver): Ditto.
9167 * tree-scalar-evolution.c (scev_const_prop): Ditto.
9168 * tree-scalar-evolution.h (scev_const_prop): Ditto.
9169 * final.c (compute_alignments): Ditto.
c2924966
DB
9170 (rest_of_handle_final): Ditto.
9171 (rest_of_handle_shorten_branches): Ditto.
9172 (rest_of_clean_state): Ditto.
a1d1988f 9173 * omp-low.c (execute_expand_omp): Ditto.
c2924966 9174 (execute_lower_omp): Ditto.
a1d1988f
MS
9175 * tree-ssa-dse.c (tree_ssa_dse): Ditto.
9176 * ipa-reference.c (static_execute): Ditto.
9177 * tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
9178 * reorg.c (rest_of_handle_delay_slots): Ditto.
c2924966 9179 (rest_of_handle_machine_reorg): Ditto.
a1d1988f
MS
9180 * cgraphunit.c (rebuild_cgraph_edges): Ditto.
9181 * flow.c (recompute_reg_usage): Ditto.
c2924966
DB
9182 (rest_of_handle_remove_death_notes): Ditto.
9183 (rest_of_handle_life): Ditto.
9184 (rest_of_handle_flow2): Ditto.
a1d1988f
MS
9185 * tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
9186 * tree-ssa-ccp.c (do_ssa_ccp): Ditto.
c2924966
DB
9187 (do_ssa_store_ccp): Ditto.
9188 (execute_fold_all_builtins): Ditto.
a1d1988f
MS
9189 * mode-switching.c (rest_of_handle_mode_switching): Ditto.
9190 * modulo-sched.c (rest_of_handle_sms): Ditto.
9191 * ipa-pure-const.c (static_execute): Ditto.
9192 * cse.c (rest_of_handle_cse): Ditto.
c2924966 9193 (rest_of_handle_cse2): Ditto.
a1d1988f
MS
9194 * web.c (rest_of_handle_web): Ditto.
9195 * tree-stdarg.c (execute_optimize_stdarg): Ditto.
9196 * tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
9197 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
9198 * tree-nrv.c (tree_nrv): Ditto.
c2924966 9199 (execute_return_slot_opt): Ditto.
a1d1988f 9200 * tree-ssa-alias.c (compute_may_aliases): Ditto.
c2924966 9201 (create_structure_vars): Ditto.
a1d1988f 9202 * loop-init.c (rtl_loop_init): Ditto.
c2924966
DB
9203 (rtl_loop_done): Ditto.
9204 (rtl_move_loop_invariants): Ditto.
9205 (rtl_unswitch): Ditto.
9206 (rtl_unroll_and_peel_loops): Ditto.
9207 (rtl_doloop): Ditto.
a1d1988f 9208 * gimple-low.c (lower_function_body): Ditto.
c2924966 9209 (mark_used_blocks): Ditto.
a1d1988f
MS
9210 * tree-ssa-sink.c (execute_sink_code): Ditto.
9211 * ipa-inline.c (cgraph_decide_inlining): Ditto.
c2924966 9212 (cgraph_early_inlining): Ditto.
a1d1988f
MS
9213 * global.c (rest_of_handle_global_alloc): Ditto.
9214 * jump.c (cleanup_barriers): Ditto.
c2924966 9215 (purge_line_number_notes): Ditto.
a1d1988f 9216 * ifcvt.c (rest_of_handle_if_conversion): Ditto.
c2924966 9217 (rest_of_handle_if_after_reload): Ditto.
a1d1988f 9218 * tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
c2924966
DB
9219 (tree_ssa_loop_im): Ditto.
9220 (tree_ssa_loop_unswitch): Ditto.
9221 (tree_vectorize): Ditto.
9222 (tree_linear_transform): Ditto.
9223 (tree_ssa_loop_ivcanon): Ditto.
9224 (tree_ssa_empty_loop): Ditto.
9225 (tree_ssa_loop_bounds): Ditto.
9226 (tree_complete_unroll): Ditto.
9227 (tree_ssa_loop_prefetch): Ditto.
9228 (tree_ssa_loop_ivopts): Ditto.
9229 (tree_ssa_loop_done): Ditto.
a1d1988f
MS
9230 * predict.c (tree_estimate_probability): Ditto.
9231 * recog.c (split_all_insns_noflow): Ditto.
c2924966
DB
9232 (rest_of_handle_peephole2): Ditto.
9233 (rest_of_handle_split_all_insns): Ditto.
a1d1988f
MS
9234 * tree-eh.c (lower_eh_constructs): Ditto.
9235 * regmove.c (rest_of_handle_regmove): Ditto.
c2924966 9236 (rest_of_handle_stack_adjustments): Ditto.
a1d1988f
MS
9237 * local-alloc.c (rest_of_handle_local_alloc): Ditto.
9238 * function.c (instantiate_virtual_regs): Ditto.
c2924966
DB
9239 (init_function_for_compilation): Ditto.
9240 (rest_of_handle_check_leaf_regs): Ditto.
a1d1988f 9241 * gcse.c (rest_of_handle_jump_bypass): Ditto.
c2924966 9242 (rest_of_handle_gcse): Ditto.
a1d1988f
MS
9243 * ipa-type-escape.c (type_escape_execute): Ditto.
9244 * alias.c (rest_of_handle_cfg): Ditto.
9245 * tree-if-conv.c (main_tree_if_conversion): Ditto.
9246 * profile.c (rest_of_handle_branch_prob): Ditto.
9247 * tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
9248 * rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
9249 * bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
9250 * tree-dfa.c (find_referenced_vars): Ditto.
9251 * except.c (set_nothrow_function_flags): Ditto.
c2924966
DB
9252 (convert_to_eh_region_ranges): Ditto.
9253 (rest_of_handle_eh): Ditto.
a1d1988f 9254 * emit-rtl.c (unshare_all_rtl): Ditto.
c2924966 9255 (remove_unnecessary_notes): Ditto.
a1d1988f 9256 * except.h (set_nothrow_function_flags): Ditto.
c2924966 9257 (convert_to_eh_region_ranges): Ditto.
a1d1988f
MS
9258 * cfgexpand.c (tree_expand_cfg): Ditto.
9259 * tree-cfgcleanup.c (merge_phi_nodes): Ditto.
9260 * tree-ssa-pre.c (do_pre): Ditto.
c2924966 9261 (execute_fre): Ditto.
a1d1988f 9262 * cfgcleanup.c (rest_of_handle_jump): Ditto.
c2924966 9263 (rest_of_handle_jump2): Ditto.
a1d1988f
MS
9264 * tree-sra.c (tree_sra): Ditto.
9265 * tree-mudflap.c (execute_mudflap_function_ops): Ditto.
c2924966 9266 (execute_mudflap_function_decls): Ditto.
a1d1988f 9267 * tree-ssa-copy.c (do_copy_prop): Ditto.
c2924966 9268 (do_store_copy_prop): Ditto.
a1d1988f
MS
9269 * ipa-prop.h (ipcp_driver): Ditto.
9270 * cfglayout.c (insn_locators_initialize): Ditto.
9271 * tree-ssa-forwprop.c
c2924966 9272 (tree_ssa_forward_propagate_single_use_vars): Ditto.
a1d1988f
MS
9273 * cfglayout.h (insn_locators_initialize): Ditto.
9274 * tree-ssa-dce.c (tree_ssa_dce): Ditto.
9275 * tree-ssa.c (execute_early_warn_uninitialized): Ditto.
c2924966 9276 (execute_late_warn_uninitialized): Ditto.
a1d1988f 9277 * rtl.h (cleanup_barriers): Ditto.
c2924966
DB
9278 (split_all_insns_noflow): Ditto.
9279 (purge_line_number_notes): Ditto.
9280 (unshare_all_rtl): Ditto.
9281 (remove_unnecessary_notes): Ditto.
9282 (recompute_reg_usage): Ditto.
9283 (variable_tracking_main): Ditto.
a1d1988f
MS
9284 * integrate.c (emit_initial_value_sets): Ditto.
9285 * integrate.h (emit_initial_value_sets): Ditto.
9286 * tree-optimize.c (execute_free_datastructures): Ditto
c2924966
DB
9287 (execute_free_cfg_annotations): Ditto.
9288 (execute_fixup_cfg): Ditto.
9289 (execute_cleanup_cfg_pre_ipa): Ditto.
9290 (execute_cleanup_cfg_post_optimizing): Ditto.
9291 (execute_init_datastructures): Ditto.
a1d1988f
MS
9292 * tree-object-size.c (compute_object_sizes): Ditto.
9293 * combine.c (rest_of_handle_combine): Ditto.
9294 * tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
9295 * bb-reorder.c (duplicate_computed_gotos): Ditto.
c2924966
DB
9296 (rest_of_handle_reorder_blocks): Ditto.
9297 (rest_of_handle_partition_blocks): Ditto.
a1d1988f
MS
9298 * var-tracking.c (variable_tracking_main): Ditto.
9299 * tree-profile.c (tree_profiling): Ditto.
9300 * tree-vect-generic.c (expand_vector_operations): Ditto.
9301 * reg-stack.c (rest_of_handle_stack_regs): Ditto.
9302 * sched-rgn.c (rest_of_handle_sched): Ditto.
c2924966 9303 (rest_of_handle_sched2): Ditto.
a1d1988f
MS
9304 * basic-block.h (free_bb_insn): Ditto.
9305 * tree-ssa-structalias.c (ipa_pta_execute): Ditto.
9306 * tree-cfg.c (execute_build_cfg): Ditto.
c2924966
DB
9307 (remove_useless_stmts): Ditto.
9308 (split_critical_edges): Ditto.
9309 (execute_warn_function_return): Ditto.
9310 (execute_warn_function_noreturn): Ditto.
a1d1988f
MS
9311 * tree-ssa-reassoc.c (execute_reassoc): Ditto.
9312 * cfgrtl.c (free_bb_for_insn): Ditto.
9313 * passes.c (execute_one_pass): Run additional
c2924966 9314 todos returned by execute function.
a1d1988f 9315 * tree-pass.h (struct tree_opt_pass): Make execute
c2924966
DB
9316 return a value.
9317
62c577fd
RG
93182006-03-02 Richard Guenther <rguenther@suse.de>
9319
9320 * tree-ssa-alias.c (find_used_portions): Consider taking
9321 the address as making the variable not write-only.
9322
c5dde55b
NC
93232006-03-02 Nick Clifton <nickc@redhat.com>
9324
9325 * config.gcc (default_use_cxa_atexit): Extend the description of
9326 this configure variable. Set its default value to "yes" for
9327 Linux, NetBSD and ELF targets on the assumption that they will
9328 use C libraries with the __cxa_atexit function.
9329
75334508
BE
93302006-03-02 Ben Elliston <bje@au.ibm.com>
9331
9332 * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs'
9333 parameter as unused to suppress a build warning.
9334
16c44183
BE
93352006-03-02 Ben Elliston <bje@au.ibm.com>
9336
9337 * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile
9338 config/dfp-bit.c.
9339
a11dd268
RS
93402006-03-01 Roger Sayle <roger@eyesopen.com>
9341
9342 PR other/26489
9343 * gthr-posix.h (__gthrw2): Define to take three parameters, the
9344 declared name, the weak reference name, and the typeof name.
9345 (__gthrw): Avoid expanding the declared name suffix.
9346 (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls.
9347
d213accd
JJ
93482006-03-01 Jakub Jelinek <jakub@redhat.com>
9349
9350 * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants
9351 from DWARF 3.
9352 (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale,
9353 DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count,
9354 DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled,
9355 DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity,
9356 DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New.
9357 (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New.
9358 (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited,
9359 DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New.
9360 (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch,
9361 DW_DS_leading_separate, DW_DS_trailing_separate): New.
9362 (DW_END_default, DW_END_big, DW_END_little): New.
9363 (DW_END_lo_user, DW_END_hi_user): Define.
9364 (DW_LNE_lo_user, DW_LNE_hi_user): Define.
9365 (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New.
9366 (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC,
9367 DW_LANG_D): New.
9368
18cd8a03
DN
93692006-03-01 Diego Novillo <dnovillo@redhat.com>
9370
9371 * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG.
9372 Update all users.
9373 * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage.
9374 Update all users.
9375 (TODO_update_smt_usage): Rename from TODO_update_tmt_usage.
9376 Update all users.
9377 * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE.
9378 Update all users.
9379 * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag'
9380 to 'symbol_mem_tag'.
9381 Update all users.
9382 * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT
9383 rename.
9384
8acb1b3d
RS
93852006-03-01 Roger Sayle <roger@eyesopen.com>
9386
9387 * builtins.c (fold_builtin_copysign): Delete unreachable code.
9388
c446d1a7
AP
93892006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
9390
9391 PR target/25761
9392 * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just
9393 MACHO_DYNAMIC_NO_PIC_P.
9394 (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P.
9395
ab0ff804
AP
93962006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
9397
9398 PR target/26389
9399 * config/darwin-protos.h (darwin_asm_output_anchor):
9400 Declare.
9401 * config/darwin-sections.def (cstring_section):
9402 Add SECTION_MERGE to the flags.
9403 (literal4_section): Likewise.
9404 (literal8_section): Likewise.
9405 (objc_selector_refs_section): Likewise.
9406 (objc_cls_refs_section): Likewise.
9407 * config/darwin.c (darwin_asm_output_anchor): New
9408 function.
9409 * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define.
9410
607f460c 94112006-03-01 Daniel Berlin <dberlin@dberlin.org>
18cd8a03 9412
607f460c
DB
9413 Fix PR tree-optimization/26443
9414 * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage
9415 to todo and PROP_tmt_usage to properties_destroyed.
9416 * tree-ssa-ccp.c (pass_ccp): Ditto.
9417 (pass_store_ccp): Ditto.
9418 * tree-ssa-dom.c (pass_dominator): Ditto.
9419
02075bb2
DN
94202006-03-01 Diego Novillo <dnovillo@redhat.com>
9421
9422 * tree-ssa-operands.c: Cleanup whitespace.
9423 (get_asm_expr_operands): Move before first invocation.
9424 (get_indirect_ref_operands): Likewise.
9425 (get_tmr_operands): Likewise.
9426 (get_call_expr_operands): Likewise.
9427 (append_def): Likewise.
9428 (append_use): Likewise.
9429 (append_v_may_def): Likewise.
9430 (append_v_must_def): Likewise.
9431 (add_call_clobber_ops): Likewise.
9432 (add_call_read_ops): Likewise.
9433 (add_stmt_operand): Likewise.
9434 (add_virtual_operand): Likewise.
9435 (build_ssa_operands): Likewise.
9436
94372006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
1809ff6b
AP
9438
9439 PR middle-end/26022
9440 Revert:
9441 PR middle-end/24437
9442 * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF
9443 with a call expr to ...
9444 * fold-const.c (fold_ternary) <case CALL_EXPR>: Here.
9445
6578c101
DN
94462006-03-01 Diego Novillo <dnovillo@redhat.com>
9447
9448 * tree-vrp.c (extract_range_from_assert): Remove special
9449 handling for types with super-types.
9450
0eafb3ec
BE
94512006-03-01 Ben Elliston <bje@au.ibm.com>
9452
ec09c26e
BE
9453 * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux*
9454 and powerpc64-*-linux* configurations.
9455 * config/t-dfprules: New file.
9456
0eafb3ec
BE
9457 * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS.
9458 Compile dfp-bit.c from the source directory using -DWIDTH and
9459 $DFP_CFLAGS to control the compilation of that file, rather than
9460 generating width-specific versions in the build directory.
9461 * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS.
9462 (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc].
9463
cccb0908
ZW
94642006-02-28 Zack Weinberg <zackw@panix.com>
9465
9466 * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7
9467 continues to work.
9468
31abac07
EC
94692006-02-28 Eric Christopher <echristo@apple.com>
9470
9471 * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define.
9472 Set up IN_LIBGCC definition of TARGET_64BIT.
9473 * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define.
9474
c457fcec
RS
94752006-02-28 Roger Sayle <roger@eyesopen.com>
9476
9477 PR middle-end/14752
9478 * c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR,
9479 BIT_XOR_EXPR, BIT_AND_EXPR>: Delete. Let fold optimize these
9480 cases via the construction of "expr != 0".
9481
63292ebf
SB
94822006-02-28 Steven Bosscher <stevenb.gcc@gmail.com>
9483
9484 * alias.c (alias_invariant, alias_invariant_size): Remove.
9485 (record_base_value): Remove.
9486 (memrefs_conflict_p): Don't look at alias_invariant.
9487 (end_alias_analysis): Don't free it.
9488 * alias.h (record_base_value): Remove prototype.
9489
d3b72690
PB
94902006-02-28 Paolo Bonzini <bonzini@gnu.org>
9491 Adam Nemet <anemet@caviumnetworks.com>
9492
9493 * rtl.h (truncated_to_mode): Declare it.
9494 (struct rtl_hooks): Add reg_truncated_to_mode hook.
9495 * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro.
9496 (RTL_HOOKS_INITIALIZER): Include it.
9497 * rtlhooks.c (reg_truncated_to_mode_general): New function.
9498 * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to
9499 reg_truncated_to_mode.
9500 * rtlanal.c (truncated_to_mode): Define it.
9501 * simplify-rtx.c (simplify_unary_operation_1): Use it.
9502
ea45681a
JL
95032006-02-28 Jeff Law <law@redhat.com>
9504
e5c7f9f5
JL
9505 * tree-chrec.c (chrec_convert_aggressive): Do not eliminate
9506 conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover
9507 the range allowed by TYPE_PRECISION.
9508
ea45681a
JL
9509 * tree.h (strct phi_arg_d): Remove unused NONZERO field.
9510
7ffe0f0d
DN
95112006-02-28 Dorit Nuzman <dorit@il.ibm.com>
9512
9513 PR tree-optimization/26419
9514 * doc/invoke.texi (ftree-vectorizer-verbose): Add information on
9515 values of n.
9516
3fa1b0e5
ZW
95172006-02-27 Zack Weinberg <zackw@panix.com>
9518
9519 * doc/md.texi: Fix typo in previous change.
9520
75743f02
KZ
95212006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com>
9522
9523 * df.c: Remove.
9524
f38840db
ZW
95252006-02-27 Zack Weinberg <zackw@panix.com>
9526
9527 * rtl.def (define_constraint, define_register_constraint)
9528 (define_memory_constraint, define_address_constraint): New MD forms.
9529 * gensupport.c (process_rtx): Put define_constraint etc on the
9530 predicate queue.
9531 * genpreds.c (process_define_predicate): Adjust comment. Validate
9532 the name, and call validate_exp to validate the expression.
9533 (mark_mode_tests, write_extract_subexp): Can assume correct input.
9534 (write_predicate_expr): Likewise. NAME argument no longer necessary;
9535 all callers changed.
9536 (validate_exp, needs_variable, struct constraint_data)
9537 (constraints_by_letter_table, first_constraint, last_constraint_ptr)
9538 (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints)
9539 (const_dbl_constraints, constraint_max_namelen)
9540 (have_register_constraints, have_memory_constraints)
9541 (have_address_constraints, have_address_constraints)
9542 (have_extra_constraints, have_const_int_constraints)
9543 (have_const_dbl_constraints, mangle, add_constraint)
9544 (process_define_constraint, process_define_register_constraint)
9545 (write_enum_constraint_num, write_lookup_constraint)
9546 (write_insn_constraint_len, write_regclass_for_constraint)
9547 (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint)
9548 (write_insn_extra_memory_constraint)
9549 (write_insn_extra_address_constraint)
9550 (write_satisfies_constraint_fns): New.
9551 (write_tm_preds_h): If we have new-style constraint definitions,
9552 prototype the functions generated from them, and define the
9553 old constraint interface (still used by generic code) in terms of
9554 those functions.
9555 (write_insn_preds_c): If we have new-style constraint definitions,
9556 generate all relevant functions from those definitions.
9557 (main): Handle define_constraint etc.
9558 * genoutput.c (struct constraint_data, indep_constraints)
9559 (mdep_constraint_letters, constraints_by_letter_table, note_constraint)
9560 (mdep_constraint_len): New data structures and functions, defined
9561 #ifdef USE_MD_CONSTRAINTS.
9562 (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS.
9563 (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined,
9564 use new logic to validate operand constraints against constraint
9565 definitions.
9566 (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is
9567 defined.
9568 * defaults.h: If none of the old-style constraint macros are
9569 defined, define USE_MD_CONSTRAINTS; do not provide defaults for any
9570 old-style macros; and poison REG_CLASS_FROM_LETTER,
9571 CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and
9572 EXTRA_CONSTRAINT.
9573 * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately.
9574 * doc/md.texi: Document new constraint-definition mechanism and the
9575 C interface it provides. Remove references to old mechanism
e753d130 9576 elsewhere in the document.
f38840db
ZW
9577 (Machine Constraints): Use pathnames relative to gcc directory,
9578 i.e. config/ARCH/FILE. Change i386 section to refer to
9579 config/i386/predicates.md; update that section to match docstrings.
9580 * doc/tm.texi: Move all documentation of the old constraint-
9581 definition macros to their own section, clearly mark as obsolete.
9582
9583 * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t)
9584 (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint
9585 definitions.
9586 * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
9587 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
9588 * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from
9589 constraint strings.
9590 (splits and peepholes): Use satisfies_constraint_*.
9591 * config/i386/i386.c (memory_address_length)
9592 (ix86_attr_length_immediate_default): Use satisfies_constraint_*.
9593
e3e868f6
DB
95942006-02-27 Daniel Berlin <dberlin@dberlin.org>
9595
9596 * lambda-code.c (can_convert_to_perfect_nest): Allow any type of
9597 scalar operation to be put back into the loop.
9598
754e45a8
JJ
95992006-02-27 Jakub Jelinek <jakub@redhat.com>
9600
9601 PR other/26208
9602 * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field.
9603 (extract_cie_info): Handle S flag in augmentation string.
9604 (execute_cfa_program): If context->signal_frame, execute also
9605 fs->pc == context->ra instructions.
9606 (uw_frame_state_for): If context->signal_frame, don't subtract one
9607 from context->ra to find FDE.
9608 (uw_update_context_1): Set context->signal_frame to
9609 fs->signal_frame.
9610 (_Unwind_GetIPInfo): New function.
9611 * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field.
9612 * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
9613 of _Unwind_GetIP.
9614 * unwind-sjlj.c (_Unwind_GetIPInfo): New function.
9615 * unwind-generic.h (_Unwind_GetIPInfo): New prototype.
9616 * unwind-compat.c (_Unwind_GetIPInfo): New function.
9617 * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0.
9618 * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function.
9619 * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define.
9620 * config/i386/linux-unwind.h (x86_fallback_frame_state,
9621 x86_64_fallback_frame_state): Set fs->signal_frame.
9622 * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
9623 (MD_FROB_UPDATE_CONTEXT): Define unconditionally.
9624 (frob_update_context): Likewise. Workaround missing S flag in
9625 Linux 2.6.12 - 2.6.16 kernel vDSOs.
9626 * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
9627 Remove the psw_addr + 1 hack.
9628
6df11ca1
DB
96292006-02-27 Daniel Berlin <dberlin@dberlin.org>
9630
9631 * tree-ssa-structalias.c (get_constraint_for): Move code to deal
9632 with aggregates here.
9633 (find_func_aliases): Remove code for &<aggregate> from here.
9634
5881ad5d
RS
96352006-02-26 Roger Sayle <roger@eyesopen.com>
9636
e8366202 9637 * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as
5881ad5d
RS
9638 (X & C) ne/eq 0, where C is a single bit, i.e. a power of two.
9639 Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0"
9640 as (X & C) ne/eq 0.
9641
53f1b560
RS
96422006-02-26 Roger Sayle <roger@eyesopen.com>
9643
9644 PR middle-end/19983
9645 * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes.
9646
efa1cdf0
ZD
96472006-02-26 Zdenek Dvorak <dvorakz@suse.cz>
9648
9649 * opts.c (decode_options): Do not handle flag_strength_reduce.
9650 (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt
9651 and OPT_fstrength_reduce.
9652 * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test
9653 flag_prefetch_loop_arrays for being nonzero.
9654 * common.opt (floop-optimize, frerun-loop-opt): Resurrected as
9655 no-ops.
9656 (fprefetch-loop-arrays-rtl): Removed.
9657 (flag_prefetch_loop_arrays): Do not specify the value.
9658
9659 * doc/passes.texi: Update documentation of loop optimizer
9660 passes.
9661 * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl,
9662 -frerun-loop-opt): Remove.
9663
651402f1
RG
96642006-02-26 Richard Guenther <rguenther@suse.de>
9665
9666 PR tree-optimization/26421
9667 * tree-ssa-alias.c (find_used_portions): Don't treat parameters
9668 in function calls that are ADDR_EXPRs as using the whole structure.
9669
37818e7c
SB
96702006-02-26 Steven Bosscher <stevenb.gcc@gmail.com>
9671
9672 * common.opt (-floop-optimize, -frerun-loop-opt): Remove.
9673 * tree-pass.h (pass_loop_optimize): Remove.
9674 * passes.c (pass_loop_optimize): Never run it.
9675 * toplev.c (backend_init): Don't call init_loop.
9676 * opts.c (flag_loop_optimize_set): Remove.
9677 (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt.
9678 (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable
9679 the old RTL loop optimizer when profiling enabled.
9680 * predict.c (tree_estimate_probability): Always strip builtin_expect.
9681 * cfgcleanup.c (try_forward_edges): Don't avoid killing loop
9682 pre-headers for the sake of the old RTL loop optimizer.
9683 * Makefile.in: Remove all references to loop.o.
9684
9685 * doc/invoke.texi: Remove all references to -floop-optimize
9686 and -frerun-loop-opt.
9687
74fe790b
ZW
96882006-02-26 Zack Weinberg <zackw@panix.com>
9689
9690 * doc/md.texi (Machine Constraints): Refer to all files with paths
9691 relative to gcc directory (i.e. config/CPU/file). Add missing
9692 @table @code ... @end table to M32C subsection.
9693
cef65eaa
RS
96942006-02-26 Roger Sayle <roger@eyesopen.com>
9695
9696 * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as
9697 (X & 1) == 0.
9698 <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0.
9699
a861485c
RS
97002006-02-26 Roger Sayle <roger@eyesopen.com>
9701 James A. Morrison <phython@gcc.gnu.org>
9702
9703 PR middle-end/21137
e8366202 9704 * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0,
a861485c
RS
9705 when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the
9706 new constant C2<<C1, or as (X<0) or (X,false) depending upon the
9707 signedness of the shift operation.
9708
afa38a95
DN
97092006-02-26 Dorit Nuzman <dorit@il.ibm.com>
9710
9711 PR tree-optimization/26359
9712 * tree-ssa-alias.c (new_type_alias): Set fields for new tag.
9713
5484a3c3
RS
97142006-02-25 Roger Sayle <roger@eyesopen.com>
9715
e8366202 9716 * simplify-rtx.c (simplify_relational_operation_1): Simplify
5484a3c3
RS
9717 (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y
9718 as X == 0, and some symmetry related transformations.
9719 Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line.
9720
eb8dffe0
RS
97212006-02-25 Roger Sayle <roger@eyesopen.com>
9722
9723 PR middle-end/23673
e8366202 9724 * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y
eb8dffe0
RS
9725 and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some
9726 symmetry related transformations. Fold (X^C1) == C2 as
9727 X == (C1^C2).
9728
332cf1b3
JW
97292006-02-25 Juergen Weigert <jw@suse.de>
9730 Richard Guenther <rguenther@suse.de>
9731
9732 * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF.
9733
a4876725
AN
97342006-02-24 Adam Nemet <anemet@caviumnetworks.com>
9735
9736 * combine.c (gen_lowpart_or_truncate): Call
9737 simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE.
9738
8d669cbd
DN
97392006-02-24 Diego Novillo <dnovillo@redhat.com>
9740
9741 * doc/invoke.texi: Move -fopenmp description to "Options for
9742 Code Generation".
9743 Remove reference to -lgomp.
9744
f44a5ab6
DE
97452006-02-24 David Edelsohn <edelsohn@gnu.org>
9746
9747 * doc/install.texi: Require GNU tar version 1.14.
9748
c7b5e395
GK
97492006-02-24 Geoffrey Keating <geoffk@apple.com>
9750
9751 * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS.
74fe790b 9752 * doc/invoke.texi (C++ Dialect Options): Document
c7b5e395
GK
9753 -fno-use-cxa-get-exception-ptr.
9754 * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1.
9755 * configure: Regenerate.
9756 * c.opt (fuse-cxa-get-exception-ptr): New.
9757 * c-opts.c (c_common_handle_option): Handle
9758 OPT_fuse_cxa_get_exception_ptr.
9759 * c-common.c (flag_use_cxa_atexit): Update documentation.
9760 (flag_use_cxa_get_exception_ptr): New.
9761 * c-common.h (flag_use_cxa_get_exception_ptr): New.
9762 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve
9763 documentation.
9764 (C_COMMON_OVERRIDE_OPTIONS): New.
9765
676cb929
RS
97662006-02-24 Roger Sayle <roger@eyesopen.com>
9767
9768 PR middle-end/24952
9769 * combine.c (try_combine): Explicitly check whether GET_CODE is
9770 a SET or a CLOBBER, instead on checking that it isn't a USE.
9771
e26ec0bb
RS
97722006-02-24 Roger Sayle <roger@eyesopen.com>
9773
9774 * fold-const.c (fold_comparison): New subroutine of fold_binary
9775 containing transformations common to both the equality and
9776 ordering relational operators, factored out of fold_binary.
9777 (fold_binary): Separate out the equality operators (EQ_EXPR
9778 and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR,
9779 LE_EXPR and GE_EXPR), calling fold_comparison to perform the
9780 transformations common to both.
74fe790b 9781 (fold_div_compare): Fix latent bugs in the previously unreachable
e26ec0bb
RS
9782 LT_EXPR and GE_EXPR cases.
9783
69ca3549
DE
97842006-02-24 David Edelsohn <edelsohn@gnu.org>
9785
9786 * config/rs6000/rs6000.c (rs6000_init_builtins): Change
9787 decl libname for clog to __clog on AIX.
9788
9789 * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define.
9790
8097c268
AM
97912006-02-24 Alan Modra <amodra@bigpond.net.au>
9792
9793 PR target/26453
9794 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
9795 output traceback table for thunks. Localise rs6000_stack_info call.
9796
efbbbb61
RS
97972006-02-23 Roger Sayle <roger@eyesopen.com>
9798 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9799
9800 * gthr-posix.h (__gthrw): Fix typo in comment.
9801
98022006-02-23 Geoffrey Keating <geoffk@apple.com>
c1e12409
GK
9803
9804 * doc/cpp.texi (Character sets): Document that we do support
9805 input files to be in any character set.
9806
e260a614
JL
98072006-02-23 Jeff Law <law@redhat.com>
9808
357e7a82
JL
9809 * tree.h (PHI_ARG_NONZERO): Remove.
9810 * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO.
9811 (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old
9812 node to the new node.
9813
e260a614
JL
9814 PR tree-optimization/26425
9815 * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL
9816 min/max, then assume its varying.
9817
e755fcf5
ZD
98182006-02-23 Zdenek Dvorak <dvorakz@suse.cz>
9819
9820 PR rtl-optimization/26316
9821 * rtlanal.c (enum may_trap_p_flags): New.
9822 (may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore
9823 MEM_NOTRAP_P if flags & MTP_AFTER_MOVE.
9824 (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1.
9825 (may_trap_after_code_motion_p): New function.
9826 * loop-invariant.c (find_identical_invariants): Fix dump formating.
9827 (find_invariant_insn): Use may_trap_after_code_motion_p.
9828 * rtl.h (may_trap_after_code_motion_p): Declare.
9829
65acccdd
ZD
98302006-02-23 Zdenek Dvorak <dvorakz@suse.cz>
9831
9832 * emit-rtl.c (immed_double_const): Cleanup.
9833
4b0e7346 98342006-02-23 Daniel Berlin <dberlin@dberlin.org>
74fe790b 9835
4b0e7346 9836 Fix PR tree-optimization/26376
e8366202 9837 * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree,
4b0e7346
DB
9838 remove assert.
9839
a5c8d67f
JJ
98402006-02-23 Jakub Jelinek <jakub@redhat.com>
9841
9842 PR middle-end/26412
9843 * gimplify.c (omp_add_variable): Guard variable size decl test with
9844 DECL_SIZE (decl) check.
9845
98b2060a
RG
98462006-02-23 Richard Guenther <rguenther@suse.de>
9847
9848 PR middle-end/26439
9849 * tree-ssa-structalias.c (find_func_aliases): Handle complex types
9850 like aggregate types.
9851
ed965309
JJ
98522006-02-23 Jakub Jelinek <jakub@redhat.com>
9853
9854 * configure.ac: Add --with{,out}-long-double-128 configure option.
9855 (TARGET_DEFAULT_LONG_DOUBLE_128): New test.
9856 * configure: Rebuilt.
9857 * config.in: Rebuilt.
9858 * doc/install.texi (Options specification): Document
9859 --with-long-double-128.
9860
9861 * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128]
9862 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
9863 * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128]
9864 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
9865
98662006-02-23 Aldy Hernandez <aldyh@redhat.com>
9867
9868 * config/s390/s390.c (override_options): Handle
9869 TARGET_DEFAULT_LONG_DOUBLE_128.
9870
9871 * config/alpha/alpha.c (override_options): Handle
9872 TARGET_DEFAULT_LONG_DOUBLE_128.
9873
9874 * config/sparc/sparc.c (sparc_override_options): Handle
9875 TARGET_DEFAULT_LONG_DOUBLE_128.
9876
9fb03bd8
DJ
98772006-02-22 Daniel Jacobowitz <dan@codesourcery.com>
9878
9879 * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR).
9880 (real-install-headers-tar, real-install-headers-cpio)
9881 (real-install-headers-cp): New targets.
9882
e8dad6f0
RS
98832006-02-22 Richard Sandiford <richard@codesourcery.com>
9884
9885 * tree.h (variable_section): Delete.
9886 * varasm.c (variable_section): Delete.
9887
d7f755c3
PB
98882006-02-22 Paolo Bonzini <bonzini@gnu.org>
9889
9890 * install.texi: Add notes on install.texi2html.
9891 (Building in parallel): Do not use footnotes.
9892
4fe7a8bc
AH
98932006-02-21 Aldy Hernandez <aldyh@redhat.com>
9894
9895 PR libgomp/26234
9896 * doc/install.texi (Configuration): Document --disable-libgomp.
9897
6070e8e5
GK
98982006-02-21 Geoffrey Keating <geoffk@apple.com>
9899
9900 * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New.
9901
f8770111
AO
99022006-02-21 Alexandre Oliva <aoliva@redhat.com>
9903
9904 * config/i386/sse.md (vec_extractv2df_1_sse): New.
9905 (vec_extractv2df_0_sse): New.
9906
35d177a2
AO
99072006-02-21 Alexandre Oliva <aoliva@redhat.com>
9908
9909 * defaults.h (CFA_FRAME_BASE_OFFSET): Define.
9910 * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override.
9911 * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document.
9912 * dwarf2out.c (build_cfa_loc): New offset parameter. Add it
9913 to the result of the expression.
9914 (def_cfa_1): Adjust.
9915 (frame_pointer_cfa_offset): Rename to...
9916 (frame_pointer_fb_offset): ... this. Adjust all uses.
9917 (convert_cfa_to_loc_list): Rename to...
9918 (convert_cfa_to_fb_loc_list): ... this. New offset parameter.
9919 Pass it on to build_cfa_loc.
9920 (compute_frame_pointer_to_cfa_displacement): Rename to...
9921 (compute_frame_pointer_to_fb_displacement): ... this. New
9922 offset parameter. Use it in computation.
9923 (gen_subprogram_die): Compute cfa_fb_offset with the new
9924 macro, and use it to compute the fb loc list and the
9925 displacement.
9926
4729dc92
BS
99272006-02-21 Bernd Schmidt <bernd.schmidt@analog.com>
9928
9929 * config/bfin/predicates.md (cc_operand): Delete predicate. All uses
9930 replaced with register_operand.
9931 * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any
9932 non-DREG is expensive.
9933 * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed.
9934 * config/bfin/bfin.md (movbi): Fix constraints and template for moves
9935 involving memory.
9936
520bc8a2
JM
99372006-02-21 Joseph S. Myers <joseph@codesourcery.com>
9938
9939 * doc/install.texi2html: Use set -e.
9940
f5e605e5
RS
99412006-02-21 Richard Sandiford <richard@codesourcery.com>
9942
9943 * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
9944 (ASM_OUTPUT_SHARED_LOCAL): Delete.
9945 * doc/invoke.texi (-fshared-data): Delete.
9946 * common.opt (fshared-data): Delete.
9947 * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling.
9948 (assemble_static_space): Remove #if 0 code.
9949 * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
9950 (ASM_OUTPUT_SHARED_LOCAL): Poison.
9951 * config/cris/cris.h: Remove FIXME.
9952
880b9e7b
PB
99532006-02-21 Paolo Bonzini <bonzini@gnu.org>
9954
9955 * doc/sourcebuild.texi (Front End Directory): No more double-colon
9956 hooks.
9957
5a9e432d
JJ
99582006-02-21 Jakub Jelinek <jakub@redhat.com>
9959
9960 PR middle-end/26379
9961 * combine.c (simplify_shift_const_1): Disable nested shifts
9962 optimization for vector shifts.
9963
c1a70a3c
RS
99642006-02-20 Roger Sayle <roger@eyesopen.com>
9965
9966 PR tree-optimization/26361
9967 * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR
9968 of unsigned integer types.
9969
0ff4040e
SP
99702006-02-20 Sebastian Pop <pop@cri.ensmp.fr>
9971
9972 * tree-chrec.c (eq_evolutions_p): New.
9973 * tree-chrec.h (eq_evolutions_p): Declared.
9974 * tree-data-ref.c: Fix formatting.
9975 (datadep_stats, dependence_stats): New.
9976 (gcd): Moved...
9977 (print_direction_vector): New.
9978 (dump_data_dependence_relation): Use print_direction_vector.
9979 (object_analysis, create_data_ref): Handle COMPONENT_REF.
9980 (compute_subscript_distance): Static.
9981 (initialize_data_dependence_relation): Static. Get the number
9982 of loops surrounding the references from the callers, and initialize
9983 DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and
9984 base_object_differ_p analyzers.
74fe790b 9985 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
0ff4040e
SP
9986 compute_overlap_steps_for_affine_1_2,
9987 analyze_subscript_affine_affine): Count the classified dependences.
9988 Print a message when a test failed.
74fe790b 9989 (can_use_analyze_subscript_affine_affine): New.
0ff4040e
SP
9990 (analyze_siv_subscript): Compute the data dependences on symbolic
9991 scevs that verify can_use_analyze_subscript_affine_affine.
9992 (chrec_steps_divide_constant_p): Returns true, false, or unknown.
9993 (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p.
9994 Handle symbolic scevs.
9995 (analyze_overlapping_iterations): Let symbolic affine scevs to be
9996 analyzed.
9997 (subscript_dependence_tester): Moved...
74fe790b 9998 (build_classic_dist_vector, build_classic_dir_vector): Don't use
0ff4040e
SP
9999 lambda_vector_clear on newly allocated vectors. Get nb_loops from
10000 DDR_SIZE_VECT instead of getting it in parameter.
74fe790b 10001 (subscript_dependence_tester): ... here. Take as a parameter
0ff4040e
SP
10002 loop_nest_depth. Call build_classic_dist_vector and
10003 build_classic_dir_vector.
74fe790b
ZW
10004 (compute_affine_dependence): Update subscript_dependence_tester
10005 parameters. Update datadep_stats counters. Call
0ff4040e 10006 compute_subscript_distance.
74fe790b 10007 (compute_self_dependence): Save the dist and dir vectors. Call
0ff4040e
SP
10008 compute_subscript_distance.
10009 (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved...
10010 (compute_all_dependences): Reorder parameters as they were before
10011 conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call
74fe790b 10012 compute_subscript_distance. Update the use of
0ff4040e
SP
10013 compute_affine_dependence and initialize_data_dependence_relation.
10014 (find_data_references_in_loop): Handle COMPONENT_REF.
10015 (compute_data_dependences_for_loop): Initialize dependence_stats.
10016 Don't call build_classic_dist_vector and build_classic_dir_vector.
74fe790b 10017 Update the parameters of initialize_data_dependence_relation and
0ff4040e
SP
10018 compute_all_dependences. Print the statistics from datadep_stats.
10019 (analyze_all_data_dependences): Static. Not used until the pass for
10020 checking the data dependences is contributed.
10021 * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p),
10022 DEF_VEC_ALLOC_P(ddr_p,heap)): ... here.
74fe790b 10023 (initialize_data_dependence_relation, compute_affine_dependence,
0ff4040e
SP
10024 analyze_all_data_dependences, compute_subscript_distance): Removed.
10025 (print_direction_vector): New.
10026 * lambda.h (gcd): ... here.
10027 (lambda_vector_gcd): Moved here from gcd_vector.
10028 * lambda-code.c (gcd, gcd_vector): Removed.
10029 (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting.
10030 * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H.
10031
643519b7
DN
100322006-02-20 Diego Novillo <dnovillo@redhat.com>
10033
10034 * ipa-type-escape.c: Tidy some comments and white space.
10035 * tree-ssa-operands.c: Likewise.
10036
406f9d5e
AP
100372006-02-20 Andrew Pinski <pinskia@physics.uc.edu>
10038
10039 PR tree-opt/25879
10040 * tree-pretty-print.c (debug_tree_chain): Walk the chains.
10041 (dump_decl_name): Do not walk the decl tree chains.
10042 * tree-pass.h (TDF_CHAIN): Remove.
10043
10044