]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
cmath: Add atan2 and pow bits; add using declarations.
[gcc.git] / gcc / ChangeLog
CommitLineData
7a6164d4
R
12006-03-10 J"orn Rennecke <joern.rennecke@st.com>
2
3 * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
4
3e0a08d7
AP
52006-03-09 Andrew Pinski <pinskia@physics.uc.edu>
6
7 * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable.
8 Set it when one of the replacement functions returned true.
9 Return TODO_cleanup_cfg if cfgchanged is true.
10 (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg.
11
f243cee6
AN
122006-03-09 Adam Nemet <anemet@caviumnetworks.com>
13
14 * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate
15 instead of gen_lowpart.
16
a8c1d5f8
RS
172006-03-09 Richard Sandiford <richard@codesourcery.com>
18
19 * config/mips/mips-protos.h (mips_output_conditional_branch): Change
20 interface.
21 (mips_output_order_conditional_branch): Declare.
22 * config/mips/mips.h (MIPS_BRANCH): New macro.
23 * config/mips/mips.c (gen_conditional_branch): Use VOIDmode
24 for the comparison. Use gen_condjump.
25 (mips_output_conditional_branch): Rework interface to take the
26 asm templates for a direct branch and the inverse of a direct branch.
27 (mips_output_order_conditional_branch): New function.
28 (mips_builtin_branch_and_move): New function.
29 (mips_expand_builtin_compare): Use it. Use VOIDmode for the
30 branch condition. Use gen_single_cc as the condition for
31 __builtin_mips_upper_* or __builtin_mips_lower_*.
32 (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move.
33 Use VOIDmode for the branch condition.
34 * config/mips/predicates.md (order_operator): New predicate.
35 * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant.
36 (branch_fp): Rename to...
37 (*branch_fp): ...this. Remove mode from comparison operator.
38 Use new mips_output_conditional_branch interface.
39 (branch_fp_inverted): Rename to...
40 (*branch_fp_inverted): ...this and update as for *branch_fp.
41 (*branch_zero<mode>): Rename to...
42 (*branch_order<mode>): ...this. Remove mode from comparison operator.
43 Use mips_output_order_conditional_branch. Only accept ordered
44 comparisons.
45 (*branch_zero<mode>_inverted): Rename to...
46 (*branch_order<mode>_inverted): ...this and update as for
47 *branch_order<mode>.
48 (*branch_equality<mode>): Accept zero as the second operand to
49 the equality operator. Use the new mips_output_conditional_branch
50 interface.
51 (*branch_equality<mode>_inverted): Likewise.
52 (condjump): New expander.
53 * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison
54 operator.
55 * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise.
56 (bc1any2t, bc1any2f): Likewise.
57 (single_cc): New expander.
58 (*branch_upper_lower, *branch_upper_lower_inverted): New patterns.
59
cbbb5b6d
RS
602006-03-09 Richard Sandiford <richard@codesourcery.com>
61
62 * doc/md.texi: Update documentation of MIPS constraints.
63 * config/mips/constraints.md: New file.
64 * config/mips/mips.md: Include it.
65 * config/mips/mips.c (mips_char_to_class): Delete.
66 (override_options): Don't initialize mips_char_to_class.
67 * config/mips/mips.h (mips_char_to_class): Delete.
68 (REG_CLASS_FROM_LETTER): Delete.
69 (CONST_OK_FOR_LETTER_P): Delete.
70 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
71 (EXTRA_CONSTRAINT_Y): Delete.
72 (EXTRA_CONSTRAINT_STR): Delete.
73 (CONSTRAINT_LEN): Delete.
74 (EXTRA_MEMORY_CONSTRAINT): Delete.
75
1799e5d5
RH
762006-03-09 Diego Novillo <dnovillo@redhat.com>
77
78 * tree-cfg.c (move_block_to_fn): Remove the statements from the
79 original fn's eh regions.
80
f8fe0545
EB
812006-03-09 Eric Botcazou <ebotcazou@adacore.com>
82
83 * fold-const.c (build_range_check): Make sure to use a valid type to
84 apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)"
85 transformation.
86
87 (range_predecessor): New static function.
88 (range_successor): Likewise.
89 (merge_ranges): Use them to compute predecessors and successors of
90 range bounds.
91
d56ee62b
RS
922006-03-09 Roger Sayle <roger@eyesopen.com>
93
94 PR middle-end/26561
95 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as
96 X op C3, consider whether C3 overflows towards +Inf or -Inf.
97
07127a0a
DD
982006-03-08 DJ Delorie <dj@redhat.com>
99
100 * config/m32c/addsub.md (addqi3): Disparage a0/a1.
101 (addpsi3): Expand to include memory operands. Remove
102 reload-specific splits.
103 * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New.
104 (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New.
105 (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New.
106 (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders.
107 (shift1_qi, shift1_hi, insv): New.
108 * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove.
109 (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed,
110 cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc,
111 cond_to_int): New.
112 * config/m32c/m32c-protos.h: Update as needed.
113 * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't
114 default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1.
115 Fail for unrecognized R* constraints.
116 (m32c_cannot_change_mode_class): Be more picky about pseudos.
117 (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00.
118 (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)).
119 Add Sp constraint.
120 (m32c_init_libfuncs): New.
121 (m32c_legitimate_address_p): Add debug wrapper.
122 (m32c_rtx_costs): New.
123 (m32c_address_cost): New.
124 (conversions): Add 'B' prefix.
125 (m32c_print_operand): 'h' and 'H' pick lower and upper halves of
126 operands, or word regnames for QI operands. 'B' prints bit
127 position.
128 (m32c_expand_setmemhi): New.
129 (m32c_expand_movmemhi): New.
130 (m32c_expand_movstr): New.
131 (m32c_expand_cmpstr): New.
132 (m32c_prepare_shift): Shift counts are limited to 16 bits at a time.
133 (m32c_expand_neg_mulpsi3): Handle non-ints.
134 (m32c_cmp_flg_0): New.
135 (m32c_expand_movcc): New.
136 (m32c_expand_insv): New.
137 (m32c_scc_pattern): New.
138 * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take
139 a0/a1 out of SIregs.
140 (STORE_FLAG_VALUE): New.
141 * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and
142 code macros.
143 (no_insn): New.
144 * config/m32c/mov.md: Make constraints more liberal.
145 (zero_extendqihi2): Optimize r0/r1 case.
146 * config/m32c/muldiv.md (mulpsi3): Check for intvals.
147 * config/m32c/predicates.md (m32c_any_operand): New.
148 (m32c_nonimmediate_operand): New.
149 (m32c_hl_operand): New.
150 (m32c_r3_operand): New.
151 (ap_operand): New.
152 (ma_operand): New.
153 (memsym_operand): New.
154 (memimmed_operand): New.
155 (a_qi_operand): New.
156 (m32c_eqne_operator): New.
157 (m32c_1bit8_operand): New.
158 (m32c_1bit16_operand): New.
159 (m32c_1mask8_operand): New.
160 (m32c_1mask16_operand): New.
161 * config/m32c/blkmov.md: New file.
162 * config/m32c/t-m32c (MD_FILES): Add blkmov.
163
6677e189
AT
1642006-03-08 Andreas Tobler <a.tobler@schweiz.ch>
165
8f4fc766
AT
166 * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum
167 unsigned to fix signed/unsigned comparison issue in
168 DWARF2_FRAME_REG_OUT.
169 (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/
170 unsigned comparison issue in DWARF2_FRAME_REG_OUT.
171
6677e189
AT
172 * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration
173 of ptr into the ENABLE_CHECKING section.
174
60c9ad46
JL
1752006-03-08 Jeff Law <law@redhat.com>
176
177 * tree-vrp.c (infer_value_range): Only count pointer uses
178 and dereferences if -fdelete-null-pointer-checks is enabled.
179
180 * tree-vrp.c (find_assert_locations): Infer value ranges for
181 single use pointers, but do not create ASSERT_EXPRs for them.
182 When a non-null range is inferred for a pointer, backwards
183 propagate that range to other equivalent pointers through the
184 use-def chain.
185
dedfa466
PB
1862006-03-08 Paolo Bonzini <bonzini@gnu.org>
187
188 PR bootstrap/26500
189 * Makefile.in (dvi, html, install-info): Invoke the corresponding
190 language hook targets.
191 * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in,
192 objcp/Make-lang.in: Create stub rules for dvi, html, install-info
193 if language hook targets were missing.
194
ac574e1b
ZD
1952006-03-07 Zdenek Dvorak <dvorakz@suse.cz>
196
197 * tree-ssa-opfinalize.h: Removed.
198 * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h
199 dependency.
200 * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h.
201 (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST,
202 INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op,
203 add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops,
204 finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
205 finalize_ssa_v_must_def_ops): New.
206
50d5ff7d
KZ
2072006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com>
208
209 * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong
210 block as parameter.
211
fb638355
GK
2122006-03-07 Geoffrey Keating <geoffk@apple.com>
213
cd554454
GK
214 * varasm.c (assemble_end_function): Say that 'fnname' is unused.
215
dbde310d
GK
216 * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin
217 addresses with offsets; reorganize.
218
fb638355
GK
219 * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file.
220 (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT.
221 (expand_builtin_init_dwarf_reg_sizes): Likewise.
222
0f047685
DB
2232006-03-08 David Billinghurst <David.Billinghurst@riotinto.com>
224
225 PR target/26588
226 * config/i386/cygwin.h (GOMP_SELF_SPECS): Define.
227
c18f0c26
BE
2282006-03-08 Ben Elliston <bje@au.ibm.com>
229
230 * config/fp-bit.h (CMPtype): Typedef to a word mode integer.
231
48fa3029
AH
2322006-03-07 Aldy Hernandez <aldyh@redhat.com>
233
234 PR gomp/26238
235 * doc/passes.texi (Tree-SSA passes): Document omp lowering and
236 expansion.
237
6f1be8e1
RG
2382006-03-07 Richard Guenther <rguenther@suse.de>
239
240 PR tree-optimization/26587
241 * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR.
242
6410fb81
RS
2432006-03-07 Richard Sandiford <richard@codesourcery.com>
244
245 * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION.
246
1d3dbd99
RS
2472006-03-07 Richard Sandiford <richard@codesourcery.com>
248
249 * hooks.c (hook_bool_mode_rtx_true): New function.
250 * hooks.h (hook_bool_mode_rtx_true): Declare.
251 * toplev.c (compile_file): Call output_shared_constant_pool.
252 * varasm.c (shared_constant_pool): New variable.
253 (assemble_start_function, assemble_end_function): Remove arguments
254 from call to output_constant_pool.
255 (create_constant_pool): New function, split out from...
256 (init_varasm_status): ...here.
257 (force_const_mem): Choose between the shared and per-function constant
258 pools. Set current_function_uses_const_pool when reusing old entries
259 as well as when creating new ones.
260 (mark_constant): Ignore data argument.
261 (mark_constants): Remove pool argument.
262 (mark_constant_pool): Likewise. Use current_function_uses_const_pool
263 to decide whether the function uses a constant pool.
264 (output_constant_pool_contents): New function, split out from...
265 (output_constant_pool): ...here.
266 (output_shared_constant_pool): New function.
267 (init_varasm_once): Initialize shared_constant_pool.
268 * output.h (output_constant_pool): Delete.
269 (output_shared_constant_pool): Declare.
270 * config/s390/s390-protos.h (s390_output_constant_pool): Delete.
271 * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override.
272
7d14f0fc
NC
2732006-03-06 Nick Clifton <nickc@redhat.com>
274
275 * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to
276 flag_strength_reduce.
277
d9b9633d
BE
2782006-03-06 Ben Elliston <bje@au.ibm.com>
279
45b9a4e8
BE
280 * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and
281 x86_64-*-linux* configurations.
282
d9b9633d 283 * config/dfp-bit.h (CMPtype): Typedef to a word mode integer.
c92f986f 284 (LIBGCC2_WORDS_BIG_ENDIAN): Define.
d9b9633d 285
acfc4f0a
KH
2862006-03-05 Kazu Hirata <kazu@codesourcery.com>
287
288 * tree-ssa-threadupdate.c (rediscover_loops_after_threading):
289 Remove.
290 * basic-block.h: Remove the extern for
291 rediscover_loops_after_threading.
292
b00bf166
KH
293 * cfgloop.c (cancel_loop): Make it static.
294 * cfgloop.h: Remove the prototype for cancel_loop.
295
a678e384
KH
296 * flow.c (recompute_reg_usage): Make it static.
297 * rtl.h: Remove the prototype for recompute_reg_usage.
298
0bf8477d
KH
299 * function.c (use_return_register): Make it static.
300 * function.h: Remove the prototype.
301
d42ee77a
KH
3022006-03-05 Kazu Hirata <kazu@codesourcery.com>
303
304 * recog.c (volatile_mem_p, validate_change_maybe_volatile):
305 Remove.
306 * recog.h: Remove the prototype for
307 validate_change_maybe_volatile.
308
dc782dcd
KH
3092006-03-05 Kazu Hirata <kazu@codesourcery.com>
310
311 * rtlanal.c (replace_reg): Remove.
312 * rtl.h: Remove the prototype for replace_reg.
313
3c491cab
KH
3142006-03-05 Kazu Hirata <kazu@codesourcery.com>
315
316 * regclass.c (reg_scan_update): Remove.
317 (reg_scan_mark_refs): Remove the last argument.
318 * rtl.h: Remove the prototype for reg_scan_update.
319
c0220ea4
KH
3202006-03-04 Kazu Hirata <kazu@codesourcery.com>
321
322 * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c,
323 combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c,
324 config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c,
325 config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c,
326 df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c,
327 loop-invariant.c, omp-low.c, opts.c, passes.c,
328 rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c,
329 tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c,
330 tree-ssa-structalias.c, tree-ssa-threadedge.c,
331 tree-ssa-threadupdate.c, tree-vect-patterns.c,
332 tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c,
333 unwind-dw2.c: Fix comment typos. Follow spelling conventions.
334
ae3b9f19
KH
3352006-03-04 Kazu Hirata <kazu@codesourcery.com>
336
337 * dwarf2out.c (dwarf2out_add_library_unit_info): Remove.
338 * dwarf2out.h: Remove the prototype for
339 dwarf2out_add_library_unit_info.
340
a82db052
KH
3412006-03-04 Kazu Hirata <kazu@codesourcery.com>
342
343 * tree.c (add_var_to_bind_expr): Remove.
344 * tree.h: Remove the prototype for add_var_to_bind_expr.
345
3c6c67f8
KH
3462006-03-04 Kazu Hirata <kazu@codesourcery.com>
347
348 * regclass.c (n_non_fixed_regs): Remove.
349 (init_reg_sets_1, globalize_reg): Remove all uses of
350 n_non_fixed_regs.
351 * hard-reg-set.h: Remove the extern for n_non_fixed_regs.
352
22ec0cc8
KH
3532006-03-04 Kazu Hirata <kazu@codesourcery.com>
354
355 * rtlanal.c (insns_safe_to_move_p): Remove.
356 * rtl.h: Remove the prototype for insns_safe_to_move_p.
357
2f8dc5bb
KH
3582006-03-04 Kazu Hirata <kazu@codesourcery.com>
359
360 * expmed.c (expand_mult_add): Remove.
361 * expr.h: Remove the prototype for expand_mult_add.
362
4469af7a
JJ
3632006-03-04 Jakub Jelinek <jakub@redhat.com>
364
365 * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET
366 and REG_SAVED_VAL_EXP constants.
367 * unwind-dw2.c (struct _Unwind_Context): Add by_value array.
368 (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
369 Handle regs stored by value.
370 (_Unwind_SetGRValue, _Unwind_GRByValue): New functions.
371 (execute_cfa_program): Handle DW_CFA_val_offset,
372 DW_CFA_val_offset_sf and DW_CFA_val_expression.
373 (uw_update_context_1): Handle REG_SAVED_REG with regs stored by
374 value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP.
375 (uw_install_context_1): Handle target regs stored by value.
376
efdb3de9
DB
3772006-03-03 Daniel Berlin <dberlin@dberlin.org>
378
379 * tree-sra.c (tree_sra): Return todoflags;
380 (generate_one_element): Set TODO_update_smt_usage if needed.
381 (pass_sra): Remove TODO_update_smt_usage.
382 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some
383 parameter.
384 (tree_ssa_forward_propagate_single_use_vars): Return
385 TODO_update_smt_usage if we need to update SMT usage.
386 (pass_forwprop): Remove TODO_update_smt_usage.
387
65ad7c63
DN
3882006-03-03 Diego Novillo <dnovillo@redhat.com>
389
390 * tree-ssa-operands.c: Tidy whitespace. Fix spelling.
391 (correct_use_link): Remove reference to get_stmt_operands.
392 (update_stmt_operands): Likewise.
393 (get_modify_expr_operands): New function factored out of
394 parse_ssa_operands and get_expr_operands.
395 Try to create V_MUST_DEFs for LHS by default.
396 (get_expr_operands) <case MODIFY_EXPR>: Call
397 get_modify_expr_operands.
398 <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF.
399 <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS.
400 (parse_ssa_operands) <case MODIFY_EXPR>: Call
401 get_modify_expr_operands.
402
417e90ca
KH
4032006-03-03 Kazu Hirata <kazu@codesourcery.com>
404
405 * tree-dfa.c (referenced_var_lookup_if_exists): Remove.
406 * tree-flow.h: Remove the prototype for
407 referenced_var_lookup_if_exists.
408
f6d65153
SE
4092006-03-03 Steve Ellcey <sje@cup.hp.com>
410
411 PR rtl-optimization/26345
412 PR target/19061
413 * config/ia64/predicates.md (basereg_operand): Don't look in subregs.
414
9a75ede0
RS
4152006-03-03 Roger Sayle <roger@eyesopen.com>
416
417 PR tree-optimization/26524
418 * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use
419 fold_convert to create a constant of the appropriate type.
420
3fa9c136
RS
4212006-03-03 Richard Sandiford <richard@codesourcery.com>
422
423 * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
424 SYMBOL_REF_IN_BLOCK_P.
425 * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead
426 of SYMBOL_FLAG_IN_BLOCK.
427 * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P
428 instead of SYMBOL_REF_IN_BLOCK_P.
429 * explow.c (use_anchored_address): Likewise.
430 * rtl.c (rtx_size): Likewise.
431 * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO
432 instead of SYMBOL_FLAG_IN_BLOCK.
433 (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
434 SYMBOL_REF_IN_BLOCK_P.
435 (assemble_variable): Likewise.
436 (output_constant_def_contents): Likewise.
437 (output_constant_pool): Likewise.
438 (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO
439 instead of SYMBOL_FLAG_IN_BLOCK.
440 * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
441 SYMBOL_REF_IN_BLOCK_P.
442 (SYMBOL_REF_BLOCK): Likewise.
443 (SYMBOL_REF_OFFSET): Likewise.
444 (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
445 SYMBOL_REF_IN_BLOCK_P.
446 (SYMBOL_FLAG_IN_BLOCK): Replace with...
447 (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this.
448 (SYMBOL_REF_IN_BLOCK_P): Replace with...
449 (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this.
450
f677599e
JJ
4512006-03-03 Jakub Jelinek <jakub@redhat.com>
452
453 * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto.
454
0f2f71b5
RS
4552006-03-02 Roger Sayle <roger@eyesopen.com>
456
457 * simplify-rtx.c (simplify_unary_operation): When simplifying
458 (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure
459 that we perform the right shift in the appropriate mode, and
460 then extend or truncate the result to requested mode.
461
f82783bd
ZD
4622006-03-03 Zdenek Dvorak <dvorakz@suse.cz>
463
464 * gengtype.c (main): Handle double_int type.
465 * tree.h (struct tree_int_cst): Make type of int_cst double_int.
466 * double-int.c: New file.
467 * double-int.h: New file.
468 * system.h: Include doubleint.h.
469 * Makefile.in (SYSTEM_H): Include double-int.h.
470 (double-int.o): Add.
471
778f0e89
JM
4722006-03-03 Joseph S. Myers <joseph@codesourcery.com>
473
474 PR bootstrap/26478
475 * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before
476 copying over it.
477
701b8964
ZD
4782006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
479
0f2f71b5
RS
480 * tree-vrp.c (remove_range_assertions): Do not update statements
481 unnecessarily.
701b8964 482
59994160
ZD
4832006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
484
485 * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg
486 cleanup.
487 * gcse.c (rest_of_handle_gcse): Ditto.
488 * except.c (gate_handle_eh): Ditto.
489 * cfgcleanup.c (rest_of_handle_jump2): Ditto.
490 * basic-block.h (CLEANUP_PRE_LOOP): Remove.
491
5143b5fc
EC
4922006-03-02 Eric Christopher <echristo@apple.com>
493
494 * config/i386/i386.c (machopic_output_stub): Add indirection to
495 jump.
496
c6ba18c6
ZD
4972006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
498
499 * loop.c: Removed.
500
4c837a1e
DM
5012006-03-02 David S. Miller <davem@sunset.davemloft.net>
502
503 Sun Niagara specific optimizations.
504 * config.gcc: Recognize niagara as target.
505 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara.
506 (TARGET_CPU_niagara): Define.
507 (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara.
508 (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara.
509 (CPP_CPU_SPEC): Handle -mcpu=niagara.
510 (ASM_CPU_SPEC): Likewise.
511 (PROCESSOR_NIAGARA): New enum entry.
512 (REGISTER_MOVE_COST): Handle Niagara.
513 (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise.
514 * config/sparc/sparc.c (niagara_costs): New processor_costs entry.
515 (sparc_override_options): Recognize "niagara", set appropriate
516 default MASK_* values for it, and align functions to 32-bytes
517 by default just like ULTRASPARC/ULTRASPARC3.
518 (sparc_initialize_trampoline): Handle niagara like ultrasparc.
519 (sparc64_initialize_trampoline): Likewise.
520 (sparc_use_sched_lookahead): Use zero for niagara.
521 (sparc_issue_rate): Use one for niagara.
522 * config/sparc/niagara.md: New file.
523 * config/sparc/sparc.md: Include it.
524 * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC,
525 ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately
526 when default cpu is niagara.
527 (CPP_CPU_SPEC): Handle -mcpu=niagara.
528 (ASM_CPU_SPEC): Likewise.
529 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately
530 when default cpu is niagara.
531 (ASM_CPU_SPEC): Handle -mcpu=niagara.
532 * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara
533 just like v9/ultrasparc/ultrasparc3.
534 * doc/invoke.texi: Add documentation for "niagara" and improve
535 existing documentation for ultrasparc variants.
5143b5fc 536
2434ab1d
DN
5372006-03-02 Diego Novillo <dnovillo@redhat.com>
538
539 * tree-ssa-operands.c (update_stmt_operands): Update documentation.
540
434aeebb
RS
5412006-03-02 Richard Sandiford <richard@codesourcery.com>
542
543 * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document.
544 (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS,
545 and say that only one is needed.
546 * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null.
547 * target.h (have_switchable_bss_sections): New hook.
548 * explow.c (use_anchored_address): Check that the symbol is in a block.
549 * varasm.c (tls_comm_section, comm_section, lcomm_section)
550 (bss_noswitch_section): New variables.
551 (get_unnamed_section): Add SECTION_UNNAMED to the flags.
552 (get_noswitch_section): New function.
553 (get_block_for_section): Allow SECT to be null.
554 (unlikely_text_section_p): Use SECTION_STYLE.
555 (bss_initializer_p): New function.
556 (get_variable_section): Move earlier in file. Take a new argument,
557 prefer_noswitch_p. Move bss checks from assemble_variable to here.
558 Return one of the new *_sections in such cases.
559 (get_block_for_decl): New function, extracting some logic from
560 use_blocks_for_decl_p.
561 (change_symbol_section): Remove in favor of...
562 (change_symbol_block): ...this new function.
563 (use_blocks_for_decl_p): Remove checks now performed by
564 get_block_for_decl.
565 (make_decl_rtl): Use change_symbol_block and get_block_for_decl.
566 (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of...
567 (emit_local, emit_bss, emit_common): ...these new functions.
568 Return true if the alignment was honored.
569 (emit_tls_common): New function.
570 (asm_emit_uninitialised): Delete.
571 (assemble_variable_noswitch): New function, split out from...
572 (assemble_variable): ...here. Don't make decisions about common
573 variables here. Globalize all public decls that go into non-common
574 sections. Check whether SYMBOL_REF_BLOCK is null.
575 (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null.
576 (output_constant_pool): Likewise.
577 (init_varasm_once): Initialize the new section variables.
578 (have_global_bss_p): New function.
579 (categorize_decl_for_section): Use bss_initializer_p.
580 (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH.
581 (place_block_symbol): Assert that the symbol must be in a block.
582 * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro.
583 (TARGET_INITIALIZER): Include it.
584 * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative.
585 * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros.
586 (SECTION_MACH_DEP): Bump by two.
587 (SECTION_UNNAMED, SECTION_NOSWITCH): New macros.
588 (unnamed_section): Mention SECTION_UNNAMED in comment.
589 (named_section): Likewise SECTION_NAMED.
590 (noswitch_section_callback): New type.
591 (noswitch_section): New structure.
592 (section): Add a noswitch_section alternative.
593 (SECTION_STYLE): New macro.
594 (tls_comm_section, comm_section, lcomm_section): Declare.
595 (bss_noswitch_section, have_global_bss_p): Declare.
596 * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
597 * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
598 Override.
599 * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
600 * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
601 Override.
602
c2924966
DB
6032006-03-02 Daniel Berlin <dberlin@dberlin.org>
604
605 * gcc/tree-vrp.c (execute_vrp): Return value.
606 * gcc/regrename.c (rest_of_handle_regrename): Ditto.
607 * gcc/tree-into-ssa.c (rewrite_into_ssa): Ditto.
608 * gcc/tree-complex.c (tree_lower_complex): Ditto.
609 (tree_lower_complex_O0): Ditto.
610 * gcc/tracer.c (rest_of_handle_tracer): Ditto.
611 * gcc/postreload-gcse.c (rest_of_handle_gcse2): Ditto.
612 * gcc/postreload.c (rest_of_handle_postreload): Ditto.
613 * gcc/tree-tailcall.c (execute_tail_recursion): Ditto.
614 (execute_tail_calls): Ditto.
615 * gcc/tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
616 * gcc/tree.h (init_function_for_compilation): Ditto.
617 * gcc/ipa-cp.c (ipcp_driver): Ditto.
618 * gcc/tree-scalar-evolution.c (scev_const_prop): Ditto.
619 * gcc/tree-scalar-evolution.h (scev_const_prop): Ditto.
620 * gcc/final.c (compute_alignments): Ditto.
621 (rest_of_handle_final): Ditto.
622 (rest_of_handle_shorten_branches): Ditto.
623 (rest_of_clean_state): Ditto.
624 * gcc/omp-low.c (execute_expand_omp): Ditto.
625 (execute_lower_omp): Ditto.
626 * gcc/tree-ssa-dse.c (tree_ssa_dse): Ditto.
627 * gcc/ipa-reference.c (static_execute): Ditto.
628 * gcc/tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
629 * gcc/reorg.c (rest_of_handle_delay_slots): Ditto.
630 (rest_of_handle_machine_reorg): Ditto.
631 * gcc/cgraphunit.c (rebuild_cgraph_edges): Ditto.
632 * gcc/flow.c (recompute_reg_usage): Ditto.
633 (rest_of_handle_remove_death_notes): Ditto.
634 (rest_of_handle_life): Ditto.
635 (rest_of_handle_flow2): Ditto.
636 * gcc/tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
637 * gcc/tree-ssa-ccp.c (do_ssa_ccp): Ditto.
638 (do_ssa_store_ccp): Ditto.
639 (execute_fold_all_builtins): Ditto.
640 * gcc/mode-switching.c (rest_of_handle_mode_switching): Ditto.
641 * gcc/modulo-sched.c (rest_of_handle_sms): Ditto.
642 * gcc/ipa-pure-const.c (static_execute): Ditto.
643 * gcc/cse.c (rest_of_handle_cse): Ditto.
644 (rest_of_handle_cse2): Ditto.
645 * gcc/web.c (rest_of_handle_web): Ditto.
646 * gcc/tree-stdarg.c (execute_optimize_stdarg): Ditto.
647 * gcc/tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
648 * gcc/tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
649 * gcc/tree-nrv.c (tree_nrv): Ditto.
650 (execute_return_slot_opt): Ditto.
651 * gcc/tree-ssa-alias.c (compute_may_aliases): Ditto.
652 (create_structure_vars): Ditto.
653 * gcc/loop-init.c (rtl_loop_init): Ditto.
654 (rtl_loop_done): Ditto.
655 (rtl_move_loop_invariants): Ditto.
656 (rtl_unswitch): Ditto.
657 (rtl_unroll_and_peel_loops): Ditto.
658 (rtl_doloop): Ditto.
659 * gcc/gimple-low.c (lower_function_body): Ditto.
660 (mark_used_blocks): Ditto.
661 * gcc/tree-ssa-sink.c (execute_sink_code): Ditto.
662 * gcc/ipa-inline.c (cgraph_decide_inlining): Ditto.
663 (cgraph_early_inlining): Ditto.
664 * gcc/global.c (rest_of_handle_global_alloc): Ditto.
665 * gcc/jump.c (cleanup_barriers): Ditto.
666 (purge_line_number_notes): Ditto.
667 * gcc/ifcvt.c (rest_of_handle_if_conversion): Ditto.
668 (rest_of_handle_if_after_reload): Ditto.
669 * gcc/tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
670 (tree_ssa_loop_im): Ditto.
671 (tree_ssa_loop_unswitch): Ditto.
672 (tree_vectorize): Ditto.
673 (tree_linear_transform): Ditto.
674 (tree_ssa_loop_ivcanon): Ditto.
675 (tree_ssa_empty_loop): Ditto.
676 (tree_ssa_loop_bounds): Ditto.
677 (tree_complete_unroll): Ditto.
678 (tree_ssa_loop_prefetch): Ditto.
679 (tree_ssa_loop_ivopts): Ditto.
680 (tree_ssa_loop_done): Ditto.
681 * gcc/predict.c (tree_estimate_probability): Ditto.
682 * gcc/recog.c (split_all_insns_noflow): Ditto.
683 (rest_of_handle_peephole2): Ditto.
684 (rest_of_handle_split_all_insns): Ditto.
685 * gcc/tree-eh.c (lower_eh_constructs): Ditto.
686 * gcc/regmove.c (rest_of_handle_regmove): Ditto.
687 (rest_of_handle_stack_adjustments): Ditto.
688 * gcc/local-alloc.c (rest_of_handle_local_alloc): Ditto.
689 * gcc/function.c (instantiate_virtual_regs): Ditto.
690 (init_function_for_compilation): Ditto.
691 (rest_of_handle_check_leaf_regs): Ditto.
692 * gcc/gcse.c (rest_of_handle_jump_bypass): Ditto.
693 (rest_of_handle_gcse): Ditto.
694 * gcc/ipa-type-escape.c (type_escape_execute): Ditto.
695 * gcc/alias.c (rest_of_handle_cfg): Ditto.
696 * gcc/tree-if-conv.c (main_tree_if_conversion): Ditto.
697 * gcc/profile.c (rest_of_handle_branch_prob): Ditto.
698 * gcc/tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
699 * gcc/rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
700 * gcc/bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
701 * gcc/tree-dfa.c (find_referenced_vars): Ditto.
702 * gcc/except.c (set_nothrow_function_flags): Ditto.
703 (convert_to_eh_region_ranges): Ditto.
704 (rest_of_handle_eh): Ditto.
705 * gcc/emit-rtl.c (unshare_all_rtl): Ditto.
706 (remove_unnecessary_notes): Ditto.
707 * gcc/except.h (set_nothrow_function_flags): Ditto.
708 (convert_to_eh_region_ranges): Ditto.
709 * gcc/cfgexpand.c (tree_expand_cfg): Ditto.
710 * gcc/tree-cfgcleanup.c (merge_phi_nodes): Ditto.
711 * gcc/tree-ssa-pre.c (do_pre): Ditto.
712 (execute_fre): Ditto.
713 * gcc/cfgcleanup.c (rest_of_handle_jump): Ditto.
714 (rest_of_handle_jump2): Ditto.
715 * gcc/tree-sra.c (tree_sra): Ditto.
716 * gcc/tree-mudflap.c (execute_mudflap_function_ops): Ditto.
717 (execute_mudflap_function_decls): Ditto.
718 * gcc/tree-ssa-copy.c (do_copy_prop): Ditto.
719 (do_store_copy_prop): Ditto.
720 * gcc/ipa-prop.h (ipcp_driver): Ditto.
721 * gcc/cfglayout.c (insn_locators_initialize): Ditto.
722 * gcc/tree-ssa-forwprop.c
723 (tree_ssa_forward_propagate_single_use_vars): Ditto.
724 * gcc/cfglayout.h (insn_locators_initialize): Ditto.
725 * gcc/tree-ssa-dce.c (tree_ssa_dce): Ditto.
726 * gcc/tree-ssa.c (execute_early_warn_uninitialized): Ditto.
727 (execute_late_warn_uninitialized): Ditto.
728 * gcc/rtl.h (cleanup_barriers): Ditto.
729 (split_all_insns_noflow): Ditto.
730 (purge_line_number_notes): Ditto.
731 (unshare_all_rtl): Ditto.
732 (remove_unnecessary_notes): Ditto.
733 (recompute_reg_usage): Ditto.
734 (variable_tracking_main): Ditto.
735 * gcc/integrate.c (emit_initial_value_sets): Ditto.
736 * gcc/integrate.h (emit_initial_value_sets): Ditto.
737 * gcc/tree-optimize.c (execute_free_datastructures): Ditto
738 (execute_free_cfg_annotations): Ditto.
739 (execute_fixup_cfg): Ditto.
740 (execute_cleanup_cfg_pre_ipa): Ditto.
741 (execute_cleanup_cfg_post_optimizing): Ditto.
742 (execute_init_datastructures): Ditto.
743 * gcc/tree-object-size.c (compute_object_sizes): Ditto.
744 * gcc/combine.c (rest_of_handle_combine): Ditto.
745 * gcc/tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
746 * gcc/bb-reorder.c (duplicate_computed_gotos): Ditto.
747 (rest_of_handle_reorder_blocks): Ditto.
748 (rest_of_handle_partition_blocks): Ditto.
749 * gcc/var-tracking.c (variable_tracking_main): Ditto.
750 * gcc/tree-profile.c (tree_profiling): Ditto.
751 * gcc/tree-vect-generic.c (expand_vector_operations): Ditto.
752 * gcc/reg-stack.c (rest_of_handle_stack_regs): Ditto.
753 * gcc/sched-rgn.c (rest_of_handle_sched): Ditto.
754 (rest_of_handle_sched2): Ditto.
755 * gcc/basic-block.h (free_bb_insn): Ditto.
756 * gcc/tree-ssa-structalias.c (ipa_pta_execute): Ditto.
757 * gcc/tree-cfg.c (execute_build_cfg): Ditto.
758 (remove_useless_stmts): Ditto.
759 (split_critical_edges): Ditto.
760 (execute_warn_function_return): Ditto.
761 (execute_warn_function_noreturn): Ditto.
762 * gcc/tree-ssa-reassoc.c (execute_reassoc): Ditto.
763 * gcc/cfgrtl.c (free_bb_for_insn): Ditto.
764 * gcc/passes.c (execute_one_pass): Run additional
765 todos returned by execute function.
766 * gcc/tree-pass.h (struct tree_opt_pass): Make execute
767 return a value.
768
62c577fd
RG
7692006-03-02 Richard Guenther <rguenther@suse.de>
770
771 * tree-ssa-alias.c (find_used_portions): Consider taking
772 the address as making the variable not write-only.
773
c5dde55b
NC
7742006-03-02 Nick Clifton <nickc@redhat.com>
775
776 * config.gcc (default_use_cxa_atexit): Extend the description of
777 this configure variable. Set its default value to "yes" for
778 Linux, NetBSD and ELF targets on the assumption that they will
779 use C libraries with the __cxa_atexit function.
780
75334508
BE
7812006-03-02 Ben Elliston <bje@au.ibm.com>
782
783 * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs'
784 parameter as unused to suppress a build warning.
785
16c44183
BE
7862006-03-02 Ben Elliston <bje@au.ibm.com>
787
788 * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile
789 config/dfp-bit.c.
790
a11dd268
RS
7912006-03-01 Roger Sayle <roger@eyesopen.com>
792
793 PR other/26489
794 * gthr-posix.h (__gthrw2): Define to take three parameters, the
795 declared name, the weak reference name, and the typeof name.
796 (__gthrw): Avoid expanding the declared name suffix.
797 (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls.
798
d213accd
JJ
7992006-03-01 Jakub Jelinek <jakub@redhat.com>
800
801 * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants
802 from DWARF 3.
803 (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale,
804 DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count,
805 DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled,
806 DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity,
807 DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New.
808 (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New.
809 (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited,
810 DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New.
811 (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch,
812 DW_DS_leading_separate, DW_DS_trailing_separate): New.
813 (DW_END_default, DW_END_big, DW_END_little): New.
814 (DW_END_lo_user, DW_END_hi_user): Define.
815 (DW_LNE_lo_user, DW_LNE_hi_user): Define.
816 (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New.
817 (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC,
818 DW_LANG_D): New.
819
18cd8a03
DN
8202006-03-01 Diego Novillo <dnovillo@redhat.com>
821
822 * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG.
823 Update all users.
824 * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage.
825 Update all users.
826 (TODO_update_smt_usage): Rename from TODO_update_tmt_usage.
827 Update all users.
828 * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE.
829 Update all users.
830 * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag'
831 to 'symbol_mem_tag'.
832 Update all users.
833 * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT
834 rename.
835
8acb1b3d
RS
8362006-03-01 Roger Sayle <roger@eyesopen.com>
837
838 * builtins.c (fold_builtin_copysign): Delete unreachable code.
839
c446d1a7
AP
8402006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
841
842 PR target/25761
843 * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just
844 MACHO_DYNAMIC_NO_PIC_P.
845 (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P.
846
ab0ff804
AP
8472006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
848
849 PR target/26389
850 * config/darwin-protos.h (darwin_asm_output_anchor):
851 Declare.
852 * config/darwin-sections.def (cstring_section):
853 Add SECTION_MERGE to the flags.
854 (literal4_section): Likewise.
855 (literal8_section): Likewise.
856 (objc_selector_refs_section): Likewise.
857 (objc_cls_refs_section): Likewise.
858 * config/darwin.c (darwin_asm_output_anchor): New
859 function.
860 * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define.
861
607f460c 8622006-03-01 Daniel Berlin <dberlin@dberlin.org>
18cd8a03 863
607f460c
DB
864 Fix PR tree-optimization/26443
865 * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage
866 to todo and PROP_tmt_usage to properties_destroyed.
867 * tree-ssa-ccp.c (pass_ccp): Ditto.
868 (pass_store_ccp): Ditto.
869 * tree-ssa-dom.c (pass_dominator): Ditto.
870
02075bb2
DN
8712006-03-01 Diego Novillo <dnovillo@redhat.com>
872
873 * tree-ssa-operands.c: Cleanup whitespace.
874 (get_asm_expr_operands): Move before first invocation.
875 (get_indirect_ref_operands): Likewise.
876 (get_tmr_operands): Likewise.
877 (get_call_expr_operands): Likewise.
878 (append_def): Likewise.
879 (append_use): Likewise.
880 (append_v_may_def): Likewise.
881 (append_v_must_def): Likewise.
882 (add_call_clobber_ops): Likewise.
883 (add_call_read_ops): Likewise.
884 (add_stmt_operand): Likewise.
885 (add_virtual_operand): Likewise.
886 (build_ssa_operands): Likewise.
887
8882006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
1809ff6b
AP
889
890 PR middle-end/26022
891 Revert:
892 PR middle-end/24437
893 * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF
894 with a call expr to ...
895 * fold-const.c (fold_ternary) <case CALL_EXPR>: Here.
896
6578c101
DN
8972006-03-01 Diego Novillo <dnovillo@redhat.com>
898
899 * tree-vrp.c (extract_range_from_assert): Remove special
900 handling for types with super-types.
901
0eafb3ec
BE
9022006-03-01 Ben Elliston <bje@au.ibm.com>
903
ec09c26e
BE
904 * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux*
905 and powerpc64-*-linux* configurations.
906 * config/t-dfprules: New file.
907
0eafb3ec
BE
908 * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS.
909 Compile dfp-bit.c from the source directory using -DWIDTH and
910 $DFP_CFLAGS to control the compilation of that file, rather than
911 generating width-specific versions in the build directory.
912 * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS.
913 (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc].
914
cccb0908
ZW
9152006-02-28 Zack Weinberg <zackw@panix.com>
916
917 * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7
918 continues to work.
919
31abac07
EC
9202006-02-28 Eric Christopher <echristo@apple.com>
921
922 * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define.
923 Set up IN_LIBGCC definition of TARGET_64BIT.
924 * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define.
925
c457fcec
RS
9262006-02-28 Roger Sayle <roger@eyesopen.com>
927
928 PR middle-end/14752
929 * c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR,
930 BIT_XOR_EXPR, BIT_AND_EXPR>: Delete. Let fold optimize these
931 cases via the construction of "expr != 0".
932
63292ebf
SB
9332006-02-28 Steven Bosscher <stevenb.gcc@gmail.com>
934
935 * alias.c (alias_invariant, alias_invariant_size): Remove.
936 (record_base_value): Remove.
937 (memrefs_conflict_p): Don't look at alias_invariant.
938 (end_alias_analysis): Don't free it.
939 * alias.h (record_base_value): Remove prototype.
940
d3b72690
PB
9412006-02-28 Paolo Bonzini <bonzini@gnu.org>
942 Adam Nemet <anemet@caviumnetworks.com>
943
944 * rtl.h (truncated_to_mode): Declare it.
945 (struct rtl_hooks): Add reg_truncated_to_mode hook.
946 * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro.
947 (RTL_HOOKS_INITIALIZER): Include it.
948 * rtlhooks.c (reg_truncated_to_mode_general): New function.
949 * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to
950 reg_truncated_to_mode.
951 * rtlanal.c (truncated_to_mode): Define it.
952 * simplify-rtx.c (simplify_unary_operation_1): Use it.
953
ea45681a
JL
9542006-02-28 Jeff Law <law@redhat.com>
955
e5c7f9f5
JL
956 * tree-chrec.c (chrec_convert_aggressive): Do not eliminate
957 conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover
958 the range allowed by TYPE_PRECISION.
959
ea45681a
JL
960 * tree.h (strct phi_arg_d): Remove unused NONZERO field.
961
7ffe0f0d
DN
9622006-02-28 Dorit Nuzman <dorit@il.ibm.com>
963
964 PR tree-optimization/26419
965 * doc/invoke.texi (ftree-vectorizer-verbose): Add information on
966 values of n.
967
3fa1b0e5
ZW
9682006-02-27 Zack Weinberg <zackw@panix.com>
969
970 * doc/md.texi: Fix typo in previous change.
971
75743f02
KZ
9722006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com>
973
974 * df.c: Remove.
975
f38840db
ZW
9762006-02-27 Zack Weinberg <zackw@panix.com>
977
978 * rtl.def (define_constraint, define_register_constraint)
979 (define_memory_constraint, define_address_constraint): New MD forms.
980 * gensupport.c (process_rtx): Put define_constraint etc on the
981 predicate queue.
982 * genpreds.c (process_define_predicate): Adjust comment. Validate
983 the name, and call validate_exp to validate the expression.
984 (mark_mode_tests, write_extract_subexp): Can assume correct input.
985 (write_predicate_expr): Likewise. NAME argument no longer necessary;
986 all callers changed.
987 (validate_exp, needs_variable, struct constraint_data)
988 (constraints_by_letter_table, first_constraint, last_constraint_ptr)
989 (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints)
990 (const_dbl_constraints, constraint_max_namelen)
991 (have_register_constraints, have_memory_constraints)
992 (have_address_constraints, have_address_constraints)
993 (have_extra_constraints, have_const_int_constraints)
994 (have_const_dbl_constraints, mangle, add_constraint)
995 (process_define_constraint, process_define_register_constraint)
996 (write_enum_constraint_num, write_lookup_constraint)
997 (write_insn_constraint_len, write_regclass_for_constraint)
998 (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint)
999 (write_insn_extra_memory_constraint)
1000 (write_insn_extra_address_constraint)
1001 (write_satisfies_constraint_fns): New.
1002 (write_tm_preds_h): If we have new-style constraint definitions,
1003 prototype the functions generated from them, and define the
1004 old constraint interface (still used by generic code) in terms of
1005 those functions.
1006 (write_insn_preds_c): If we have new-style constraint definitions,
1007 generate all relevant functions from those definitions.
1008 (main): Handle define_constraint etc.
1009 * genoutput.c (struct constraint_data, indep_constraints)
1010 (mdep_constraint_letters, constraints_by_letter_table, note_constraint)
1011 (mdep_constraint_len): New data structures and functions, defined
1012 #ifdef USE_MD_CONSTRAINTS.
1013 (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS.
1014 (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined,
1015 use new logic to validate operand constraints against constraint
1016 definitions.
1017 (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is
1018 defined.
1019 * defaults.h: If none of the old-style constraint macros are
1020 defined, define USE_MD_CONSTRAINTS; do not provide defaults for any
1021 old-style macros; and poison REG_CLASS_FROM_LETTER,
1022 CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and
1023 EXTRA_CONSTRAINT.
1024 * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately.
1025 * doc/md.texi: Document new constraint-definition mechanism and the
1026 C interface it provides. Remove references to old mechanism
1027 elsewhere in the document.
1028 (Machine Constraints): Use pathnames relative to gcc directory,
1029 i.e. config/ARCH/FILE. Change i386 section to refer to
1030 config/i386/predicates.md; update that section to match docstrings.
1031 * doc/tm.texi: Move all documentation of the old constraint-
1032 definition macros to their own section, clearly mark as obsolete.
1033
1034 * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t)
1035 (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint
1036 definitions.
1037 * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
1038 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
1039 * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from
1040 constraint strings.
1041 (splits and peepholes): Use satisfies_constraint_*.
1042 * config/i386/i386.c (memory_address_length)
1043 (ix86_attr_length_immediate_default): Use satisfies_constraint_*.
1044
e3e868f6
DB
10452006-02-27 Daniel Berlin <dberlin@dberlin.org>
1046
1047 * lambda-code.c (can_convert_to_perfect_nest): Allow any type of
1048 scalar operation to be put back into the loop.
1049
754e45a8
JJ
10502006-02-27 Jakub Jelinek <jakub@redhat.com>
1051
1052 PR other/26208
1053 * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field.
1054 (extract_cie_info): Handle S flag in augmentation string.
1055 (execute_cfa_program): If context->signal_frame, execute also
1056 fs->pc == context->ra instructions.
1057 (uw_frame_state_for): If context->signal_frame, don't subtract one
1058 from context->ra to find FDE.
1059 (uw_update_context_1): Set context->signal_frame to
1060 fs->signal_frame.
1061 (_Unwind_GetIPInfo): New function.
1062 * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field.
1063 * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
1064 of _Unwind_GetIP.
1065 * unwind-sjlj.c (_Unwind_GetIPInfo): New function.
1066 * unwind-generic.h (_Unwind_GetIPInfo): New prototype.
1067 * unwind-compat.c (_Unwind_GetIPInfo): New function.
1068 * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0.
1069 * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function.
1070 * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define.
1071 * config/i386/linux-unwind.h (x86_fallback_frame_state,
1072 x86_64_fallback_frame_state): Set fs->signal_frame.
1073 * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
1074 (MD_FROB_UPDATE_CONTEXT): Define unconditionally.
1075 (frob_update_context): Likewise. Workaround missing S flag in
1076 Linux 2.6.12 - 2.6.16 kernel vDSOs.
1077 * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
1078 Remove the psw_addr + 1 hack.
1079
6df11ca1
DB
10802006-02-27 Daniel Berlin <dberlin@dberlin.org>
1081
1082 * tree-ssa-structalias.c (get_constraint_for): Move code to deal
1083 with aggregates here.
1084 (find_func_aliases): Remove code for &<aggregate> from here.
1085
5881ad5d
RS
10862006-02-26 Roger Sayle <roger@eyesopen.com>
1087
1088 * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as
1089 (X & C) ne/eq 0, where C is a single bit, i.e. a power of two.
1090 Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0"
1091 as (X & C) ne/eq 0.
1092
53f1b560
RS
10932006-02-26 Roger Sayle <roger@eyesopen.com>
1094
1095 PR middle-end/19983
1096 * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes.
1097
efa1cdf0
ZD
10982006-02-26 Zdenek Dvorak <dvorakz@suse.cz>
1099
1100 * opts.c (decode_options): Do not handle flag_strength_reduce.
1101 (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt
1102 and OPT_fstrength_reduce.
1103 * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test
1104 flag_prefetch_loop_arrays for being nonzero.
1105 * common.opt (floop-optimize, frerun-loop-opt): Resurrected as
1106 no-ops.
1107 (fprefetch-loop-arrays-rtl): Removed.
1108 (flag_prefetch_loop_arrays): Do not specify the value.
1109
1110 * doc/passes.texi: Update documentation of loop optimizer
1111 passes.
1112 * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl,
1113 -frerun-loop-opt): Remove.
1114
651402f1
RG
11152006-02-26 Richard Guenther <rguenther@suse.de>
1116
1117 PR tree-optimization/26421
1118 * tree-ssa-alias.c (find_used_portions): Don't treat parameters
1119 in function calls that are ADDR_EXPRs as using the whole structure.
1120
37818e7c
SB
11212006-02-26 Steven Bosscher <stevenb.gcc@gmail.com>
1122
1123 * common.opt (-floop-optimize, -frerun-loop-opt): Remove.
1124 * tree-pass.h (pass_loop_optimize): Remove.
1125 * passes.c (pass_loop_optimize): Never run it.
1126 * toplev.c (backend_init): Don't call init_loop.
1127 * opts.c (flag_loop_optimize_set): Remove.
1128 (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt.
1129 (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable
1130 the old RTL loop optimizer when profiling enabled.
1131 * predict.c (tree_estimate_probability): Always strip builtin_expect.
1132 * cfgcleanup.c (try_forward_edges): Don't avoid killing loop
1133 pre-headers for the sake of the old RTL loop optimizer.
1134 * Makefile.in: Remove all references to loop.o.
1135
1136 * doc/invoke.texi: Remove all references to -floop-optimize
1137 and -frerun-loop-opt.
1138
74fe790b
ZW
11392006-02-26 Zack Weinberg <zackw@panix.com>
1140
1141 * doc/md.texi (Machine Constraints): Refer to all files with paths
1142 relative to gcc directory (i.e. config/CPU/file). Add missing
1143 @table @code ... @end table to M32C subsection.
1144
cef65eaa
RS
11452006-02-26 Roger Sayle <roger@eyesopen.com>
1146
1147 * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as
1148 (X & 1) == 0.
1149 <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0.
1150
a861485c
RS
11512006-02-26 Roger Sayle <roger@eyesopen.com>
1152 James A. Morrison <phython@gcc.gnu.org>
1153
1154 PR middle-end/21137
1155 * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0,
1156 when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the
1157 new constant C2<<C1, or as (X<0) or (X,false) depending upon the
1158 signedness of the shift operation.
1159
afa38a95
DN
11602006-02-26 Dorit Nuzman <dorit@il.ibm.com>
1161
1162 PR tree-optimization/26359
1163 * tree-ssa-alias.c (new_type_alias): Set fields for new tag.
1164
5484a3c3
RS
11652006-02-25 Roger Sayle <roger@eyesopen.com>
1166
1167 * simplify-rtx.c (simplify_relational_operation_1): Simplify
1168 (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y
1169 as X == 0, and some symmetry related transformations.
1170 Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line.
1171
eb8dffe0
RS
11722006-02-25 Roger Sayle <roger@eyesopen.com>
1173
1174 PR middle-end/23673
1175 * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y
1176 and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some
1177 symmetry related transformations. Fold (X^C1) == C2 as
1178 X == (C1^C2).
1179
332cf1b3
JW
11802006-02-25 Juergen Weigert <jw@suse.de>
1181 Richard Guenther <rguenther@suse.de>
1182
1183 * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF.
1184
a4876725
AN
11852006-02-24 Adam Nemet <anemet@caviumnetworks.com>
1186
1187 * combine.c (gen_lowpart_or_truncate): Call
1188 simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE.
1189
8d669cbd
DN
11902006-02-24 Diego Novillo <dnovillo@redhat.com>
1191
1192 * doc/invoke.texi: Move -fopenmp description to "Options for
1193 Code Generation".
1194 Remove reference to -lgomp.
1195
f44a5ab6
DE
11962006-02-24 David Edelsohn <edelsohn@gnu.org>
1197
1198 * doc/install.texi: Require GNU tar version 1.14.
1199
c7b5e395
GK
12002006-02-24 Geoffrey Keating <geoffk@apple.com>
1201
1202 * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS.
74fe790b 1203 * doc/invoke.texi (C++ Dialect Options): Document
c7b5e395
GK
1204 -fno-use-cxa-get-exception-ptr.
1205 * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1.
1206 * configure: Regenerate.
1207 * c.opt (fuse-cxa-get-exception-ptr): New.
1208 * c-opts.c (c_common_handle_option): Handle
1209 OPT_fuse_cxa_get_exception_ptr.
1210 * c-common.c (flag_use_cxa_atexit): Update documentation.
1211 (flag_use_cxa_get_exception_ptr): New.
1212 * c-common.h (flag_use_cxa_get_exception_ptr): New.
1213 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve
1214 documentation.
1215 (C_COMMON_OVERRIDE_OPTIONS): New.
1216
676cb929
RS
12172006-02-24 Roger Sayle <roger@eyesopen.com>
1218
1219 PR middle-end/24952
1220 * combine.c (try_combine): Explicitly check whether GET_CODE is
1221 a SET or a CLOBBER, instead on checking that it isn't a USE.
1222
e26ec0bb
RS
12232006-02-24 Roger Sayle <roger@eyesopen.com>
1224
1225 * fold-const.c (fold_comparison): New subroutine of fold_binary
1226 containing transformations common to both the equality and
1227 ordering relational operators, factored out of fold_binary.
1228 (fold_binary): Separate out the equality operators (EQ_EXPR
1229 and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR,
1230 LE_EXPR and GE_EXPR), calling fold_comparison to perform the
1231 transformations common to both.
74fe790b 1232 (fold_div_compare): Fix latent bugs in the previously unreachable
e26ec0bb
RS
1233 LT_EXPR and GE_EXPR cases.
1234
69ca3549
DE
12352006-02-24 David Edelsohn <edelsohn@gnu.org>
1236
1237 * config/rs6000/rs6000.c (rs6000_init_builtins): Change
1238 decl libname for clog to __clog on AIX.
1239
1240 * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define.
1241
8097c268
AM
12422006-02-24 Alan Modra <amodra@bigpond.net.au>
1243
1244 PR target/26453
1245 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
1246 output traceback table for thunks. Localise rs6000_stack_info call.
1247
efbbbb61
RS
12482006-02-23 Roger Sayle <roger@eyesopen.com>
1249 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1250
1251 * gthr-posix.h (__gthrw): Fix typo in comment.
1252
12532006-02-23 Geoffrey Keating <geoffk@apple.com>
c1e12409
GK
1254
1255 * doc/cpp.texi (Character sets): Document that we do support
1256 input files to be in any character set.
1257
e260a614
JL
12582006-02-23 Jeff Law <law@redhat.com>
1259
357e7a82
JL
1260 * tree.h (PHI_ARG_NONZERO): Remove.
1261 * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO.
1262 (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old
1263 node to the new node.
1264
e260a614
JL
1265 PR tree-optimization/26425
1266 * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL
1267 min/max, then assume its varying.
1268
e755fcf5
ZD
12692006-02-23 Zdenek Dvorak <dvorakz@suse.cz>
1270
1271 PR rtl-optimization/26316
1272 * rtlanal.c (enum may_trap_p_flags): New.
1273 (may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore
1274 MEM_NOTRAP_P if flags & MTP_AFTER_MOVE.
1275 (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1.
1276 (may_trap_after_code_motion_p): New function.
1277 * loop-invariant.c (find_identical_invariants): Fix dump formating.
1278 (find_invariant_insn): Use may_trap_after_code_motion_p.
1279 * rtl.h (may_trap_after_code_motion_p): Declare.
1280
65acccdd
ZD
12812006-02-23 Zdenek Dvorak <dvorakz@suse.cz>
1282
1283 * emit-rtl.c (immed_double_const): Cleanup.
1284
4b0e7346 12852006-02-23 Daniel Berlin <dberlin@dberlin.org>
74fe790b 1286
4b0e7346
DB
1287 Fix PR tree-optimization/26376
1288 * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree,
1289 remove assert.
1290
a5c8d67f
JJ
12912006-02-23 Jakub Jelinek <jakub@redhat.com>
1292
1293 PR middle-end/26412
1294 * gimplify.c (omp_add_variable): Guard variable size decl test with
1295 DECL_SIZE (decl) check.
1296
98b2060a
RG
12972006-02-23 Richard Guenther <rguenther@suse.de>
1298
1299 PR middle-end/26439
1300 * tree-ssa-structalias.c (find_func_aliases): Handle complex types
1301 like aggregate types.
1302
ed965309
JJ
13032006-02-23 Jakub Jelinek <jakub@redhat.com>
1304
1305 * configure.ac: Add --with{,out}-long-double-128 configure option.
1306 (TARGET_DEFAULT_LONG_DOUBLE_128): New test.
1307 * configure: Rebuilt.
1308 * config.in: Rebuilt.
1309 * doc/install.texi (Options specification): Document
1310 --with-long-double-128.
1311
1312 * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128]
1313 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
1314 * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128]
1315 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
1316
13172006-02-23 Aldy Hernandez <aldyh@redhat.com>
1318
1319 * config/s390/s390.c (override_options): Handle
1320 TARGET_DEFAULT_LONG_DOUBLE_128.
1321
1322 * config/alpha/alpha.c (override_options): Handle
1323 TARGET_DEFAULT_LONG_DOUBLE_128.
1324
1325 * config/sparc/sparc.c (sparc_override_options): Handle
1326 TARGET_DEFAULT_LONG_DOUBLE_128.
1327
9fb03bd8
DJ
13282006-02-22 Daniel Jacobowitz <dan@codesourcery.com>
1329
1330 * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR).
1331 (real-install-headers-tar, real-install-headers-cpio)
1332 (real-install-headers-cp): New targets.
1333
e8dad6f0
RS
13342006-02-22 Richard Sandiford <richard@codesourcery.com>
1335
1336 * tree.h (variable_section): Delete.
1337 * varasm.c (variable_section): Delete.
1338
d7f755c3
PB
13392006-02-22 Paolo Bonzini <bonzini@gnu.org>
1340
1341 * install.texi: Add notes on install.texi2html.
1342 (Building in parallel): Do not use footnotes.
1343
4fe7a8bc
AH
13442006-02-21 Aldy Hernandez <aldyh@redhat.com>
1345
1346 PR libgomp/26234
1347 * doc/install.texi (Configuration): Document --disable-libgomp.
1348
6070e8e5
GK
13492006-02-21 Geoffrey Keating <geoffk@apple.com>
1350
1351 * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New.
1352
f8770111
AO
13532006-02-21 Alexandre Oliva <aoliva@redhat.com>
1354
1355 * config/i386/sse.md (vec_extractv2df_1_sse): New.
1356 (vec_extractv2df_0_sse): New.
1357
35d177a2
AO
13582006-02-21 Alexandre Oliva <aoliva@redhat.com>
1359
1360 * defaults.h (CFA_FRAME_BASE_OFFSET): Define.
1361 * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override.
1362 * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document.
1363 * dwarf2out.c (build_cfa_loc): New offset parameter. Add it
1364 to the result of the expression.
1365 (def_cfa_1): Adjust.
1366 (frame_pointer_cfa_offset): Rename to...
1367 (frame_pointer_fb_offset): ... this. Adjust all uses.
1368 (convert_cfa_to_loc_list): Rename to...
1369 (convert_cfa_to_fb_loc_list): ... this. New offset parameter.
1370 Pass it on to build_cfa_loc.
1371 (compute_frame_pointer_to_cfa_displacement): Rename to...
1372 (compute_frame_pointer_to_fb_displacement): ... this. New
1373 offset parameter. Use it in computation.
1374 (gen_subprogram_die): Compute cfa_fb_offset with the new
1375 macro, and use it to compute the fb loc list and the
1376 displacement.
1377
4729dc92
BS
13782006-02-21 Bernd Schmidt <bernd.schmidt@analog.com>
1379
1380 * config/bfin/predicates.md (cc_operand): Delete predicate. All uses
1381 replaced with register_operand.
1382 * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any
1383 non-DREG is expensive.
1384 * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed.
1385 * config/bfin/bfin.md (movbi): Fix constraints and template for moves
1386 involving memory.
1387
520bc8a2
JM
13882006-02-21 Joseph S. Myers <joseph@codesourcery.com>
1389
1390 * doc/install.texi2html: Use set -e.
1391
f5e605e5
RS
13922006-02-21 Richard Sandiford <richard@codesourcery.com>
1393
1394 * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
1395 (ASM_OUTPUT_SHARED_LOCAL): Delete.
1396 * doc/invoke.texi (-fshared-data): Delete.
1397 * common.opt (fshared-data): Delete.
1398 * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling.
1399 (assemble_static_space): Remove #if 0 code.
1400 * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
1401 (ASM_OUTPUT_SHARED_LOCAL): Poison.
1402 * config/cris/cris.h: Remove FIXME.
1403
880b9e7b
PB
14042006-02-21 Paolo Bonzini <bonzini@gnu.org>
1405
1406 * doc/sourcebuild.texi (Front End Directory): No more double-colon
1407 hooks.
1408
5a9e432d
JJ
14092006-02-21 Jakub Jelinek <jakub@redhat.com>
1410
1411 PR middle-end/26379
1412 * combine.c (simplify_shift_const_1): Disable nested shifts
1413 optimization for vector shifts.
1414
c1a70a3c
RS
14152006-02-20 Roger Sayle <roger@eyesopen.com>
1416
1417 PR tree-optimization/26361
1418 * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR
1419 of unsigned integer types.
1420
0ff4040e
SP
14212006-02-20 Sebastian Pop <pop@cri.ensmp.fr>
1422
1423 * tree-chrec.c (eq_evolutions_p): New.
1424 * tree-chrec.h (eq_evolutions_p): Declared.
1425 * tree-data-ref.c: Fix formatting.
1426 (datadep_stats, dependence_stats): New.
1427 (gcd): Moved...
1428 (print_direction_vector): New.
1429 (dump_data_dependence_relation): Use print_direction_vector.
1430 (object_analysis, create_data_ref): Handle COMPONENT_REF.
1431 (compute_subscript_distance): Static.
1432 (initialize_data_dependence_relation): Static. Get the number
1433 of loops surrounding the references from the callers, and initialize
1434 DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and
1435 base_object_differ_p analyzers.
74fe790b 1436 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
0ff4040e
SP
1437 compute_overlap_steps_for_affine_1_2,
1438 analyze_subscript_affine_affine): Count the classified dependences.
1439 Print a message when a test failed.
74fe790b 1440 (can_use_analyze_subscript_affine_affine): New.
0ff4040e
SP
1441 (analyze_siv_subscript): Compute the data dependences on symbolic
1442 scevs that verify can_use_analyze_subscript_affine_affine.
1443 (chrec_steps_divide_constant_p): Returns true, false, or unknown.
1444 (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p.
1445 Handle symbolic scevs.
1446 (analyze_overlapping_iterations): Let symbolic affine scevs to be
1447 analyzed.
1448 (subscript_dependence_tester): Moved...
74fe790b 1449 (build_classic_dist_vector, build_classic_dir_vector): Don't use
0ff4040e
SP
1450 lambda_vector_clear on newly allocated vectors. Get nb_loops from
1451 DDR_SIZE_VECT instead of getting it in parameter.
74fe790b 1452 (subscript_dependence_tester): ... here. Take as a parameter
0ff4040e
SP
1453 loop_nest_depth. Call build_classic_dist_vector and
1454 build_classic_dir_vector.
74fe790b
ZW
1455 (compute_affine_dependence): Update subscript_dependence_tester
1456 parameters. Update datadep_stats counters. Call
0ff4040e 1457 compute_subscript_distance.
74fe790b 1458 (compute_self_dependence): Save the dist and dir vectors. Call
0ff4040e
SP
1459 compute_subscript_distance.
1460 (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved...
1461 (compute_all_dependences): Reorder parameters as they were before
1462 conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call
74fe790b 1463 compute_subscript_distance. Update the use of
0ff4040e
SP
1464 compute_affine_dependence and initialize_data_dependence_relation.
1465 (find_data_references_in_loop): Handle COMPONENT_REF.
1466 (compute_data_dependences_for_loop): Initialize dependence_stats.
1467 Don't call build_classic_dist_vector and build_classic_dir_vector.
74fe790b 1468 Update the parameters of initialize_data_dependence_relation and
0ff4040e
SP
1469 compute_all_dependences. Print the statistics from datadep_stats.
1470 (analyze_all_data_dependences): Static. Not used until the pass for
1471 checking the data dependences is contributed.
1472 * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p),
1473 DEF_VEC_ALLOC_P(ddr_p,heap)): ... here.
74fe790b 1474 (initialize_data_dependence_relation, compute_affine_dependence,
0ff4040e
SP
1475 analyze_all_data_dependences, compute_subscript_distance): Removed.
1476 (print_direction_vector): New.
1477 * lambda.h (gcd): ... here.
1478 (lambda_vector_gcd): Moved here from gcd_vector.
1479 * lambda-code.c (gcd, gcd_vector): Removed.
1480 (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting.
1481 * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H.
1482
643519b7
DN
14832006-02-20 Diego Novillo <dnovillo@redhat.com>
1484
1485 * ipa-type-escape.c: Tidy some comments and white space.
1486 * tree-ssa-operands.c: Likewise.
1487
406f9d5e
AP
14882006-02-20 Andrew Pinski <pinskia@physics.uc.edu>
1489
1490 PR tree-opt/25879
1491 * tree-pretty-print.c (debug_tree_chain): Walk the chains.
1492 (dump_decl_name): Do not walk the decl tree chains.
1493 * tree-pass.h (TDF_CHAIN): Remove.
1494
1495