]>
Commit | Line | Data |
---|---|---|
7a6164d4 R |
1 | 2006-03-10 J"orn Rennecke <joern.rennecke@st.com> |
2 | ||
3 | * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case. | |
4 | ||
3e0a08d7 AP |
5 | 2006-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 |
12 | 2006-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 |
17 | 2006-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 |
60 | 2006-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 |
76 | 2006-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 |
81 | 2006-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 |
92 | 2006-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 |
98 | 2006-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 |
164 | 2006-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 |
175 | 2006-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 |
186 | 2006-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 |
195 | 2006-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 |
207 | 2006-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 |
212 | 2006-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 |
223 | 2006-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 |
228 | 2006-03-08 Ben Elliston <bje@au.ibm.com> |
229 | ||
230 | * config/fp-bit.h (CMPtype): Typedef to a word mode integer. | |
231 | ||
48fa3029 AH |
232 | 2006-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 |
238 | 2006-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 |
243 | 2006-03-07 Richard Sandiford <richard@codesourcery.com> |
244 | ||
245 | * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION. | |
246 | ||
1d3dbd99 RS |
247 | 2006-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 |
273 | 2006-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 |
278 | 2006-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 |
286 | 2006-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 |
302 | 2006-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 |
309 | 2006-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 |
314 | 2006-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 |
320 | 2006-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 |
335 | 2006-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 |
341 | 2006-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 |
346 | 2006-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 |
353 | 2006-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 |
358 | 2006-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 |
363 | 2006-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 |
377 | 2006-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 |
388 | 2006-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 |
403 | 2006-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 |
409 | 2006-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 |
415 | 2006-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 |
421 | 2006-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 |
451 | 2006-03-03 Jakub Jelinek <jakub@redhat.com> |
452 | ||
453 | * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto. | |
454 | ||
0f2f71b5 RS |
455 | 2006-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 |
462 | 2006-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 |
472 | 2006-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 |
478 | 2006-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 |
483 | 2006-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 |
492 | 2006-03-02 Eric Christopher <echristo@apple.com> |
493 | ||
494 | * config/i386/i386.c (machopic_output_stub): Add indirection to | |
495 | jump. | |
496 | ||
c6ba18c6 ZD |
497 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> |
498 | ||
499 | * loop.c: Removed. | |
500 | ||
4c837a1e DM |
501 | 2006-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 |
537 | 2006-03-02 Diego Novillo <dnovillo@redhat.com> |
538 | ||
539 | * tree-ssa-operands.c (update_stmt_operands): Update documentation. | |
540 | ||
434aeebb RS |
541 | 2006-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 |
603 | 2006-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 |
769 | 2006-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 |
774 | 2006-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 |
781 | 2006-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 |
786 | 2006-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 |
791 | 2006-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 |
799 | 2006-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 |
820 | 2006-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 |
836 | 2006-03-01 Roger Sayle <roger@eyesopen.com> |
837 | ||
838 | * builtins.c (fold_builtin_copysign): Delete unreachable code. | |
839 | ||
c446d1a7 AP |
840 | 2006-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 |
847 | 2006-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 | 862 | 2006-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 |
871 | 2006-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 | ||
888 | 2006-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 |
897 | 2006-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 |
902 | 2006-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 |
915 | 2006-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 |
920 | 2006-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 |
926 | 2006-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 |
933 | 2006-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 |
941 | 2006-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 |
954 | 2006-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 |
962 | 2006-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 |
968 | 2006-02-27 Zack Weinberg <zackw@panix.com> |
969 | ||
970 | * doc/md.texi: Fix typo in previous change. | |
971 | ||
75743f02 KZ |
972 | 2006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com> |
973 | ||
974 | * df.c: Remove. | |
975 | ||
f38840db ZW |
976 | 2006-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 |
1045 | 2006-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 |
1050 | 2006-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 |
1080 | 2006-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 |
1086 | 2006-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 |
1093 | 2006-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 |
1098 | 2006-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 |
1115 | 2006-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 |
1121 | 2006-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 |
1139 | 2006-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 |
1145 | 2006-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 |
1151 | 2006-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 |
1160 | 2006-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 |
1165 | 2006-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 |
1172 | 2006-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 |
1180 | 2006-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 |
1185 | 2006-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 |
1190 | 2006-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 |
1196 | 2006-02-24 David Edelsohn <edelsohn@gnu.org> |
1197 | ||
1198 | * doc/install.texi: Require GNU tar version 1.14. | |
1199 | ||
c7b5e395 GK |
1200 | 2006-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 |
1217 | 2006-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 |
1223 | 2006-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 |
1235 | 2006-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 |
1242 | 2006-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 |
1248 | 2006-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 | ||
1253 | 2006-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 |
1258 | 2006-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 |
1269 | 2006-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 |
1281 | 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> |
1282 | ||
1283 | * emit-rtl.c (immed_double_const): Cleanup. | |
1284 | ||
4b0e7346 | 1285 | 2006-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 |
1291 | 2006-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 |
1297 | 2006-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 |
1303 | 2006-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 | ||
1317 | 2006-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 |
1328 | 2006-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 |
1334 | 2006-02-22 Richard Sandiford <richard@codesourcery.com> |
1335 | ||
1336 | * tree.h (variable_section): Delete. | |
1337 | * varasm.c (variable_section): Delete. | |
1338 | ||
d7f755c3 PB |
1339 | 2006-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 |
1344 | 2006-02-21 Aldy Hernandez <aldyh@redhat.com> |
1345 | ||
1346 | PR libgomp/26234 | |
1347 | * doc/install.texi (Configuration): Document --disable-libgomp. | |
1348 | ||
6070e8e5 GK |
1349 | 2006-02-21 Geoffrey Keating <geoffk@apple.com> |
1350 | ||
1351 | * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New. | |
1352 | ||
f8770111 AO |
1353 | 2006-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 |
1358 | 2006-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 |
1378 | 2006-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 |
1388 | 2006-02-21 Joseph S. Myers <joseph@codesourcery.com> |
1389 | ||
1390 | * doc/install.texi2html: Use set -e. | |
1391 | ||
f5e605e5 RS |
1392 | 2006-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 |
1404 | 2006-02-21 Paolo Bonzini <bonzini@gnu.org> |
1405 | ||
1406 | * doc/sourcebuild.texi (Front End Directory): No more double-colon | |
1407 | hooks. | |
1408 | ||
5a9e432d JJ |
1409 | 2006-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 |
1415 | 2006-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 |
1421 | 2006-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 |
1483 | 2006-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 |
1488 | 2006-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 |