]>
Commit | Line | Data |
---|---|---|
52ffd86e MS |
1 | 2006-05-18 Mike Stump <mrs@apple.com> |
2 | ||
3 | Fix up vla, vm and [*] sematics. | |
4 | ||
5 | PR c/18740 | |
6 | PR c/7948 | |
7 | PR c/25802 | |
8 | * c-tree.h (struct c_arg_info): Add had_vla_unspec. | |
9 | (c_vla_unspec_p): Add. | |
10 | (c_vla_type_p): Add. | |
11 | * c-decl.c (struct c_scope): Add had_vla_unspec. | |
12 | (build_array_declarator): Add support for [*]. | |
13 | (grokdeclarator): Likewise. | |
14 | (grokparms): Likewise. | |
15 | (get_parm_info): Likewise. | |
16 | * c-objc-common.c (c_vla_unspec_p): Likewise. | |
17 | * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise. | |
18 | * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to | |
19 | typeof when argument is a variably modified type not inside sizeof or alignof. | |
20 | (c_parser_direct_declarator_inner): Propagate errors. | |
21 | (c_parser_sizeof_expression): Add support for [*]. | |
22 | * c-typeck.c (c_vla_type_p): Add. | |
23 | (composite_type): Add support for vla compositing. | |
24 | (comptypes_internal): Add support for vla compatibility. | |
25 | (c_expr_sizeof_expr): Evaluate vla arguments. | |
26 | * tree.c (variably_modified_type_p): Update comment for [*]. | |
27 | ||
eaec4980 MM |
28 | 2006-05-18 Michael Matz <matz@suse.de> |
29 | ||
30 | PR target/27599 | |
31 | * config.host: Make assignments to host_xmake_file cumulative. | |
32 | * config.host (*-darwin*): Test $host, not $target. | |
33 | ||
33932946 SH |
34 | 2006-05-12 Stuart Hastings <stuart@apple.com> |
35 | ||
a1d1988f MS |
36 | * config/i386/i386.opt (-mstackrealign): New flag. |
37 | * config/i386/i386.c (force_align_arg_pointer): New attribute. | |
33932946 SH |
38 | (ix86_handle_cconv_attribute): Emit error when |
39 | force_align_arg_pointer attribute collides with too many regparms. | |
40 | (ix86_function_regparm): Limit regparms when used with | |
41 | force_align_arg_pointer attribute. (ix86_internal_arg_pointer): | |
42 | Support stack-realigning prologue in non-main functions. Emit | |
43 | warning for nested functions under -mstackrealign, emit error for | |
44 | nested functions with force_align_arg_pointer attribute. | |
a1d1988f MS |
45 | * doc/extend.texi (force_align_arg_pointer): Document it. |
46 | * doc/invoke.texi (-mstackrealign): Document it. | |
e8366202 | 47 | |
c8983342 KH |
48 | 2006-05-17 Kazu Hirata <kazu@codesourcery.com> |
49 | ||
50 | PR rtl-optimization/27477 | |
51 | * combine.c (try_combine): Don't split a parallel consisting | |
52 | of two sets into two individual sets if both sets reference | |
53 | cc0. | |
54 | ||
344185f1 L |
55 | 2006-05-17 H.J. Lu <hongjiu.lu@intel.com> |
56 | ||
57 | * config/arm/arm.opt (target_fpe_name): Remove VarExists. | |
58 | * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise. | |
59 | ||
60 | * doc/options.texi (VarExists): Updated. | |
61 | ||
edbaf6a2 JDA |
62 | 2006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
63 | ||
64 | * unwind-dw2.c: Add declarations for uw_update_context and | |
65 | uw_frame_state_for. | |
66 | * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is | |
67 | detected, advance frame state and context once to skip over stub. | |
68 | ||
c93c5025 SP |
69 | 2006-05-17 Sebastian Pop <pop@cri.ensmp.fr> |
70 | ||
71 | PR middle-end/20256 | |
72 | PR middle-end/26435 | |
73 | * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p. | |
74 | Call rewrite_into_loop_closed_ssa only when something changed. | |
75 | * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration. | |
76 | * lambda-code.c (can_convert_to_perfect_nest): Declared. | |
77 | (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter. | |
78 | Test for perfect_nest_p here. Fix formating. | |
79 | (replace_uses_equiv_to_x_with_y): Fix formating. | |
80 | (stmt_uses_op): Removed. | |
81 | (can_convert_to_perfect_nest): Removed loopivs parameter. | |
82 | Complete the test by checking the scalar dependences. | |
83 | (perfect_nestify): Remove the test for can_convert_to_perfect_nest. | |
84 | Fix formating. | |
85 | ||
be448346 BS |
86 | 2005-05-17 Bernd Schmidt <bernd.schmidt@analog.com> |
87 | ||
88 | PR bootstrap/22541 | |
89 | From Dan Kegel <dank@kegel.com>: | |
90 | * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR. | |
91 | ||
2e3b8fe7 EB |
92 | 2006-05-17 Eric Botcazou <ebotcazou@adacore.com> |
93 | ||
94 | * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true | |
95 | if the element type is variably modified without recursing. | |
96 | ||
9cb8f1ba SP |
97 | 2006-05-17 Sebastian Pop <pop@cri.ensmp.fr> |
98 | ||
99 | PR middle-end/27332 | |
e8366202 | 100 | * tree-loop-linear.c (try_interchange_loops): Test for |
9cb8f1ba SP |
101 | no data dependences. |
102 | ||
e5db3515 ZD |
103 | 2006-05-17 Zdenek Dvorak <dvorakz@suse.cz> |
104 | ||
105 | PR tree-optimization/27548 | |
106 | * tree-scalar-evolution.c (scev_const_prop): Do not prolong life | |
107 | range of ssa names that appear on abnormal edges. | |
108 | * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export. | |
109 | * tree-flow.h (contains_abnormal_ssa_name_p): Declare. | |
110 | ||
33598a1b BS |
111 | 2005-05-17 Bernd Schmidt <bernd.schmidt@analog.com> |
112 | ||
113 | PR middle-end/27620 | |
114 | * expr.c (safe_from_p): Handle CONSTRUCTOR again. | |
115 | ||
761041be JJ |
116 | 2006-05-17 Jakub Jelinek <jakub@redhat.com> |
117 | ||
118 | PR middle-end/27415 | |
119 | * tree.h (OMP_PARALLEL_COMBINED): Define. | |
120 | * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field. | |
121 | (new_omp_context): Add is_combined_parallel argument. | |
122 | (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust | |
123 | new_omp_context caller. | |
124 | (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare): | |
125 | Adjust gimplify_scan_omp_clauses callers. | |
126 | (omp_is_private): Issue errors if iteration variable is firstprivate | |
127 | or reduction in the current context. | |
128 | * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED | |
129 | on combined parallel workshare constructs. | |
130 | ||
8dc3f290 L |
131 | 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> |
132 | ||
133 | * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o. | |
134 | (gcc-options.o): New rule. | |
135 | ||
136 | * optc-gen.awk: Protect variables for gcc-options.o with | |
137 | #ifdef GCC_DRIVER/#endif. | |
138 | ||
2ed4b0ce | 139 | 2006-05-16 Daniel Berlin <dberlin@dberlin.org> |
e8366202 | 140 | |
2ed4b0ce DB |
141 | Fix PR tree-optimization/27373 |
142 | * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument. | |
143 | (forward_propagate_addr_expr): Update call. | |
144 | ||
48b06e94 L |
145 | 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> |
146 | ||
147 | * doc/options.texi: Move the Negative option. | |
148 | ||
faaf1436 RG |
149 | 2006-05-16 Richard Guenther <rguenther@suse.de> |
150 | ||
151 | PR tree-optimization/22303 | |
152 | * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads | |
153 | from STRING_CSTs. | |
154 | (evaluate_stmt): Fall back to fold_const_aggregate_ref, if | |
155 | ccp_fold did not simplify the statement. | |
156 | ||
14c7833c L |
157 | 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> |
158 | ||
159 | PR driver/26885 | |
160 | * Makefile.in (GCC_OBJS): New. | |
161 | (OBJS-common): Add opts-common.o. | |
162 | (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS). | |
163 | (cpp$(exeext)): Likewise. | |
164 | (gcc.o): Also depend on opts.h. | |
165 | (opts-common.o): New. | |
166 | ||
167 | * common.opt (gcoff): Add Negative(gdwarf-2). | |
168 | (gdwarf-2): Add Negative(gstabs). | |
169 | (gstabs): Add Negative(gstabs+). | |
170 | (gstabs+): Add Negative(gvms). | |
171 | (gvms): Add Negative(gxcoff). | |
172 | (gxcoff): Add Negative(gxcoff+). | |
173 | (gxcoff+): Add Negative(gcoff). | |
174 | * config/i386/i386.opt (m32): Add Negative(m64). | |
175 | (m64): Add Negative(m32). | |
176 | ||
177 | * doc/options.texi: Document the Negative option. | |
178 | ||
179 | * gcc.c: Include "opts.h". | |
180 | (main): Call prune_options after expandargv. | |
181 | ||
182 | * optc-gen.awk: Generate common declarations for all flag | |
183 | variables in options.c. Output the neg_index field. | |
184 | ||
185 | * opts.c (find_opt): Moved to ... | |
186 | * opts-common.c: Here. New file. | |
187 | ||
188 | * opts.h (cl_option): Add a neg_index field. | |
189 | (find_opt): New. | |
190 | (prune_options): Likewise. | |
191 | ||
4156f84b JJ |
192 | 2006-05-16 Jakub Jelinek <jakub@redhat.com> |
193 | ||
b570947c JJ |
194 | PR middle-end/27573 |
195 | * omp-low.c (expand_omp_parallel): Don't assert | |
196 | .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block, | |
197 | instead search for it. | |
198 | ||
4156f84b JJ |
199 | PR c/27499 |
200 | * gimplify.c (gimplify_omp_for): Remove assertion that iteration var | |
201 | is signed. | |
202 | ||
726e9992 AS |
203 | 2006-05-16 Andreas Schwab <schwab@suse.de> |
204 | ||
205 | * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end | |
206 | defmac. | |
207 | ||
d0b89852 RS |
208 | 2006-05-15 Roger Sayle <roger@eyesopen.com> |
209 | ||
210 | PR target/26600 | |
211 | * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode | |
212 | integer constants other than zero are only legitimate on TARGET_64BIT. | |
213 | <CONST_VECTOR> Only zero vectors are legitimate. | |
214 | (ix86_cannot_force_const_mem): Integral and vector constants can | |
215 | always be put in the constant pool. | |
216 | ||
a0cfeb0f DD |
217 | 2006-05-16 DJ Delorie <dj@redhat.com> |
218 | ||
219 | * crtstuff.c (__dso_handle): Set section from | |
220 | TARGET_LBIGCC_SDATA_SECTION if defined. | |
726e9992 | 221 | * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document. |
a0cfeb0f DD |
222 | * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define. |
223 | ||
21028020 DS |
224 | 2006-05-16 Danny Smith <dannysmith@users.sourceforge.net> |
225 | ||
eaec4980 | 226 | PR target/27599 |
21028020 DS |
227 | * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to |
228 | host_xmake_file. | |
229 | ||
4741d956 BE |
230 | 2006-05-16 Ben Elliston <bje@au.ibm.com> |
231 | ||
232 | * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'. | |
233 | ||
44422aa3 PB |
234 | 2006-05-15 Per Bothner <per@bothner.com> |
235 | ||
236 | * tree.c: (last_annotated_node): Use sources_locus typedef. | |
237 | This permits bootstrapping with --enable-mapped-location. | |
238 | ||
95dd3097 ZD |
239 | 2006-05-15 Zdenek Dvorak <dvorakz@suse.cz> |
240 | ||
241 | PR tree-optimization/26830 | |
242 | * tree-into-ssa.c (struct ssa_name_info): Add age field. | |
243 | (info_for_ssa_name, current_info_for_ssa_name_age, | |
244 | blocks_to_update): New variables. | |
245 | (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX. | |
246 | (clear_ssa_name_info, initialize_flags_in_bb, | |
247 | mark_block_for_update): New functions. | |
248 | (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL. | |
249 | (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update, | |
250 | prepare_def_site_for): Use mark_block_for_update. | |
251 | (mark_def_interesting): Assert that the processed block is marked in | |
252 | blocks_to_update. Do not take blocks argument. | |
253 | (prepare_use_sites_for, prepare_names_to_update): Do not take blocks | |
254 | argument. | |
255 | (rewrite_update_init_block, rewrite_update_stmt): Only process | |
256 | blocks with statements to rewrite. | |
257 | (delete_update_ssa): Do not clear SSA_NAME_AUX. | |
258 | (update_ssa): Initialize and free blocks_to_update. Do not | |
259 | clear flags on statements. Do not use blocks bitmap. | |
260 | * tree.h (SSA_NAME_AUX): Removed. | |
261 | (struct tree_ssa_name): Removed aux field. | |
262 | * print-tree.c (print_node): Do not print SSA_NAME_AUX. | |
263 | ||
7136db7a RG |
264 | 2006-05-15 Richard Guenther <rguenther@suse.de> |
265 | ||
266 | PR tree-optimization/27603 | |
267 | * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): | |
268 | Do computations in original type. | |
269 | ||
a0145633 MN |
270 | 2006-05-15 Mircea Namolaru <namolaru@il.ibm.com> |
271 | ||
f8f80cbb ZD |
272 | * see.c: Code style changes such as redundant paranthesis, |
273 | redundant intialization of local variables etc. | |
274 | (see_main): Declared now as static. | |
275 | * doc/invoke.texi: Update that -fsee is not enabled by | |
276 | default at -O3. | |
a0145633 | 277 | |
eeb1d9e0 JJ |
278 | 2006-05-15 Jakub Jelinek <jakub@redhat.com> |
279 | ||
a6fc8e21 JJ |
280 | * omp-low.c (check_omp_nesting_restrictions): New function. |
281 | (scan_omp_1): Call it. | |
282 | ||
eeb1d9e0 JJ |
283 | PR middle-end/27416 |
284 | * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned | |
285 | construct, return *VAR. | |
286 | ||
a1709769 KK |
287 | 2006-05-14 Kaz Kojima <kkojima@gcc.gnu.org> |
288 | ||
289 | PR rtl-optimization/27406 | |
290 | * bt-load.c (migrate_btr_def): Skip the block having abnormal | |
291 | edges. | |
292 | ||
56106c2e RS |
293 | 2006-05-14 Roger Sayle <roger@eyesopen.com> |
294 | ||
295 | PR rtl-optimization/27538 | |
296 | * combine.c (expand_compound_operation): Call gen_lowpart | |
297 | before calling simplify_shift_const. | |
298 | ||
c505fc06 RS |
299 | 2006-05-14 Roger Sayle <roger@eyesopen.com> |
300 | ||
301 | PR rtl-optimization/22563 | |
302 | * expmed.c (store_fixed_bit_field): When using AND and IOR to store | |
303 | a fixed width bitfield, always force the intermediates into psuedos. | |
304 | ||
f9a4b91e BF |
305 | 2006-05-14 Bernhard Fischer <aldot@gcc.gnu.org> |
306 | ||
307 | PR 27501 | |
308 | * mkconfig.sh: Use operator = instead of == for test. | |
309 | ||
83409463 NC |
310 | 2006-05-13 Nick Clifton <nickc@redhat.com> |
311 | ||
312 | * dwarf2out.c (dbx_reg_number): Check return value from | |
313 | LEAF_REG_REMAP and only use it if it is valid. | |
314 | (multiple_reg_loc_descriptor): Likewise. | |
315 | ||
75c3fb73 RG |
316 | 2006-05-13 Richard Guenther <rguenther@suse.de> |
317 | ||
318 | * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to | |
319 | host_xmake_file. | |
320 | ||
a1b53177 SB |
321 | 2006-05-13 Steven Bosscher <stevenb.gcc@gmail.com> |
322 | ||
323 | * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow | |
324 | information attached to non-INSNs such as NOTEs. | |
325 | (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise. | |
326 | ||
651a36e3 AK |
327 | 2006-05-12 Andreas Krebbel <krebbel1@de.ibm.com> |
328 | ||
329 | * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for | |
330 | On contraint. | |
331 | * config/s390/s390.md: Adjust comment describing On constraint. | |
332 | ||
5d342ef9 JH |
333 | 2006-05-11 Jan Hubicka <jh@suse.cz> |
334 | ||
335 | * cgraphunit.c (decide_is_function_needed): Don't force always_inline | |
336 | to be output at -O0. | |
337 | ||
81e61fb4 VR |
338 | 2006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
339 | ||
7ebcc52c VR |
340 | PR middle-end/27384 |
341 | * fold-const.c (size_binop): Move sanity check for arguments to | |
342 | the beginning of the function. | |
343 | ||
81e61fb4 VR |
344 | PR middle-end/27488 |
345 | * fold-const.c (tree_expr_nonnegative_p): Return early on invalid | |
346 | expression. | |
347 | ||
497cfe24 RG |
348 | 2006-05-11 Richard Guenther <rguenther@suse.de> |
349 | ||
350 | PR middle-end/27529 | |
351 | * fold-const.c (fold_unary): Handle intermediate conversion | |
352 | to a pointer type like intermediate conversion to an integer | |
353 | type in folding of (T1)(T2)var to var. | |
354 | Match the code to the comment in the final conversion for | |
355 | (T1)(T2)var to (T1)var regarding to type precision. Rather | |
356 | than disallow T1 being of pointer type, assert that both T1 | |
357 | and var are of pointer type or not. Make sure not to fall | |
358 | over the frontends lazyness wrt array to pointer decay though. | |
359 | ||
29e339b9 RE |
360 | 2006-05-10 Richard Earnshaw <rearnsha@arm.com> |
361 | ||
362 | * arm.c (arm_struct_value_rtx): Delete. | |
363 | (TARGET_STRUCT_VALUE_RTX): Use the default definition. | |
364 | (arm_init_cumulative_args): Always initialize nregs to zero. | |
365 | ||
5ac4f3bb RG |
366 | 2006-05-10 Richard Guenther <rguenther@suse.de> |
367 | ||
368 | PR tree-optimization/27532 | |
369 | * tree-object-size.c (plus_expr_object_size): Fix typo. | |
370 | ||
e43d8b8a KH |
371 | 2006-05-10 Kazu Hirata <kazu@codesourcery.com> |
372 | ||
373 | PR target/24949 | |
374 | * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem, | |
375 | ashrdi_const, ashrdi3): Use a scratch register. | |
376 | ||
a04d8591 RG |
377 | 2006-05-10 Richard Guenther <rguenther@suse.de> |
378 | ||
379 | PR tree-optimization/27302 | |
380 | * fold-const.c (operand_equal_p): For two comparisons, | |
381 | try comparison of one comparison code swapped if that yields | |
382 | the same code. | |
383 | ||
9c5835d5 BE |
384 | 2006-05-10 Ben Elliston <bje@au.ibm.com> |
385 | ||
4db60bd0 BE |
386 | * tree-pretty-print.c (pretty_print_string): No need to handle |
387 | '\0' as a special character. | |
388 | ||
9c5835d5 BE |
389 | * tree.h: Include "hashtab.h". |
390 | (iterative_hash_expr): Use hashval_t in its prototype. | |
391 | * Makefile.in (TREE_H): Add $(HASHTAB_H). | |
392 | ||
543b6009 SE |
393 | 2006-05-09 Steve Ellcey <sje@cup.hp.com> |
394 | ||
395 | PR bootstrap/26872 | |
396 | * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes. | |
397 | (hppa*64*-*-hpux11*): Ditto. | |
398 | (hppa[12]*-*-hpux11*): Ditto. | |
399 | ||
7ac159a5 DE |
400 | 2006-05-09 David Edelsohn <edelsohn@gnu.org> |
401 | ||
402 | PR target/26545 | |
403 | * config/rs6000/aix41.h (TARGET_64BIT): Define. | |
404 | ||
fa959ce4 MM |
405 | 2006-05-09 Michael Matz <matz@suse.de> |
406 | ||
407 | * config.host (<i[34567]86-*-*, x86_64-*-*>): Set | |
408 | host_extra_gcc_objs and host_xmake_file. | |
409 | (<*-*-linux*>): Don't overwrite host_xmake_file. | |
410 | * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS. | |
411 | * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define. | |
412 | (host_detect_local_cpu): Declare. | |
413 | (CC1_CPU_SPEC): Add -march=native and -mtune=native cases. | |
414 | * config/i386/i386.c (override_options): Handle -mtune=native | |
415 | as -mtune=generic. | |
416 | * config/i386/x-i386: New file. | |
417 | * config/i386/driver-i386.c: New file. | |
418 | * doc/invoke.texi (<i386 and x86-64 Options>): Describe | |
419 | cpu-type "native". | |
420 | ||
f9c3744b DM |
421 | 2006-05-09 Dirk Mueller <dmueller@suse.de> |
422 | Richard Guenther <rguenther@suse.de> | |
423 | ||
424 | PR middle-end/27498 | |
425 | * fold-const.c (fold_read_from_constant_string): Relax check | |
426 | for matching types to matching modes. | |
427 | ||
2c790a28 ZD |
428 | 2006-05-09 Zdenek Dvorak <dvorakz@suse.cz> |
429 | ||
430 | PR rtl-optimization/27335 | |
431 | * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the | |
432 | loops. | |
433 | ||
ec4fc7ed RS |
434 | 2006-05-08 Chao-ying Fu <fu@mips.com> |
435 | Richard Sandiford <richard@codesourcery.com> | |
436 | ||
437 | * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns. | |
438 | (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise. | |
439 | * config/mips/mips.md (UNSPEC_SCC): New constant. | |
440 | * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare. | |
441 | * config/mips/mips.c (mips_reverse_fp_cond_p): New function. | |
442 | (mips_emit_compare): Use it. | |
443 | (mips_expand_vcondv2sf): New function. | |
444 | ||
74be08f8 DB |
445 | 2006-05-08 Daniel Berlin <dberlin@dberlin.org> |
446 | ||
447 | Fix PR tree-optimization/27093 | |
e8366202 | 448 | * tree-ssa-alias.c (recalculate_used_alone): Mark variables for |
74be08f8 DB |
449 | renaming when they become not-used_alone. |
450 | ||
fdaaf002 JDA |
451 | 2006-05-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
452 | ||
453 | * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter | |
454 | relocation and relocation stubs. | |
455 | ||
90c92323 EC |
456 | 2006-05-08 Eric Christopher <echristo@apple.com> |
457 | ||
458 | * unwind-dw2-fde-darwin.c (examine_objects): Only check data | |
459 | section for ppc. | |
460 | ||
04f77d0f JH |
461 | 2006-05-08 Jan Hubicka <jh@suse.cz> |
462 | ||
463 | PR middle-end/25962 | |
464 | * cgraphunit.c (decide_is_function_needed): When not optimizing even | |
465 | unused static functions are needed. | |
466 | ||
857e5753 RS |
467 | 2006-05-08 Roger Sayle <roger@eyesopen.com> |
468 | ||
469 | PR target/27158 | |
470 | * reload.c (find_reloads_toplev): Only return the simplified SUBREG | |
471 | of a reg_equiv_constant if the result is a legitimate constant. | |
472 | ||
b81bd6c9 UB |
473 | 2006-05-08 Uros Bizjak <uros@kss-loka.si> |
474 | ||
475 | PR target/27277 | |
476 | * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For | |
477 | standard 80387 constants, raise the cost to prevent | |
478 | compress_float_constant() to generate load from memory. | |
479 | ||
923d16d4 KH |
480 | 2006-05-08 Kazu Hirata <kazu@codesourcery.com> |
481 | ||
482 | * config/arm/constraints.md (c): Fix a typo. | |
483 | ||
bca50406 KH |
484 | * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment |
485 | typos. | |
486 | ||
67a4b391 L |
487 | 2006-05-07 H.J. Lu <hongjiu.lu@intel.com> |
488 | ||
489 | PR target/24879 | |
490 | * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use | |
491 | inline function. | |
492 | (_mm_mwait): Likewise. | |
493 | ||
494 | * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with | |
495 | "mwait". | |
496 | (sse3_monitor): Make it 32bit only. | |
497 | (sse3_monitor64): New. 64bit monitor. | |
498 | ||
f7360901 VR |
499 | 2006-05-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
500 | ||
501 | PR target/27421 | |
502 | * config/i386/i386.c (classify_argument): Skip fields with invalid | |
503 | types. | |
504 | ||
18455d17 RG |
505 | 2006-05-07 Richard Guenther <rguenther@suse.de> |
506 | ||
507 | PR tree-optimization/27409 | |
508 | * tree-ssa-structalias.c (get_constraint_for_component_ref): | |
509 | Do not try to find zero-sized subvars. | |
510 | ||
ed52affe RG |
511 | 2006-05-07 Richard Guenther <rguenther@suse.de> |
512 | ||
513 | PR tree-optimization/27136 | |
514 | * tree-ssa-loop-niter.c (get_val_for): Correct function | |
515 | comment, assert requirements. | |
516 | (loop_niter_by_eval): Stop processing if the iterated | |
517 | value did not simplify. | |
518 | ||
ef5d0a89 MN |
519 | 2006-05-07 Mircea Namolaru <namolaru@il.ibm.com> |
520 | ||
e8366202 | 521 | * opts.c (flag_see): remove its setting at -O3. |
90c92323 | 522 | |
ce92b223 RE |
523 | 2006-05-07 Richard Earnshaw <rearnsha@arm.com> |
524 | ||
525 | * genpeep.c (main): Make insn-peep.c depend on flags.h. | |
526 | * arm/constraints.md: New file. | |
527 | * arm.h (REG_CLASS_FROM_LETTER_P): Delete. | |
528 | (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER) | |
529 | (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER) | |
530 | (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM) | |
531 | (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR) | |
532 | (EXTRA_MEMORY_CONSTRAINT): Likewise. | |
533 | * arm.md: Include constraints.md. | |
534 | (thumb_movsi_insn): Use satisfies_constraint_J. | |
535 | (movhi, movqi): Use satisfies_constraint_I. | |
536 | ||
ed1a08a7 AS |
537 | 2006-04-29 Anatoly Sokolov <aesok@post.ru> |
538 | ||
e8366202 | 539 | * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name |
ed1a08a7 AS |
540 | for atmeg a645 device. |
541 | ||
75bfa678 RG |
542 | 2006-05-06 Richard Guenther <rguenther@suse.de> |
543 | ||
544 | PR tree-optimization/27151 | |
545 | * tree-vect-transform.c (vectorizable_condition): Punt on | |
546 | values that have a different type than the condition. | |
547 | ||
8d8d1a28 AH |
548 | 2006-05-03 Aldy Hernandez <aldyh@redhat.com> |
549 | ||
550 | PR/21391 | |
551 | * c-parser.c (c_parser_cast_expression): Only insert casts into | |
552 | hash table if pointer. | |
553 | * function.c (used_types_insert_helper): Rename from | |
554 | used_types_insert. | |
555 | (used_types_insert): Call used_types_insert_helper. | |
556 | * function.h (used_types_insert): Accept only one argument. | |
557 | ||
edd54d25 DE |
558 | 2006-05-05 David Edelsohn <edesohn@gnu.org> |
559 | ||
560 | * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered | |
561 | scratch with output modifier. | |
562 | ||
1958f718 DE |
563 | 2006-05-04 David Edelsohn <edelsohn@gnu.org> |
564 | ||
565 | PR target/26481 | |
566 | * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint | |
567 | with output modifier. | |
568 | ||
05431b85 KH |
569 | 2006-05-04 Richard Sandiford <richard@codesourcery.com> |
570 | ||
571 | PR target/26765 | |
572 | * config/mips/mips.c (mips_symbolic_address_p): Return true | |
573 | for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL, | |
574 | SYMBOL_GOTTPREL, and SYMBOL_TLS. | |
575 | ||
d818832c RG |
576 | 2006-05-04 Richard Guenther <rguenther@suse.de> |
577 | ||
578 | PR tree-optimization/14287 | |
579 | PR tree-optimization/14844 | |
580 | PR tree-optimization/19792 | |
581 | PR tree-optimization/21608 | |
582 | PR tree-optimization/27090 | |
583 | * tree-ssa-pre.c (try_combine_conversion): New function. | |
584 | (compute_avail): After constructing the value-handle | |
585 | expression, use try_combine_conversion to combine NOP_EXPRs | |
586 | with previous value-handle expressions and use the result if it | |
587 | is available. | |
588 | ||
6c4b5a19 JM |
589 | 2006-05-04 Joseph S. Myers <joseph@codesourcery.com> |
590 | ||
591 | * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove. | |
592 | ||
69fb1284 JH |
593 | 2006-05-04 Jan Hubicka <jh@suse.cz> |
594 | ||
595 | PR middle-end/25962 | |
596 | * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing. | |
597 | ||
554006bd BS |
598 | 2006-05-04 Bernd Schmidt <bernd.schmidt@analog.com> |
599 | ||
600 | * config/bfin/predicates.md (const01_rtx): Tell generator programs | |
601 | that this only matches CONST_INTs. All users changed to VOIDmode | |
602 | operands. | |
603 | ||
42da70b7 BS |
604 | * config/bfin/bfin.c: Include "optabs.h". |
605 | (bfin_rtx_costs): Some costs for vector operations, to allow combine | |
606 | to do more work. | |
607 | (enum bfin_builtins): Add a number of fractional and vector builtins. | |
608 | (bfin_init_builtins): Likewise. | |
609 | (struct builtin_description, bdesc_2arg, bdesc_1arg): New. | |
610 | (safe_vector_operand, bfin_expand_binop_builtin, | |
611 | bfin_expand_unop_builtin): New functions. | |
612 | (bfin_expand_builtin): Handle the new builtins. | |
613 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define | |
614 | __ADSPBLACKFIN__. | |
615 | ||
8cd37d0b RL |
616 | 2006-05-04 Leehod Baruch <leehod@il.ibm.com> |
617 | ||
e8366202 MS |
618 | * see.c: New file. |
619 | * Makefile.in (OBJS-common): Add see.o. | |
620 | (see.o): Add dependencies. | |
621 | * common.opt (fsee): New flag for the see optimization was added. | |
622 | * opts.c (flag_see): Initialized. | |
623 | * passes.c (init_optimization_passes, pass_see): New pass. | |
624 | * rtl.h (see_main): Declaration as extern. | |
625 | * timevar.def (TV_SEE): New. | |
626 | * tree-pass.h (pass_see): Declaration as extern. | |
627 | * invoke.texi (-fsee): Document. | |
628 | * recog.c (validate_simplify_insn): New function. | |
629 | * recog.h (validate_simplify_insn): Declaration as extern. | |
630 | * df-problems.c (df_chain_dump): Check for NULL. | |
8cd37d0b RL |
631 | |
632 | 2006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com> | |
e8366202 | 633 | Daniel Berlin <dberlin@dberlin.org> |
8cd37d0b | 634 | |
e8366202 MS |
635 | * cfgrtl.c (insert_insn_bb_end_new): New function. |
636 | * basic-block.h (insert_insn_bb_end_new): Declaration as extern. | |
8cd37d0b RL |
637 | |
638 | 2006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il> | |
639 | ||
e8366202 MS |
640 | * df.h (struct web_entry): Moved from web.c. |
641 | (union_defs): Declaration as extern. | |
642 | (unionfind_root): Likewise. | |
643 | (unionfind_union): Likewise. | |
644 | * web.c (struct web_entry): Moved to df.h. | |
645 | (unionfind_root): Remove static declaration. | |
646 | (unionfind_union): Likewise. | |
647 | (union_defs): Likewise and generalize to use callback function. | |
648 | (web_main): Update arguments for union_defs function call. | |
8cd37d0b | 649 | |
23ba9627 RG |
650 | 2006-05-04 Richard Guenther <rguenther@suse.de> |
651 | ||
652 | PR tree-optimization/26447 | |
653 | * tree-ssa-pre.c (realify_fake_stores): For necessary loads | |
654 | produce SSA_NAME copies before the store stmt to avoid | |
655 | breaking exception handling. | |
656 | ||
f6a5ffbf JJ |
657 | 2006-05-04 Jakub Jelinek <jakub@redhat.com> |
658 | ||
659 | PR middle-end/27388 | |
660 | * gimplify.c (omp_is_private): If var is shared in some outer context, | |
661 | return false instead of true. Stop searching on parallel context | |
662 | boundary. | |
663 | ||
0ef1a537 AO |
664 | 2006-05-03 Alexandre Oliva <aoliva@redhat.com> |
665 | ||
666 | PR java/8260 | |
667 | * coverage.c: Use get_gcov_unsigned_t() instead of | |
668 | unsigned_type_node all over. | |
669 | ||
afd83fe4 AM |
670 | 2006-05-02 Andrew MacLeod <amacleod@redhat.com> |
671 | ||
672 | PR tree-optimization/27381 | |
90c92323 | 673 | * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument, |
afd83fe4 | 674 | maintain the same immediate_use links. |
90c92323 | 675 | * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker |
afd83fe4 AM |
676 | node rather than segfaulting. |
677 | ||
693d710f JJ |
678 | 2006-05-03 Jakub Jelinek <jakub@redhat.com> |
679 | ||
680 | PR fortran/27395 | |
681 | * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE | |
682 | rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN | |
683 | bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER. | |
684 | ||
832a0c1d DB |
685 | 2006-05-02 Daniel Berlin <dberlin@dberlin.org> |
686 | ||
687 | Fix PR tree-optimization/26626 | |
688 | * tree-ssa-structalias.c (compute_points_to_sets): For now, solve | |
689 | always. | |
690 | * tree-ssa-operands.c (access_can_touch_variable): Allow | |
691 | typecasting through union pointers. | |
692 | ||
8ca5b2a2 JJ |
693 | 2006-05-02 Jakub Jelinek <jakub@redhat.com> |
694 | ||
695 | PR c++/26943 | |
696 | * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function. | |
697 | (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx | |
698 | to find if var will be a global variable even in the nested context. | |
699 | (omp_copy_decl): Only check for global variable at the end, it might | |
700 | be overridden in outer contexts. | |
701 | (scan_sharing_clauses): For global variables don't create a field. | |
702 | (lower_rec_input_clauses): Do nothing for global shared variables. | |
703 | Emit a barrier at the end of ILIST if there were any decls in both | |
704 | firstprivate and lastprivate clauses. | |
705 | (lower_send_clauses): Do nothing for global variables except for | |
706 | COPYIN. | |
707 | ||
a3428e07 ZD |
708 | 2006-05-02 Zdenek Dvorak <dvorakz@suse.cz> |
709 | ||
710 | * tree.c (unsigned_type_for, signed_type_for): Make sure a type | |
711 | of the correct signedness is returned. | |
712 | ||
26ef4301 JL |
713 | 2006-05-02 Jeff Law <law@redhat.com> |
714 | ||
715 | PR tree-optimization/27364 | |
716 | * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from | |
717 | multiply expressions. | |
718 | ||
263bb8fb TT |
719 | 2006-05-02 Tom Tromey <tromey@redhat.com> |
720 | ||
721 | * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo. | |
722 | ||
54b9e939 KH |
723 | 2006-05-02 Kazu Hirata <kazu@codesourcery.com> |
724 | ||
725 | PR target/27387 | |
726 | * arm.c (arm_output_mi_thunk): Use pc-relative addressing when | |
727 | -mthumb -fPIC are used. | |
728 | ||
2297e173 SS |
729 | 2006-05-02 Stanislaw Skowronek <skylark@linux-mips.org> |
730 | Joshua Kinard <kumba@gentoo.org> | |
d541888b SS |
731 | |
732 | PR target/25871 | |
a1d1988f | 733 | * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves |
d541888b SS |
734 | with 64-bit pointers. |
735 | ||
7a7017bc PB |
736 | 2006-05-02 Paul Brook <paul@codesourcery.com> |
737 | ||
738 | * config/arm/arm.c (add_minipool_forward_ref): Check if insn | |
739 | and pool overlap. | |
740 | (create_fix_barrier): Check that a suitable barrier location is | |
741 | found. | |
742 | (arm_reorg): Include ftmp->address in allowable range of addresses. | |
743 | ||
3beef5cb DB |
744 | 2006-05-02 David Billinghurst <David.Billinghurst@riotinto.com> |
745 | ||
746 | PR ada/27366 | |
90c92323 | 747 | * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment |
7a7017bc | 748 | on Cygwin. |
3beef5cb | 749 | |
d5d86fde JJ |
750 | 2006-05-02 Jakub Jelinek <jakub@redhat.com> |
751 | ||
077b0dfb JJ |
752 | PR middle-end/27337 |
753 | * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF | |
754 | around RESULT_DECL for result passed by reference. | |
755 | (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen. | |
756 | * omp-low.c (use_pointer_for_field): Don't look at | |
757 | DECL_HAS_VALUE_EXPR_P for RESULT_DECLs. | |
758 | (scan_omp_1): Call remap_decl on RESULT_DECLs. | |
759 | (lower_rec_input_clauses): Don't allocate VLA memory for the second | |
760 | time or var for passing by reference for | |
761 | OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of | |
762 | TREE_ADDRESSABLE variables when passing by reference. | |
763 | ||
764 | * omp-low.c (dump_omp_region): Fix output formatting. | |
765 | ||
2aee3e57 JJ |
766 | PR middle-end/27328 |
767 | * omp-low.c (remove_exit_barrier): Handle NULL exit_bb. | |
768 | (expand_omp_parallel): Likewise. | |
769 | * tree-cfg.c (move_sese_region_to_fn): Likewise. | |
770 | ||
4a31b7ee JJ |
771 | PR middle-end/27325 |
772 | * omp-low.c (lower_omp_sections): Call maybe_catch_exception | |
773 | on statement list containing also constructors and destructors. | |
774 | (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise. | |
775 | ||
d5d86fde JJ |
776 | PR middle-end/27310 |
777 | * except.c (duplicate_eh_regions): Fix clearing of | |
778 | cfun->eh->region_array entries. | |
779 | ||
c15b113b DD |
780 | 2006-05-01 DJ Delorie <dj@redhat.com> |
781 | ||
782 | * configure.ac (gcc_cv_nm): Don't use an in-tree nm if | |
783 | build!=host. | |
784 | (gcc_cv_objdump): Likewise. | |
785 | * configure: Regenerated. | |
786 | ||
94634f14 KH |
787 | 2006-05-01 Kazu Hirata <kazu@codesourcery.com> |
788 | ||
789 | PR target/27374 | |
790 | * config/arm/vfp.md (*arm_movdi_vfp): Correct the output | |
791 | templates for case 3 and 4. | |
792 | ||
2d5bc016 DD |
793 | 2006-05-01 DJ Delorie <dj@redhat.com> |
794 | ||
795 | * vec.c: Include bconfig.h when appropriate. | |
796 | * Makefile.in (build/vec.o): Adjust dependencies. | |
797 | * mkconfig.sh: Make sure config.h isn't used for build machine | |
798 | compiles. | |
799 | ||
2ce79879 ZD |
800 | 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
801 | ||
802 | * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New | |
803 | variables. | |
804 | (mark_phi_for_rewrite): New function. | |
805 | (insert_phi_nodes_for, mark_use_interesting): Call | |
806 | mark_phi_for_rewrite. | |
807 | (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite. | |
808 | (update_ssa): Initialize and free phis_to_rewrite. | |
809 | ||
ed541ddb ZD |
810 | 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
811 | ||
812 | PR rtl-optimization/27291 | |
813 | * loop-doloop.c (add_test, doloop_modify): Handle the case condition is | |
814 | folded to a constant. | |
815 | ||
dcccd88d ZD |
816 | 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
817 | ||
818 | PR tree-optimization/27283 | |
819 | * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees, | |
820 | not whole # of iteration descriptions. | |
821 | (niter_for_exit): Return just # of iterations. Fail if # of iterations | |
822 | uses abnormal ssa name. | |
823 | (niter_for_single_dom_exit): Ditto. | |
824 | (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to | |
825 | return just the number of iterations. | |
826 | ||
763f4527 ZD |
827 | 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
828 | ||
829 | PR tree-optimization/27144 | |
830 | * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function. | |
831 | (record_estimate): Only record constant upper bound. | |
832 | (infer_loop_bounds_from_undefined): Call | |
833 | compute_estimated_nb_iterations just once. | |
834 | (proved_non_wrapping_p): Renamed to ... | |
835 | (n_of_executions_at_most): ... this. Expect bound to be a constant. | |
836 | (convert_step_widening, scev_probably_wraps_p): Call | |
837 | n_of_executions_at_most instead of proved_non_wrapping_p. | |
838 | (substitute_in_loop_info): Do not replace values in bounds. | |
839 | * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update | |
840 | comments. | |
841 | ||
2a83cc52 RH |
842 | 2006-05-01 Richard Henderson <rth@redhat.com> |
843 | ||
844 | PR c/27358 | |
845 | * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after | |
846 | c_parser_skip_to_pragma_eol. Convert to switch statement. Handle | |
847 | CPP_PRAGMA. | |
848 | ||
0f57299d RS |
849 | 2006-05-01 Roger Sayle <roger@eyesopen.com> |
850 | ||
851 | * c-typeck.c (parser_build_binary_op): Don't call the function | |
852 | unsigned_conversion_warning to spot operand/result type overflow. | |
853 | (build_binary_op): Instead, call convert_and_check instead of | |
854 | convert to report the problem when the operands are promoted. | |
855 | * c-common.c (unsigned_conversion_warning): Make static. | |
856 | * c-common.h (unsigned_conversion_warning): Delete prototype. | |
857 | ||
ea643120 RG |
858 | 2006-05-01 Richard Guenther <rguenther@suse.de> |
859 | ||
860 | PR tree-optimization/26726 | |
861 | * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the | |
862 | problem ... | |
863 | (find_interesting_uses_address): ... we work around here | |
864 | by folding INDIRECT_REFs in the substituted base. | |
865 | ||
444e96af DN |
866 | 2006-05-01 Diego Novillo <dnovillo@redhat.com> |
867 | ||
868 | * omp-low.c (dump_omp_region): Add newlines. | |
869 | ||
71834ad3 RS |
870 | 2006-04-30 Roger Sayle <roger@eyesopen.com> |
871 | ||
872 | * common.opt (Woverflow): New command line option. | |
873 | * c-common.c (constant_expression_warning): Check warn_overflow. | |
874 | (overflow_waring): Pass OPT_Woverflow to warning. | |
875 | (unsigned_conversion_warning): Likewise. | |
876 | (convert_and_check): Likewise. | |
877 | * doc/invoke.texi: Document new command line option. | |
878 | ||
194c524a DE |
879 | 2006-04-30 David Edelsohn <edelsohn@gnu.org> |
880 | ||
881 | * config/rs6000/rs6000.c (rs6000_override_options): Enable | |
882 | TARGET_NO_FP_IN_TOC for section anchors. | |
883 | (optimization_options): Enable section anchors for all | |
884 | non-"Objective" languages. | |
885 | ||
4f8bdef9 EC |
886 | 2006-04-28 Eric Christopher <echristo@apple.com> |
887 | ||
888 | * config/darwin-c.c (darwin_ms_struct): Move this | |
889 | (darwin_set_default_type_attributes): and this... | |
890 | * config/darwin.c: ... here. | |
891 | * config/darwin.h (darwin_ms_struct): Declare. | |
892 | ||
a5f84464 AM |
893 | 2006-04-28 Andrew MacLeod <amacleod@redhat.com> |
894 | ||
895 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause. | |
896 | ||
a0f0ab9f RS |
897 | 2006-04-28 Roger Sayle <roger@eyesopen.com> |
898 | ||
899 | PR c/25309 | |
900 | * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT. | |
901 | (push_array_bounds): Delete prototype. Change BOUNDS argument to | |
902 | an unsigned HOST_WIDE_INT. | |
903 | (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the | |
904 | array index. | |
905 | (really_start_incremental_init): No need to call convert because | |
906 | bitsize_zero_node is already of type bitsizetype. | |
907 | (push_init_level): Extract the value of constructor_index as an | |
908 | unsigned HOST_WIDE_INT quantity, using tree_low_cst. | |
909 | (process_init_element): Likewise. | |
910 | ||
c7370b83 JM |
911 | 2006-04-28 Joseph S. Myers <joseph@codesourcery.com> |
912 | ||
913 | * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX | |
914 | value before passing to make_relative_prefix. | |
915 | ||
bb6a0ee1 AM |
916 | 2006-04-28 Alan Modra <amodra@bigpond.net.au> |
917 | ||
918 | PR middle-end/27260 | |
919 | * builtins.c (expand_builtin_memset): Expand val in original mode. | |
920 | ||
16d6f994 EC |
921 | 2006-04-27 Eric Christopher <echristo@apple.com> |
922 | ||
923 | * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket | |
924 | with #ifndef/#endif. | |
925 | * config/darwin-c.c (darwin_ms_struct): New. | |
926 | (darwin_pragma_ms_struct): Ditto. | |
927 | (darwin_set_default_type_attributes): Ditto. | |
928 | * config/darwin-protos.h (darwin_pragma_ms_struct): Declare. | |
929 | * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): | |
930 | Register ms_struct pragma. | |
931 | * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare. | |
932 | (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto. | |
933 | * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call | |
934 | darwin_set_default_type_attributes if TARGET_MACHO. | |
935 | ||
6c00f606 AM |
936 | 2006-04-27 Andrew MacLeod <amacleod@redhat.com> |
937 | ||
938 | PR tree-optimization/26854 | |
939 | * tree-vrp.c (remove_range_assertions): Use new Immuse iterator. | |
940 | * doc/tree-ssa.texi: Update immuse iterator documentation. | |
941 | * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator. | |
942 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator. | |
943 | * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p, | |
944 | first_safe_imm_use, next_safe_imm_use): Remove. | |
945 | (end_imm_use_stmt_p): New. Check for end of immuse stmt traversal. | |
946 | (end_imm_use_stmt_traverse): New. Terminate immuse stmt traversal. | |
947 | (move_use_after_head): New. Helper function to sort immuses in a stmt. | |
948 | (link_use_stmts_after): New. Link all immuses in a stmt consescutively. | |
949 | (first_imm_use_stmt): New. Get first stmt in an immuse list. | |
950 | (next_imm_use_stmt): New. Get next stmt in an immuse list. | |
951 | (first_imm_use_on_stmt): New. Get first immuse on a stmt. | |
952 | (end_imm_use_on_stmt_p): New. Check for end of immuses on a stmt. | |
953 | (next_imm_use_on_stmt): New. Move to next immuse on a stmt. | |
954 | * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator. | |
955 | * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator. | |
956 | (perfect_nestify): Use new iterator. | |
16d6f994 | 957 | * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new |
6c00f606 AM |
958 | iterator. |
959 | * tree-flow.h (struct immediate_use_iterator_d): Add comments. | |
960 | (next_imm_name): New field in struct immediate_use_iterator_d. | |
961 | (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove. | |
16d6f994 | 962 | (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT, |
6c00f606 AM |
963 | FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros. |
964 | * tree-cfg.c (replace_uses_by): Use new iterator. | |
965 | * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator. | |
966 | * tree-ssa-operands.c (correct_use_link): Remove. | |
967 | (finalize_ssa_use_ops): No longer call correct_use_link. | |
968 | ||
9613eaff SH |
969 | 2006-04-27 Stuart Hastings <stuart@apple.com> |
970 | ||
971 | * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New. | |
972 | * config/t-darwin (crt3.o): Use it. | |
973 | * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove | |
974 | 'pmode', use Pmode instead of SImode for SYMBOL_REF. | |
975 | * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv, | |
976 | call_nonlocal_sysv, call_value_indirect_nonlocal_sysv, | |
977 | call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64 | |
978 | support. | |
16d6f994 | 979 | |
135c2bd4 RS |
980 | 2006-04-27 Roger Sayle <roger@eyesopen.com> |
981 | ||
982 | * expmed.c (store_fixed_bit_field): If we're not optimizing for | |
983 | size, force the intermediate into a new pseudo rather instead of | |
984 | performing both a bitwise AND and a bitwise IOR in memory. | |
985 | ||
921b02cd RG |
986 | 2006-04-27 Richard Guenther <rguenther@suse.de> |
987 | ||
988 | PR rtl-optimization/26685 | |
989 | * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named | |
990 | this one "max-flow-memory-locations". | |
991 | ||
67ac6e63 RG |
992 | 2006-04-27 Richard Guenther <rguenther@suse.de> |
993 | ||
994 | PR tree-optimization/25148 | |
995 | * tree-vrp.c (compare_values): Remove code dealing with | |
996 | comparisons against type min/max value. Honour overflow | |
997 | and negative constants in code dealing with comparisons | |
998 | of plus and minus expressions. | |
999 | (value_inside_range): Use fold_binary with LE_EXPR and | |
1000 | GE_EXPR rather than compare_values. | |
1001 | ||
869170df DM |
1002 | 2006-04-27 Dirk Mueller <dmueller@suse.de> |
1003 | ||
1004 | * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare | |
1005 | prototype for SSE. | |
1006 | ||
3bf7d5e7 KZ |
1007 | 2006-04-26 Kenneth Zadeck <zadeck@naturalbridge.com> |
1008 | ||
1009 | * basic-block.h (safe_insert_insn_on_edge): Removed. | |
1010 | * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed. | |
1011 | ||
7b282ff9 DE |
1012 | 2006-04-26 David Edelsohn <edelsohn@gnu.org> |
1013 | Paolo Bonzini <bonzini@gnu.org> | |
1014 | ||
1015 | PR middle-end/27282 | |
1016 | * combine.c (simplify_and_const_int_1): Use gen_int_mode. | |
1017 | (simplify_and_const_int): Same. | |
1018 | ||
44470433 AH |
1019 | 2006-04-26 Aldy Hernandez <aldyh@redhat.com> |
1020 | ||
e8366202 | 1021 | * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE. |
44470433 | 1022 | |
21a66e91 JJ |
1023 | 2006-04-26 Jakub Jelinek <jakub@redhat.com> |
1024 | ||
91b6c26d JJ |
1025 | PR c/26171 |
1026 | * cgraph.c (cgraph_varpool_finalize_decl): Don't call | |
1027 | cgraph_varpool_assemble_pending_decls if -fopenmp, unless | |
1028 | cgraph_global_info_ready. | |
1029 | ||
07ed51c9 JJ |
1030 | PR middle-end/26913 |
1031 | * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR. | |
1032 | ||
1562e1fe JJ |
1033 | PR c/25996 |
1034 | * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if | |
1035 | either decl or init is error_mark_node. | |
1036 | ||
21a66e91 JJ |
1037 | PR middle-end/25989 |
1038 | * tree-flow.h (struct omp_region): Add sched_kind. | |
1039 | * omp-low.c (expand_parallel_call): Use region->inner->sched_kind | |
1040 | instead of extracting omp for data. | |
1041 | (expand_omp_for): Save extracted sched_kind. | |
1042 | ||
f7acbf4c RS |
1043 | 2006-04-25 Roger Sayle <roger@eyesopen.com> |
1044 | ||
1045 | * expmed.c (store_bit_field): Also check whether the bitsize is | |
1046 | valid for the machine's "insv" instruction before moving the | |
1047 | target into a pseudo for use with the insv. | |
1048 | * config/i386/predicates.md (const8_operand): New predicate. | |
1049 | * config/i386/i386.md (extv, extzv, insv): Use the new | |
1050 | const8_operand predicate where appropriate. | |
1051 | ||
c9936427 DD |
1052 | 2006-04-25 DJ Delorie <dj@redhat.com> |
1053 | ||
1054 | * doc/install.texi (Specific): Clarify that this is not a list of | |
1055 | supported hosts or targets. | |
1056 | ||
c0c5d392 RS |
1057 | 2006-04-25 Richard Sandiford <richard@codesourcery.com> |
1058 | ||
1059 | PR rtl-optimization/26725 | |
1060 | * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source | |
1061 | block's BB_DIRTY flag. | |
1062 | ||
d61772b2 GK |
1063 | 2006-04-25 Geoffrey Keating <geoffk@apple.com> |
1064 | ||
887dc802 GK |
1065 | * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there |
1066 | are no branches. | |
1067 | ||
d61772b2 GK |
1068 | * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just |
1069 | to print an integer. | |
1070 | ||
d5fa3ec8 DE |
1071 | 2006-04-25 David Edelsohn <edelsohn@gnu.org> |
1072 | ||
1073 | * varasm.c (align_variable): New function. | |
1074 | (get_block_for_decl): Apply align_variable to DECL before | |
1075 | calculating section information. | |
1076 | (assemble_variable): Split out alignment computation. | |
1077 | ||
495db1a1 AK |
1078 | 2006-04-25 Andreas Krebbel <krebbel1@de.ibm.com> |
1079 | ||
1080 | * expmed.c (store_bit_field): Handle paradoxical subregs on big endian | |
1081 | machines. | |
1082 | ||
75d8b2d0 BS |
1083 | 2006-04-25 Bernd Schmidt <bernd.schmidt@analog.com> |
1084 | ||
1085 | * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a | |
1086 | MODE_PARTIAL_INT mode. | |
1087 | * config/bfin/bfin-modes.def: Add V2PDI and V2SI. | |
1088 | * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers | |
1089 | for CONST_INTs. | |
1090 | (hard_regno_mode_ok): V2PDImode is ok for accumulators. | |
1091 | * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle | |
1092 | V2PDImode. | |
1093 | * config/bfin/predicates.md (const01_operand, vec_shift_operand): | |
1094 | New predicates. | |
1095 | * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG): | |
1096 | New constants. | |
1097 | (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS, | |
1098 | MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2, | |
1099 | MACFLAG_IH): Likewise. | |
1100 | (movstricthi_1): Renamed from "*movstricthi". | |
1101 | (load_accumulator, load_accumulator_pair, movsi_insv, insv, | |
1102 | ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3, | |
1103 | abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high, | |
1104 | movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low, | |
1105 | movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low, | |
1106 | movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3, | |
1107 | addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3, | |
1108 | sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3, | |
1109 | addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3, | |
1110 | mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2, | |
1111 | ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi, | |
1112 | flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly, | |
1113 | flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts, | |
1114 | flag_macv2hi_parts, flag_macv2hi_parts_acconly, | |
1115 | flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns. | |
1116 | ||
6d75cd5f BS |
1117 | * doc/rtl.texi (ss_ashift): Improve wording. |
1118 | ||
6f8d8ef0 GK |
1119 | 2006-04-24 Geoffrey Keating <geoffk@apple.com> |
1120 | ||
1121 | * dwarf2out.c (verify_marks_clear): New. | |
1122 | (prune_unused_types): Call verify_marks_clear initially, not | |
1123 | prune_unmark_dies. | |
1124 | ||
e551ad26 BS |
1125 | 2006-04-24 Bernd Schmidt <bernd.schmidt@analog.com> |
1126 | ||
1127 | * rtl.def (SS_ASHIFT, SS_NEG): New codes. | |
1128 | * doc/rtl.texi: Document them. | |
1129 | * simplify-rtx.c (simplify_unary_operation, | |
1130 | simplify_binary_operation_1): Don't abort when we see them. | |
1131 | ||
bfa11223 MM |
1132 | 2006-04-24 Mark Mitchell <mark@codesourcery.com> |
1133 | ||
1134 | Revert: | |
1135 | 2006-04-23 Mark Mitchell <mark@codesourcery.com> | |
1136 | * configure.ac: Completely disregard languages that are not | |
1137 | enabled. | |
1138 | * configure: Regenerated. | |
1139 | ||
d84b37b0 AP |
1140 | 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org> |
1141 | Richard Guenther <rguenther@suse.de> | |
1142 | ||
1143 | PR tree-optimization/27236 | |
1144 | * tree-inline.c (copy_body_r): Make sure to copy | |
1145 | TREE_THIS_VOLATILE flag. | |
1146 | ||
c0a3f887 RG |
1147 | 2006-04-24 Richard Guenther <rguenther@suse.de> |
1148 | ||
1149 | PR middle-end/26869 | |
1150 | * tree-complex.c (update_parameter_components): Don't handle | |
1151 | unused parameters which have no default def. | |
1152 | ||
72fa5e06 AP |
1153 | 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org> |
1154 | Richard Guenther <rguenther@suse.de> | |
1155 | ||
1156 | PR tree-optimization/27218 | |
1157 | * tree-inline.c (expand_call_inline): Strip useless type | |
1158 | conversions for the return slot address. | |
1159 | ||
0162f155 RG |
1160 | 2006-04-24 Richard Guenther <rguenther@suse.de> |
1161 | ||
1162 | * cfgloop.h (struct loops): Remove unused field array. Reorder | |
1163 | state after num. | |
1164 | (LOOP_PREFETCH): Remove. | |
1165 | ||
7e1584f8 RG |
1166 | 2006-04-24 Richard Guenther <rguenther@suse.de> |
1167 | ||
1168 | PR tree-optimization/22525 | |
1169 | * value-prof.c (tree_mod_pow2): Remove unnecessary temporary | |
1170 | variable, adjust types of generated expressions. | |
1171 | ||
d24b23bb L |
1172 | 2006-04-23 H.J. Lu <hongjiu.lu@intel.com> |
1173 | ||
1174 | * Makefile.in (c-convert.o): Add dependency on $(TARGET_H) | |
1175 | (tree-vect-patterns.o): Likewise. | |
1176 | (jump.o): Likewise. | |
1177 | (cselib.o): Likewise. | |
1178 | (loop-doloop.o): Likewise. | |
1179 | (regclass.o): Likewise. | |
1180 | (reload1.o): Likewise. | |
1181 | (explow.o): Replace target.h with $(TARGET_H). | |
1182 | (ipa-prop.o): Likewise. | |
1183 | (ipa-cp.o): Likewise. | |
1184 | (ipa-inline.o): Likewise. | |
1185 | (reorg.o): Likewise. | |
1186 | (reg-stack.o): Likewise. | |
1187 | ||
e8c3ff97 EB |
1188 | 2006-04-23 Eric Botcazou <ebotcazou@adacore.com> |
1189 | ||
1190 | * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too. | |
1191 | ||
38a4afee MM |
1192 | 2006-04-23 Mark Mitchell <mark@codesourcery.com> |
1193 | ||
bfa11223 MM |
1194 | * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE. |
1195 | ||
1196 | * configure.ac: Completely disregard languages that are not | |
1197 | enabled. | |
1198 | * configure: Regenerated. | |
1199 | ||
38a4afee MM |
1200 | PR c++/26534 |
1201 | * c-common.h (c_build_bitfield_integer_type): Declare. | |
1202 | * c-decl.c (c_build_bitfield_integer_type): Move to ... | |
1203 | * c-common.c (c_build_bitfield_integer_type): ... here. | |
1204 | ||
acb188c1 RS |
1205 | 2006-04-23 Roger Sayle <roger@eyesopen.com> |
1206 | ||
1207 | PR target/21283 | |
1208 | * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on | |
1209 | a SImode SUBREG of a floating point register after no_new_pseudos. | |
1210 | ||
a02ee5b2 RS |
1211 | 2006-04-23 Roger Sayle <roger@eyesopen.com> |
1212 | ||
1213 | * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to | |
1214 | identify potentially eliminable registers to additionally catch | |
1215 | VIRTUAL_INCOMING_ARGS_REGNUM. | |
1216 | (addsi3): Update the conditions on when to use addsi_small_int. | |
1217 | ||
c21242e8 RS |
1218 | 2006-04-23 Roger Sayle <roger@eyesopen.com> |
1219 | ||
1220 | PR target/16641 | |
1221 | * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for | |
1222 | STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the | |
1223 | rtx to stack_pointer_rtx or frame_pointer_rtx directly. | |
1224 | ||
1464eeb8 EB |
1225 | 2006-04-23 Eric Botcazou <ebotcazou@adacore.com> |
1226 | ||
1227 | * fold-const.c (range_predecessor): Use operand_equal_p | |
1228 | as the predicate for equality. | |
1229 | (range_successor): Likewise. | |
1230 | ||
9542abd3 KH |
1231 | 2006-04-22 Kazu Hirata <kazu@codesourcery.com> |
1232 | ||
1233 | Revert: | |
1234 | * config/soft-fp/op-common.h: Fix a typo. | |
1235 | ||
110c4563 FCE |
1236 | 2006-04-22 Frank Ch. Eigler <fche@redhat.com> |
1237 | ||
1238 | PR libmudflap/26864 | |
1239 | * common.opt (flag_mudflap_threads): Overload flag_mudflap. | |
1240 | * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap. | |
1241 | ||
66a4ad37 KH |
1242 | 2006-04-22 Kazu Hirata <kazu@codesourcery.com> |
1243 | ||
1244 | * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c: | |
1245 | Fix comment typos. | |
1246 | * doc/tm.texi: Fix a typo. | |
1247 | ||
d6eeb3ba GK |
1248 | 2006-04-21 Geoffrey Keating <geoffk@apple.com> |
1249 | ||
1250 | * dwarf2out.c (struct die_struct): Document that die_sib makes | |
1251 | a circular linked list. | |
1252 | (FOR_EACH_CHILD): New. | |
1253 | (reverse_die_lists): Delete. | |
1254 | (reverse_all_dies): Delete. | |
1255 | (add_dwarf_attr): Correct documentation. | |
1256 | (remove_child_with_prev): New. | |
1257 | (remove_child_TAG): Update for change to die_struct, use | |
1258 | remove_child_with_prev. | |
1259 | (add_child_die): Update for change to die_struct. | |
1260 | (splice_child_die): Use remove_child_with_prev and add_child_die. | |
1261 | (print_die): Use FOR_EACH_CHILD. | |
1262 | (die_checksum): Likewise. | |
1263 | (assign_symbol_names): Likewise. | |
1264 | (output_location_lists): Likewise. | |
1265 | (build_abbrev_table): Likewise. | |
1266 | (calc_die_sizes): Likewise. | |
1267 | (mark_dies): Likewise. | |
1268 | (unmark_dies): Likewise. | |
1269 | (unmark_all_dies): Likewise. | |
1270 | (output_die): Likewise. | |
1271 | (prune_unused_types_mark): Likewise. | |
1272 | (prune_unused_types_walk): Likewise. | |
1273 | (same_die_p): Update for change to die_struct. | |
1274 | (break_out_includes): Likewise. | |
1275 | (prune_unused_types_prune): Likewise. | |
1276 | (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic. | |
1277 | (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if | |
1278 | it's already clear. | |
1279 | (dwarf2out_finish): Don't call reverse_all_dies. | |
1280 | ||
7a0b46c9 EC |
1281 | 2006-04-21 Eric Christopher <echristo@apple.com> |
1282 | ||
1283 | * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos | |
1284 | in comments and function names. | |
1285 | ||
5d5e98dc VR |
1286 | 2006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
1287 | ||
f01da1a5 VR |
1288 | PR c/25875 |
1289 | * c-typeck.c (digest_init): Robustify. | |
1290 | ||
5d5e98dc VR |
1291 | * c-typeck.c (pop_init_level): Simplify. |
1292 | ||
3144998a SE |
1293 | 2006-04-21 Steve Ellcey <sje@cup.hp.com> |
1294 | ||
1295 | * config/pa/t-pa64: Add dependencies on $(GCC_PASSES). | |
1296 | ||
87b24aaf PB |
1297 | 2006-04-21 Paul Brook <paul@codesourcery.com> |
1298 | ||
1299 | * config/arm/arm.c (arm_override_options): Error on iWMMXt and | |
1300 | hardware floating point. | |
1301 | ||
e3604432 DE |
1302 | 2006-04-21 David Edelsohn <edelsohn@gnu.org> |
1303 | ||
1304 | * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to | |
1305 | NON_FLOAT_REGS. | |
1306 | ||
15eaa78f NC |
1307 | 2006-04-21 Nick Clifton <nickc@redhat.com> |
1308 | ||
1309 | * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include | |
1310 | OPT_EXTRA_PARTS. | |
1311 | ||
56438901 AM |
1312 | 2006-04-21 Alan Modra <amodra@bigpond.net.au> |
1313 | ||
1314 | PR target/27230 | |
1315 | * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use | |
1316 | C++ lang type in traceback table for Objective-C++. | |
1317 | ||
1318 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment. | |
1319 | ||
a46cec70 L |
1320 | 2006-04-20 H.J. Lu <hongjiu.lu@intel.com> |
1321 | ||
1322 | * config/i386/i386.c (asm_preferred_eh_data_format): Reformat. | |
1323 | ||
06866a73 VR |
1324 | 2006-04-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
1325 | ||
1326 | PR mudflap/26789 | |
1327 | * tree-mudflap.c (mudflap_finish_file): Skip function when there | |
1328 | were errors. Remove check for erroneous objects. | |
1329 | ||
bfc646bf JL |
1330 | 2006-04-20 Jeff Law <law@redhat.com> |
1331 | ||
1332 | PR tree-optimization/26854 | |
1333 | * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when | |
1334 | checking for zero or one use. | |
1335 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly. | |
1336 | * tree-cfgcleanup.c (merge_phi_nodes): Similarly. | |
1337 | * tree-ssa-reassoc.c (negate_value): Similarly. | |
1338 | (reassociate_bb): Similarly. | |
1339 | ||
455f78d9 JJ |
1340 | 2006-04-20 Jakub Jelinek <jakub@redhat.com> |
1341 | ||
1342 | * c-pretty-print.c (pp_c_direct_abstract_declarator): Print | |
1343 | TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather | |
1344 | than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)). | |
1345 | ||
9a74f8ee AM |
1346 | 2006-04-20 Alan Modra <amodra@bigpond.net.au> |
1347 | ||
1348 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all | |
1349 | fp regs if the last fp arg doesn't fit in regs. | |
1350 | ||
904b6a0e KK |
1351 | 2006-04-20 Kaz Kojima <kkojima@gcc.gnu.org> |
1352 | ||
1353 | PR target/27182 | |
1354 | * config/sh/sh.md (movsicc_true+3): Tweak condition for the case | |
1355 | that the last insn has the REG_INC note. | |
1356 | ||
9dfb66b9 CD |
1357 | 2006-04-19 Carlos O'Donell <carlos@codesourcery.com> |
1358 | Nathan Sidwell <nathan@codesourcery.com> | |
1359 | ||
1360 | PR c/26774 | |
7a0b46c9 | 1361 | * stor-layout.c (update_alignment_for_field): Do not align |
9dfb66b9 CD |
1362 | ERROR_MARK nodes. |
1363 | (place_union_field): Place union field at the start of the union. | |
1364 | (place_field): Move ERROR_MARK check later, and use the current | |
1365 | allocation position to maintain monotonicity. | |
1366 | ||
74c96e0c ZD |
1367 | 2006-04-19 Zdenek Dvorak <dvorakz@suse.cz> |
1368 | ||
1369 | * dominance.c: Include timevar.h. | |
1370 | (calculate_dominance_info): Use TV_DOMINANCE. | |
1371 | * timevar.def (TV_DOMINANCE): New timevar. | |
1372 | * Makefile.in (dominance.o): Add TIMEVAR_H dependency. | |
1373 | ||
e90cd854 AK |
1374 | 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> |
1375 | ||
4414de4a | 1376 | PR rtl-optimization/14261 |
e90cd854 AK |
1377 | * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting |
1378 | move would be an INSV insn. | |
7a0b46c9 | 1379 | (noce_process_if_block): Don't optimize if the destination is a |
e90cd854 AK |
1380 | ZERO_EXTRACT which can't be handled by noce_emit_move_insn. |
1381 | ||
43a09b63 AK |
1382 | 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> |
1383 | ||
1384 | * config/s390/s390.md: Add comments with the instructions emitted | |
1385 | by an insn pattern if macros are used. | |
1386 | ||
0f35201e AM |
1387 | 2006-04-19 Alan Modra <amodra@bigpond.net.au> |
1388 | ||
1389 | PR rtl-optimization/26026 | |
1390 | * fold-const.c (fold_binary): Optimize div and mod where the divisor | |
1391 | is a known power of two shifted left a variable amount. | |
1392 | ||
76f7a74f GK |
1393 | 2006-04-18 Geoffrey Keating <geoffk@apple.com> |
1394 | ||
1395 | * dwarf2out.c (prune_unused_types_update_strings): Don't add strings | |
1396 | to hash table twice when the debug_str section has SECTION_MERGE. | |
1397 | ||
49721058 JM |
1398 | 2006-04-18 Joseph S. Myers <joseph@codesourcery.com> |
1399 | ||
1400 | * config/soft-fp: New directory. From glibc. | |
1401 | * config/soft-fp/t-softfp: New. | |
1402 | * config/soft-fp/README: New. | |
1403 | * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE. | |
1404 | * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New. | |
1405 | (libgcc.mk): Pass LIB2FUNCS_EXCLUDE. | |
1406 | (LIBGCC_DEPS): Add $(SFP_MACHINE). | |
1407 | * config.gcc: Use rs6000/t-fprules-fpbit or | |
1408 | rs6000/t-fprules-softfp and soft-fp/t-softfp together with | |
1409 | rs6000/t-fprules. | |
1410 | * config/rs6000/sfp-machine.h: New. Based on glibc. | |
1411 | * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp: | |
1412 | New. | |
1413 | * config/rs6000/t-fprules: Remove fp-bit rules. | |
1414 | * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=. | |
1415 | * config/rs6000/t-linux64: Likewise. Remove duplicates from | |
1416 | LIB2FUNCS_EXTRA. Remove fp-bit rules. | |
1417 | (softfp_wrap_start, softfp_wrap_end): New. | |
1418 | ||
7e96ee36 DD |
1419 | 2006-04-18 DJ Delorie <dj@redhat.com> |
1420 | ||
1421 | * config/m32c/m32c.h (PTRDIFF_TYPE): Define. | |
1422 | ||
d955420e DP |
1423 | 2006-04-18 Devang Patel <dpatel@apple.com> |
1424 | ||
1425 | * doc/invoke.texi (-Wuninitialized): Clarify -O connection. | |
7a0b46c9 | 1426 | |
503b5c9f NC |
1427 | 2006-04-18 Nick Clifton <nickc@redhat.com> |
1428 | ||
1429 | * config/sh/t-symbian: Add rule to build sh-c.o | |
1430 | * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use | |
1431 | of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P. | |
1432 | (sh_symbian_encode_section_info): Likewise. | |
1433 | ||
c2f07c00 AK |
1434 | 2006-04-18 Andreas Krebbel <krebbel1@de.ibm.com> |
1435 | ||
7a0b46c9 | 1436 | * builtins.c (expand_builtin_strcmp): Cover label definition of |
c2f07c00 AK |
1437 | do_libcall with HAVE_cmpstrnsi. |
1438 | ||
6370682a KH |
1439 | 2006-04-18 Kazu Hirata <kazu@codesourcery.com> |
1440 | ||
1441 | * function.c (temp_slots_at_level, max_slot_level): Use VEC | |
1442 | instead of VARRAY. | |
1443 | * function.h (temp_slot_p): New. | |
1444 | (function): Change the type of x_used_temp_slots to | |
1445 | VEC(temp_slot_p,gc) *. | |
1446 | ||
224504d2 NC |
1447 | 2006-04-18 Nick Clifton <nickc@redhat.com> |
1448 | ||
13a41b42 NC |
1449 | * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to |
1450 | flag_strength_reduce. | |
1451 | ||
224504d2 NC |
1452 | * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo. |
1453 | ||
6ee2e158 PB |
1454 | 2006-04-18 Paolo Bonzini <bonzini@gnu.org> |
1455 | ||
e8366202 | 1456 | PR target/27117 |
6ee2e158 PB |
1457 | |
1458 | Partial revert of revision 112637 | |
1459 | 2006-04-03 Paolo Bonzini <bonzini@gnu.org> | |
1460 | Dale Johannesen <dalej@apple.com> | |
1461 | ||
1462 | PR target/19653 | |
1463 | * regclass.c (struct reg_pref): Update documentation. | |
1464 | (regclass): Set prefclass to NO_REGS if memory is the best option. | |
1465 | (record_reg_classes): Cope with a prefclass set to NO_REGS. | |
1466 | ||
e3949961 PB |
1467 | 2006-04-18 Paolo Bonzini <bonzini@gnu.org> |
1468 | ||
e8366202 MS |
1469 | PR tree-optimization/26821 |
1470 | * tree-ssa-math-opts.c (get_constant_one): New. | |
1471 | (insert_reciprocals): Use it. | |
e3949961 | 1472 | |
e26303c2 GK |
1473 | 2006-04-17 Geoffrey Keating <geoffk@apple.com> |
1474 | ||
1475 | * dwarf2out.c (free_AT): Delete. | |
1476 | (remove_AT): Update string ref counts. | |
1477 | (remove_child_TAG): Don't call free_die. | |
1478 | (free_die): Delete. | |
1479 | (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL | |
1480 | or DW_TAG_GNU_EINCL. | |
1481 | (prune_unused_types_walk_attribs): Reset string refcounts. | |
1482 | (prune_unused_types_update_strings): New. | |
1483 | (prune_unused_types_prune): Don't make unnecessary stores. Don't | |
1484 | call free_die. Do call prune_unused_types_update_strings. | |
1485 | (prune_unused_types): Empty debug_str_hash. | |
1486 | ||
6cc1d694 RS |
1487 | 2006-04-17 Roger Sayle <roger@eyesopen.com> |
1488 | ||
1489 | * expr.c (expand_assignment): Optimize away no-op moves where the | |
1490 | source and destination are equal and have no side-effects. | |
1491 | ||
71a9b19a RG |
1492 | 2006-04-17 Richard Guenther <rguenther@suse.de> |
1493 | ||
1494 | PR target/26826 | |
1495 | * reload.c (push_reload): Guard calls to get_secondary_mem | |
1496 | for memory subregs. | |
1497 | ||
08c79682 KH |
1498 | 2006-04-16 Kazu Hirata <kazu@codesourcery.com> |
1499 | ||
1500 | * alias.c (reg_base_value, old_reg_base_value): Change the | |
1501 | type to VEC(rtx,gc) *. | |
1502 | (REG_BASE_VALUE, find_base_value, record_set, | |
1503 | init_alias_analysis): Use VEC instead of VARRAY. | |
1504 | ||
1a5640b4 KH |
1505 | * alias.c (alias_sets): Change the type to |
1506 | VEC(alias_set_entry,gc) *. | |
1507 | (get_alias_set_entry, new_alias_set, record_alias_subset): Use | |
1508 | VEC instead of VARRAY. | |
1509 | (last_alias_set): Remove. | |
1510 | ||
b2c0ad40 KH |
1511 | * cgraph.h (cgraph_edge_p): New. |
1512 | Update the prototype of cgraph_function_versioning. | |
1513 | * cgraphunit.c (cgraph_copy_node_for_versioning, | |
1514 | cgraph_function_versioning): Use VEC instead of VARRAY. | |
1515 | * ipa-cp.c (ipcp_insert_stage): Likewise. | |
1516 | ||
726ac11e RS |
1517 | 2006-04-16 Roger Sayle <roger@eyesopen.com> |
1518 | ||
1519 | PR target/26961 | |
1520 | * fold-const.c (fold_ternary): When converting "A ? B : C" into either | |
1521 | "A op B" or "A op C", we may need to convert A to the type of B and C. | |
1522 | ||
b12cbf2c AN |
1523 | 2006-04-16 Adam Nemet <anemet@caviumnetworks.com> |
1524 | ||
1525 | * target.h (struct gcc_target): Add mode_rep_extended. | |
1526 | * rtlanal.c (num_sign_bit_copies_in_rep): New global. | |
1527 | (init_num_sign_bit_copies_in_rep): Initialize it using | |
1528 | mode_rep_extended. | |
1529 | (truncate_to_mode): Use it. | |
1530 | (init_rtlanal): Call init_num_sign_bit_copies_in_rep. | |
1531 | * targhooks.h (default_mode_rep_extended): Declare it. | |
1532 | * targhooks.c (default_mode_rep_extended): Define it. | |
1533 | * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to | |
1534 | default_mode_rep_extended. | |
1535 | (TARGET_INITIALIZER): Include it. | |
1536 | * doc/tm.texi (Misc): Document it. | |
1537 | * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it. | |
1538 | (mips_truncated_to_mode): New function. | |
1539 | ||
d763e130 RS |
1540 | 2006-04-16 Roger Sayle <roger@eyesopen.com> |
1541 | ||
1542 | PR middle-end/25474 | |
1543 | * expr.c (compress_float_constant): Copy the narrow constant into | |
1544 | a new pseudo before extending it to its final width. | |
1545 | ||
2ff61948 RS |
1546 | 2006-04-16 Roger Sayle <roger@eyesopen.com> |
1547 | Andrew Pinski <pinskia@gcc.gnu.org> | |
1548 | Dale Johannesen <dalej@apple.com> | |
1549 | ||
1550 | PR target/24076 | |
1551 | * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add | |
1552 | special case code to implement V8HImode and V16QImode with SSE2. | |
1553 | ||
3db8a113 RS |
1554 | 2006-04-15 Roger Sayle <roger@eyesopen.com> |
1555 | ||
1556 | * config/i386/i386.c (ix86_va_start): Ensure all integer constant | |
1557 | trees are constructed with a suitable tree type. | |
1558 | ||
7fe25d1a RS |
1559 | 2006-04-15 Roger Sayle <roger@eyesopen.com> |
1560 | ||
1561 | * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW. | |
1562 | (integer_onep): Likewise. | |
1563 | (integer_all_onesp): Likewise. | |
1564 | (integer_pow2p): Likewise. | |
1565 | (integer_nonzerop): Likewise. | |
1566 | (real_zerop): Likewise. | |
1567 | (real_onep): Likewise. | |
1568 | (real_twop): Likewise. | |
1569 | (real_minus_onep): Likewise. | |
1570 | (int_size_in_bytes): Likewise. | |
1571 | (host_integerp): Likewise. | |
1572 | ||
75c40d56 KH |
1573 | 2006-04-15 Kazu Hirata <kazu@codesourcery.com> |
1574 | ||
1575 | * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c, | |
1576 | jump.c, mips-tfile.c, omp-low.c, sched-int.h, | |
1577 | tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos. | |
1578 | ||
aacac31f KH |
1579 | * tree-ssa-structalias.h (alias_info): Remove num_references. |
1580 | ||
8370f6fa JDA |
1581 | 2006-04-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1582 | ||
1583 | * pa.md (output_bb patterns): Shorten long branch alternatives by 4. | |
1584 | (output_bvb patterns): Likewise. | |
1585 | * pa.c (output_bb): Use 'bb' insn for long branch case. | |
1586 | (output_bvb): Likewise use '{bvb|bb}' for long branch case. | |
1587 | (output_dbra): Use '{comb|cmpb}' for long branch case for alternative | |
1588 | 1. Correct length operand for alternatives 1 and 2. | |
1589 | (output_movb): Use '{comb|cmpb}' for long branch case for alternatives | |
1590 | 1, 2 and 3. Correct length operand for alternatives 1, 2 and 3. | |
1591 | ||
bed575d5 RS |
1592 | 2006-04-14 Roger Sayle <roger@eyesopen.com> |
1593 | ||
1594 | * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r, | |
1595 | is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that | |
1596 | were accidentally reverted by r112959. | |
1597 | ||
7e2df4a1 JJ |
1598 | 2006-04-15 Jakub Jelinek <jakub@redhat.com> |
1599 | ||
1600 | PR middle-end/26823 | |
1601 | * except.h (eh_region_outermost): New prototype. | |
1602 | * except.c (eh_region_outermost): New function. | |
1603 | * tree-cfg.c (find_outermost_region_in_block): Use it. | |
1604 | ||
43b373a2 KH |
1605 | 2006-04-14 Kazu Hirata <kazu@codesourcery.com> |
1606 | ||
1607 | * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead | |
1608 | of VARRAY. | |
1609 | * reload1.c (reg_equiv_memory_loc_varray): Rename to | |
1610 | reg_equiv_memory_loc_vec. Change the type to VEC(rtx,gc) *. | |
1611 | (init_reload, reload): Use VEC instead of VARRAY. | |
1612 | * reload.h: Update the prototype for | |
1613 | reg_equiv_memory_loc_varray. | |
1614 | ||
68ba34f3 | 1615 | 2006-04-14 Alexey Starovoytov <alexey.starovoytov@sun.com> |
e8366202 | 1616 | Eric Botcazou <ebotcazou@libertysurf.fr> |
68ba34f3 AS |
1617 | |
1618 | * config/sparc/sparc.c (emit_and_preserve): Allocate space for the | |
1619 | register save area. | |
1620 | ||
39b1ec97 UB |
1621 | 2005-04-13 Uros Bizjak <uros@kss-loka.si> |
1622 | ||
1623 | PR middle-end/27134 | |
1624 | * builtins.c (expand_builtin_int_roundingfn): Use expand_normal() | |
1625 | to expand fallback builtin function call. | |
1626 | ||
880864cf AM |
1627 | 2006-04-14 Alan Modra <amodra@bigpond.net.au> |
1628 | ||
1629 | PR middle-end/27095 | |
1630 | * builtins.c: (expand_builtin_memset): Stabilize args before expansion | |
1631 | and emit libcall here in case the builtin fails. | |
1632 | (expand_builtin_strcmp): Always emit the libcall here on failure. | |
1633 | ||
1935e8a8 KH |
1634 | 2006-04-14 Kazu Hirata <kazu@codesourcery.com> |
1635 | ||
1636 | * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY. | |
1637 | * flow.c (reg_n_info): Change the type to | |
1638 | VEC(reg_info_p,heap) *. | |
1639 | * regclass.c (allocate_reg_info, free_reg_info): Use VEC | |
1640 | instead of VARRAY. | |
1641 | * regs.h (reg_info_p): New. | |
1642 | (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS, | |
1643 | REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED, | |
1644 | REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC | |
1645 | instead of VARRAY. | |
1646 | ||
6f8dd94b EB |
1647 | 2006-04-13 Eric Botcazou <ebotcazou@adacore.com> |
1648 | ||
1649 | * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter, | |
1650 | defaulting to 100. | |
1651 | * params.h (MAX_SCHED_READY_INSNS): New macro. | |
1652 | * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle | |
1653 | past MAX_SCHED_READY_INSNS during the first scheduling pass. | |
1654 | (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in | |
1655 | the ready list for 1 cycle during the first scheduling pass. | |
1656 | * doc/invoke.texi (--param): New parameter max-sched-ready-insns. | |
1657 | ||
777f7f9a RH |
1658 | 2006-04-13 Richard Henderson <rth@redhat.com> |
1659 | ||
bed575d5 | 1660 | PR libgomp/26651 |
777f7f9a RH |
1661 | * gimple-low.c (lower_omp_directive): Remove dead code. |
1662 | (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL. | |
1663 | * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE. | |
1664 | * omp-low.c (struct omp_region): Move to tree-flow.h. | |
1665 | (root_omp_region): Export. | |
1666 | (omp_regions, lookup_omp_region): Remove. | |
1667 | (determine_parallel_type): Update for struct omp_region changes. | |
1668 | (dump_omp_region): Dump regions with block numbers. | |
1669 | (new_omp_region): Take type and block instead of stmt; malloc | |
1670 | instead of ggc. | |
1671 | (free_omp_region_1, free_omp_regions): New. | |
1672 | (expand_parallel_call): Take entry_stmt as argument; update for | |
1673 | changes to omp_region. | |
1674 | (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT. | |
1675 | (remove_exit_barriers): New. | |
1676 | (expand_omp_parallel): Update for struct omp_region changes. | |
1677 | (expand_omp_synch): Likewise. | |
1678 | (expand_omp): Likewise. | |
1679 | (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE. | |
1680 | (expand_omp_for_static_chunk): Likewise. | |
1681 | (expand_omp_for): Likewise. | |
1682 | (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call. | |
1683 | (expand_omp_sections): Similarly, with GOMP_sections_end. | |
1684 | (expand_omp_single): New. | |
1685 | (build_omp_regions_1): Update for OMP_CONTINUE. | |
1686 | (execute_expand_omp): Call remove_exit_barriers, free_omp_regions. | |
1687 | (lower_omp_sections): Expand with OMP_CONTINUE, do not collect | |
1688 | OMP_SECTIONS_SECTIONS. | |
1689 | (lower_omp_single_simple): Don't emit barrier here. | |
1690 | (lower_omp_single_copy): Likewise. | |
1691 | (lower_omp_single): Fix bindings, and lower to straightline now. | |
1692 | (lower_omp_master, lower_omp_ordered): Likewise. | |
1693 | (lower_omp_critical): Likewise. | |
1694 | (lower_omp_for): Likewise. Emit OMP_CONTINUE. | |
1695 | * tree-cfg.c (make_edges): Collect an omp_region tree, use it for | |
1696 | omp edges, free it afterward. | |
1697 | (make_omp_sections_edges): Remove. | |
1698 | (is_ctrl_altering_stmt): Don't bother checking flag_openmp. | |
1699 | (move_stmt_r): Handle OMP_CONTINUE. | |
7a0b46c9 | 1700 | * tree-flow.h (struct omp_region): Move from omp-low.c. Switch |
777f7f9a RH |
1701 | statement pointers to basic blocks. Add type member. |
1702 | (root_omp_region, new_omp_region, free_omp_regions): Declare. | |
1703 | * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE. | |
1704 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
1705 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
1706 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
1707 | * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand. | |
1708 | (OMP_RETURN): Rename from OMP_RETURN_EXPR. | |
1709 | (OMP_CONTINUE): New. | |
1710 | * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE. | |
1711 | (OMP_SECTIONS_SECTIONS): Remove. | |
1712 | (OMP_SECTION_LAST): New. | |
1713 | (OMP_RETURN_NOWAIT): New. | |
1714 | ||
15b1c12a RS |
1715 | 2006-04-13 Roger Sayle <roger@eyesopen.com> |
1716 | ||
1717 | * fold-const.c (native_encode_vector, native_interpret_real): | |
1718 | Correct obvious mistakes in the previous check-in. | |
1719 | ||
78bf6e2f RS |
1720 | 2006-04-13 Roger Sayle <roger@eyesopen.com> |
1721 | ||
1722 | * fold-const.c (native_encode_expr): New function to encode | |
1723 | the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST | |
1724 | or VECTOR_CST into a specified buffer. | |
1725 | (native_encode_int): New function. | |
1726 | (native_encode_real): New function. | |
1727 | (native_encode_complex): New function. | |
1728 | (native_encode_vector): New function. | |
1729 | (native_interpret_expr): Inverse of native_encode_expr to convert | |
1730 | a target representation into an INTEGER_CST, REAL_CST etc... | |
1731 | (native_interpret_int): New function. | |
1732 | (native_interpret_real): New function. | |
1733 | (native_interpret_complex): New function. | |
1734 | (native_interpret_vector): New function. | |
1735 | (fold_view_convert_expr): New function to constant fold/evaluate | |
1736 | a VIEW_CONVERT_EXPR of a suitable constant expression. | |
1737 | (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr. | |
1738 | Change call of build1 to fold_build1 when constructing a | |
1739 | VIEW_CONVERT_EXPR. | |
1740 | ||
76492753 PB |
1741 | 2006-04-13 Paolo Bonzini <bonzini@gnu.org> |
1742 | Ulrich Weigand <uweigand@de.ibm.com> | |
1743 | ||
1744 | PR target/27006 | |
1745 | * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n | |
1746 | to be even. | |
1747 | ||
7b5d92b2 AM |
1748 | 2006-04-13 Alan Modra <amodra@bigpond.net.au> |
1749 | ||
1750 | PR target/26459 | |
1751 | * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't | |
1752 | optimize to lo_sum for DFmode if !TARGET_FPRS. | |
1753 | ||
d96f49bf KH |
1754 | 2006-04-12 Kazu Hirata <kazu@codesourcery.com> |
1755 | ||
1756 | * tree-ssa-alias.c (set_initial_properties, init_alias_info, | |
1757 | delete_alias_info, compute_flow_sensitive_aliasing, | |
1758 | group_aliases): Use VEC instead of VARRAY. | |
1759 | * tree-ssa-structalias.c (update_alias_info): Likewise. | |
1760 | * tree-ssa-structalias.h (alias_info): Change the type of | |
1761 | processed_ptrs to VEC(tree,heap) *. | |
1762 | ||
3f1d3526 R |
1763 | 2006-04-12 J"orn Rennecke <joern.rennecke@st.com> |
1764 | ||
1765 | PR target/27060 | |
e8366202 MS |
1766 | * config/sh/lib1funcs.h: New file, broken out of: |
1767 | * config/sh/lib1funcs.asm. | |
1768 | * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41): | |
3f1d3526 R |
1769 | New macros. |
1770 | * config/sh/lib1funcs.asm (udivsi3_i4): Use them. | |
e8366202 | 1771 | * config/sh/lib1funcs-Os-4-200.asm: New file. |
3f1d3526 R |
1772 | * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200. |
1773 | * config/sh/t-sh (OPT_EXTRA_PARTS): New variable. | |
1774 | (EXTRA_MULTILIB_PARTS): Include it. | |
1775 | ($(T)sdivsi3_i4i-Os-4-200.o): New rule. | |
1776 | ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise. | |
1777 | * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS. | |
1778 | * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for | |
1779 | TARGET_SH2. | |
1780 | ||
dacb336e KH |
1781 | 2006-04-12 Kazu Hirata <kazu@codesourcery.com> |
1782 | ||
1783 | * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h. | |
1784 | * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete, | |
1785 | tpa_compact, root_var_init, type_var_init): Use VEC instead of | |
1786 | VARRAY. | |
1787 | * tree-ssa-live.h: Include vecprim.h. | |
1788 | (tree_partition_associator_d): Change the type of | |
1789 | first_partition to VEC(int,heap) *. | |
1790 | (tpa_first_partition): Use VEC instead of VARRAY. | |
1791 | ||
597d6703 KH |
1792 | * Makefile.in (GTFILES): Move functions.h after tree.h. |
1793 | * function.c (reset_block_changes, record_block_change, | |
1794 | check_block_change, free_block_changes): Use VEC instead of | |
1795 | VARRAY. | |
1796 | * function.h (function): Change the type of | |
1797 | ib_boundaries_block to VEC(tree,gc) *. | |
1798 | * tree-inline.c (copy_cfg_body): Initialize | |
1799 | ib_boundaries_block to NULL instead of (varray_type) 0. | |
1800 | ||
7488662d RS |
1801 | 2006-04-12 Roger Sayle <roger@eyesopen.com> |
1802 | ||
1803 | * expr.c (emit_group_store): Correct operand order in call to | |
1804 | subreg_lowpart_offset. Always create paradoxical SUBREGs with | |
1805 | a SUBREG_BYTE of zero. | |
1806 | ||
76783bc2 RG |
1807 | 2006-04-12 Richard Guenther <rguenther@suse.de> |
1808 | ||
1809 | * profile.c (compute_branch_probabilities): Remove code | |
1810 | encapsulated in !ir_type (), which are remanents of the | |
1811 | removed RTL profiling code. | |
1812 | * rtl-profile.c: Remove. | |
1813 | ||
79773478 AM |
1814 | 2006-04-12 Alan Modra <amodra@bigpond.net.au> |
1815 | ||
1816 | * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update | |
1817 | magic NULL_RTX comment. | |
1818 | (function_arg): Store entire fp arg to mem if any part should go | |
1819 | on stack. | |
1820 | (rs6000_arg_partial_bytes): Adjust for above change. | |
1821 | ||
10934c3b RS |
1822 | 2006-04-11 Roger Sayle <roger@eyesopen.com> |
1823 | ||
1824 | * dwarf2out.c (output_call_frame_info): Create debug_frame_section | |
1825 | if it hasn't been initialized by dwarf2out_init. | |
1826 | ||
58be56ea JDA |
1827 | 2006-04-11 John David Anglin <dava.anglin@nrc-cnrc.gc.ca> |
1828 | ||
1829 | * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new | |
1830 | symbolic constants in branch patterns. | |
1831 | ||
f6c4ed08 RS |
1832 | 2006-04-11 Roger Sayle <roger@eyesopen.com> |
1833 | ||
1834 | * caller-save.c: #include "addresses.h" after #include "tm_p.h". | |
1835 | ||
205eb6e7 RS |
1836 | 2006-04-11 Richard Sandiford <richard@codesourcery.com> |
1837 | ||
1838 | PR rtl-optimization/27073 | |
1839 | * gcse.c (try_replace_reg): Revert last change. Continue to search | |
1840 | for both REG_EQUAL and REG_EQUIV notes, but only perform replacements | |
1841 | on the former. | |
1842 | ||
ef6843ed EB |
1843 | 2006-04-11 Eric Botcazou <ebotcazou@libertysurf.fr> |
1844 | ||
1845 | * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle | |
1846 | aggregate types other than record and union types. | |
1847 | (function_arg): Likewise. | |
1848 | (function_arg_pass_by_reference): In 64-bit mode, return 0 for | |
1849 | small arrays. | |
1850 | (function_value): In 64-bit mode, return objects that require it | |
1851 | in FP registers. | |
1852 | ||
b4426e0a RS |
1853 | 2006-04-11 Roger Sayle <roger@eyesopen.com> |
1854 | ||
1855 | * dwarf2out.c (premark_used_types): Remove problematic prototype. | |
1856 | ||
8beb0d9e JJ |
1857 | 2006-04-11 Jakub Jelinek <jakub@redhat.com> |
1858 | ||
1859 | * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o. | |
1860 | ||
cf282d0a JL |
1861 | 2006-04-03 Jeff Law <law@redhat.com> |
1862 | ||
1863 | PR/27087 | |
1864 | * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive | |
1865 | alias information too. | |
1866 | ||
b3b2cbc4 MF |
1867 | 2006-04-10 Mike Frysinger <vapier@gentoo.org> |
1868 | ||
a1d1988f | 1869 | * Makefile.in (gcc-cross): Add $(exeext) to target name. |
b3b2cbc4 | 1870 | |
33c9159e AH |
1871 | 2006-04-10 Aldy Hernandez <aldyh@redhat.com> |
1872 | ||
1873 | PR/21391 | |
1874 | * dwarf2out.c (struct die_struct): Add die_perennial_p field. | |
1875 | (premark_used_types_helper): New. | |
1876 | (premark_used_types): New. | |
1877 | (gen_subprogram_die): Call premark_used_types. | |
1878 | (prune_unused_types_walk): Do not prune perennial dies. | |
1879 | * function.c (used_types_insert): New. | |
1880 | * function.h (struct function): Add used_types_hash field. | |
1881 | (used_types_insert): Add prototype. | |
1882 | * Makefile.in (FUNCTION_H): Depend on HASHTAB_H. | |
1883 | * c-parser.c (c_parser_cast_expression): Save casted types in used | |
1884 | types hash table. | |
1885 | ||
ab9260ac MM |
1886 | 2006-04-11 Mark Mitchell <mark@codesourcery.com> |
1887 | ||
1888 | PR target/26459 | |
1889 | * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test | |
1890 | rs6000_explicit_options.float_gprs. | |
1891 | ||
acef130f RS |
1892 | 2006-04-10 Roger Sayle <roger@eyesopen.com> |
1893 | ||
1894 | * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed | |
1895 | from ix86_expand_vector_init_low_nonzero. Take an additional | |
1896 | one_var argument indicating which element is non-zero. Support | |
1897 | one_var != 0 for V4SFmode and V4SImode by permuting the result. | |
1898 | (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero | |
1899 | with one_var instead of ix86_expand_vector_init_low_nonzero. | |
1900 | ||
e3df376d KH |
1901 | 2006-04-10 Kazu Hirata <kazu@codesourcery.com> |
1902 | ||
1903 | * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o, | |
1904 | tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o, | |
1905 | global.o, cfglayout.o, lambda-code.o, reg-stack.o, | |
1906 | build/genextract.o): Depend on vecprim.h. | |
1907 | * cfglayout.c, df-problems.c, function.c, genextract.c, | |
1908 | global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c, | |
1909 | tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include | |
1910 | vecprim.h. | |
1911 | * vecprim.h: New. | |
1912 | ||
1a27722f GK |
1913 | 2006-04-10 Geoffrey Keating <geoffk@apple.com> |
1914 | ||
1915 | * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next. | |
1916 | Declare VECs of this type. | |
1917 | (struct die_struct): Make field die_attr a VEC of dw_attr_struct. | |
1918 | (remove_children): Delete. | |
1919 | (add_dwarf_attr): Use VEC routines. | |
1920 | (add_AT_flag): Update for changes to add_dwarf_attr. | |
1921 | (add_AT_int): Likewise. | |
1922 | (add_AT_unsigned): Likewise. | |
1923 | (add_AT_long_long): Likewise. | |
1924 | (add_AT_vec): Likewise. | |
1925 | (add_AT_string): Likewise. | |
1926 | (add_AT_die_ref): Likewise. | |
1927 | (add_AT_fde_ref): Likewise. | |
1928 | (add_AT_loc): Likewise. | |
1929 | (add_AT_loc_list): Likewise. | |
1930 | (add_AT_addr): Likewise. | |
1931 | (add_AT_lbl_id): Likewise. | |
1932 | (add_AT_lineptr): Likewise. | |
1933 | (add_AT_macptr): Likewise. | |
1934 | (add_AT_offset): Likewise. | |
1935 | (add_AT_range_list): Likewise. | |
1936 | (get_AT): Use VEC_iterate. | |
1937 | (remove_AT): Use VEC_ordered_remove. | |
1938 | (free_die): Fold remove_children into here; have it use VEC_iterate. | |
1939 | (print_die): Use VEC_iterate on attrs. | |
1940 | (reverse_die_lists): Don't reverse attr lists. | |
1941 | (die_checksum): Use VEC_iterate on attrs. | |
1942 | (same_die_p): Likewise. | |
1943 | (output_location_lists): Likewise. | |
1944 | (build_abbrev_table): Likewise. | |
1945 | (size_of_die): Likewise. | |
1946 | (unmark_all_dies): Likewise. | |
1947 | (output_abbrev_section): Likewise. | |
1948 | (output_die): Likewise. | |
1949 | (prune_unused_types_walk_attribs): Likewise. | |
1950 | ||
1da1ce3f EB |
1951 | 2006-04-10 Eric Botcazou <ebotcazou@libertysurf.fr> |
1952 | ||
1f3d30ed | 1953 | * doc/install.texi (*-*-solaris2*): Point to the configure page. |
1da1ce3f | 1954 | |
ef85ac9a JJ |
1955 | 2006-04-10 Jakub Jelinek <jakub@redhat.com> |
1956 | ||
1957 | PR debug/27057 | |
1958 | * dwarf2out.c (is_symbol_die): Return true also for namespaces. | |
1959 | ||
cf26aa89 RS |
1960 | 2006-04-09 Roger Sayle <roger@eyesopen.com> |
1961 | ||
1962 | * expr.c (store_constructor): Don't bother clearing target if | |
1963 | we're about to assign a vector to it using vec_init_optab. | |
1964 | ||
ef2bb311 | 1965 | 2006-04-10 Daniel Berlin <dberlin@dberlin.org> |
7a0b46c9 | 1966 | |
ef2bb311 DB |
1967 | * tree-ssa-alias.c (lhs_may_store_to): New function. |
1968 | (recalculate_used_alone): Handle LHS of calls. | |
1969 | ||
8b89a26a JDA |
1970 | 2006-04-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1971 | ||
1972 | PR target/27034 | |
1973 | PR target/26508 | |
1974 | * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts. | |
1975 | * pa64-hpux.h (LIB_SPEC): Correct typo. Don't append milli.a. | |
1976 | (LINK_GCC_C_SEQUENCE_SPEC): Define. Append milli.a here. | |
1977 | (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines. | |
1978 | (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK. | |
1979 | (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text | |
1980 | section. Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB | |
1981 | stubs. Add ".align 8" directives before all ".dword" directives. | |
1982 | (GTHREAD_USE_WEAK): Revise comment. | |
1983 | (TARGET_ATTRIBUTE_WEAK): Define. | |
1984 | * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o, | |
1985 | dfi-stub.o, cxaf-stub.o and jvrc-stub.o. | |
1986 | * stublib.c: New file. | |
16d74a3c JDA |
1987 | |
1988 | PR target/26743 | |
1989 | PR target/11254 | |
1990 | PR target/10274 | |
1991 | * pa.md (cbranch patterns): Revise arguments used in calls to | |
1992 | output_cbranch, output_bb and output_bvd. Add long branch length | |
1993 | attributes. | |
1994 | (fbranch patterns): Handle long branches. | |
1995 | (jump): Revise length check. Revise arguments for output_lbranch call. | |
1996 | Add long branch length attributes. | |
1997 | (decrement_and_branch_until_zero): Add long branch length attributes. | |
1998 | (output_movb, output_parallel_addb and output_parallel_movb patterns): | |
1999 | Likewise. Revise arguments for output_parallel_addb and | |
2000 | output_parallel_movb calls. | |
2001 | * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb, | |
2002 | output_parallel_movb and output_parallel_addb): Update prototypes. | |
2003 | * pa.c (output_cbranch): Revise arguments. Correct handling of | |
2004 | nullification in long branches. | |
2005 | (output_lbranch): Add new argument to control extraction of delay | |
2006 | instruction. | |
2007 | (output_bb): Handle long branches. | |
2008 | (output_bvb, output_dbra, output_movb, output_parallel_movb, | |
2009 | output_parallel_addb): Likewise. | |
2010 | ||
c3a50ca3 RS |
2011 | 2006-04-09 Richard Sandiford <richard@codesourcery.com> |
2012 | ||
2013 | PR rtl-optimization/27073 | |
2014 | * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes, | |
2015 | not REG_EQUIVs. | |
2016 | ||
9ccfe0cd DB |
2017 | 2006-04-08 Daniel Berlin <dberlin@dberlin.org> |
2018 | ||
2019 | * tree.h (tree_memory_tag): Add old_used_alone. | |
2020 | (SMT_OLD_USED_ALONE): New macro. | |
2021 | * tree-ssa-alias.c (recalculate_used_alone): Stop | |
2022 | marking things for renaming unnecessarily. | |
2023 | ||
917f1b7e KH |
2024 | 2006-04-08 Kazu Hirata <kazu@codesourcery.com> |
2025 | ||
2026 | * builtins.c, config/arm/arm.c, config/i386/cygwin.h, | |
2027 | config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h, | |
2028 | config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c, | |
2029 | haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h, | |
2030 | sched-rgn.c, tree-inline.h, tree-ssa-dom.c, | |
2031 | tree-ssa-loop-prefetch.c, tree-ssa-operands.c, | |
2032 | tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow | |
2033 | spelling convensions. | |
2034 | * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi, | |
2035 | doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment | |
2036 | typos. Follow spelling conventions. | |
2037 | ||
9d746d5e DD |
2038 | 2006-04-07 DJ Delorie <dj@redhat.com> |
2039 | ||
2040 | * config/m32c/m32c.c (m32c_function_arg): Structures are always | |
2041 | passed on the stack. | |
2042 | (m32c_init_cumulative_args): When a function returns a structure, | |
2043 | always pass the pointer to that return area on the stack. | |
2044 | (m32c_function_arg_advance): Don't increment the parameter number | |
2045 | if we're processing the returned structure pointer. | |
2046 | (pushm_info): Reverse order of registers. | |
2047 | ||
ff5e9a94 SP |
2048 | 2006-04-07 Sebastian Pop <pop@cri.ensmp.fr> |
2049 | ||
2050 | * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne, | |
2051 | assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt, | |
2052 | number_of_iterations_le, number_of_iterations_cond, find_loop_niter, | |
7a0b46c9 | 2053 | estimate_numbers_of_iterations_loop): Use build_int_cst instead of |
ff5e9a94 SP |
2054 | build_int_cst_type. |
2055 | * tree-chrec.c (chrec_fold_multiply_poly_poly, | |
2056 | chrec_fold_multiply): Same. | |
2057 | * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost, | |
2058 | force_expr_to_var_cost): Same. | |
2059 | * tree-mudflap.c (mf_xform_derefs_1): Same. | |
2060 | * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same. | |
2061 | ||
f6fe3a22 DE |
2062 | 2006-04-07 David Edelsohn <edelsohn@gnu.org> |
2063 | ||
2064 | * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not | |
2065 | treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra | |
2066 | insn. | |
28e6f134 JH |
2067 | |
2068 | 2006-04-07 Jan Hubicka <jh@suse.cz> | |
2069 | ||
2070 | * ipa-inline.c (cgraph_early_inlining): Collect garbage. | |
2071 | ||
fcfa143a RB |
2072 | 2006-04-07 Richard Guenther <rguenther@suse.de> |
2073 | ||
2074 | PR tree-optimization/26135 | |
2075 | * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory | |
2076 | loads for store copy-prop. | |
2077 | (copy_prop_visit_stmt): Likewise. | |
2078 | ||
2079 | 2006-04-05 Robert Millan <robertmh@gnu.org> | |
8224ee20 | 2080 | |
e8366202 | 2081 | * config/i386/linux.h: Add a comment to mark macros that are |
8224ee20 | 2082 | being overriden in config/k*bsd-gnu.h. |
e8366202 | 2083 | * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of |
8224ee20 | 2084 | DYNAMIC_LINKER. |
e8366202 | 2085 | * config/knetbsd-gnu.h: Ditto. |
8224ee20 | 2086 | |
1f651229 JH |
2087 | 2006-04-06 Jan Hubicka <jh@suse.cz> |
2088 | ||
2089 | PR profile/20815 | |
2090 | PR profile/26399 | |
2091 | * coverage.c (coverage_checksum_string): Reorganize loop to not read | |
2092 | after buffer. | |
2093 | ||
3425c35f MS |
2094 | 2006-04-06 Mike Stump <mrs@apple.com> |
2095 | ||
2096 | * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if | |
2097 | for HAVE_nonlocal_goto to be consistent. | |
2098 | (expand_builtin_nonlocal_goto): Likewise. | |
2099 | (expand_builtin_strcmp): Use #ifdef instead of #if | |
2100 | for HAVE_cmpstrnsi to be consistent. | |
2101 | ||
0f681872 DD |
2102 | 2006-04-05 DJ Delorie <dj@redhat.com> |
2103 | ||
2104 | * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c | |
2105 | vs m32c. | |
2106 | ||
300adfc2 BS |
2107 | 2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com> |
2108 | ||
2109 | * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow | |
2110 | got-relative addressing for anything but SImode. | |
2111 | ||
dcef6aba BS |
2112 | * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered |
2113 | even if the calling function doesn't modify them. | |
2114 | ||
cf51dca2 RG |
2115 | 2006-04-05 Richard Guenther <rguenther@suse.de> |
2116 | ||
2117 | PR tree-optimization/26919 | |
2118 | * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument | |
2119 | to cgraph_estimate_size_after_inlining. | |
2120 | ||
e17e34d8 AM |
2121 | 2006-04-05 Alan Modra <amodra@bigpond.net.au> |
2122 | ||
2123 | * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change. | |
2124 | ||
42d375ed SP |
2125 | 2006-04-05 Sebastian Pop <pop@cri.ensmp.fr> |
2126 | ||
2127 | PR tree-optimization/26996 | |
2128 | * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze | |
2129 | VECTOR_TYPE variables. | |
2130 | ||
6eee9893 RG |
2131 | 2006-04-05 Richard Guenther <rguenther@suse.de> |
2132 | ||
2133 | PR tree-optimization/26763 | |
2134 | * fold-const.c (fold_comparison): Move folding of | |
2135 | PTR + CST CMP PTR + CST ... | |
2136 | (fold_binary): ... here. Fold only for EQ_EXPR and NE_EXPR. | |
2137 | ||
80521187 GP |
2138 | 2006-04-05 Gerald Pfeifer <gerald@pfeifer.com> |
2139 | ||
2140 | * doc/install.texi (Prerequisites): Refine some wording on | |
2141 | bootstrapping and ksh. | |
2142 | Move the version numbers of DejaGnu here from the testing section | |
2143 | and fix casing of names. | |
2144 | Fix markup and clarify wording for autogen requirements. | |
2145 | Refer to GCJ instead of just java. | |
2146 | Refer to SVN instead of CVS. | |
2147 | Describe diffutils as useful instead of necessary. | |
2148 | (Downloading the source): Refer to SVN instead of CVS. | |
2149 | Adjust a link to our web site accordingly. | |
2150 | (Configuration): Fix casing of Bison. | |
7a0b46c9 | 2151 | (Building): Refer to SVN instead of CVS. |
80521187 GP |
2152 | Fix a sentence on the use of Bison and remove duplicate (and |
2153 | incorrect) version number of Bison requirement. | |
2154 | Remove one redundant list of packages needed for building. | |
2155 | (Specific): Avoid reference to CVS. | |
2156 | ||
77ccdfed EC |
2157 | 2006-04-04 Eric Christopher <echristo@apple.com> |
2158 | ||
2159 | * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define. | |
2160 | (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto. | |
2161 | (rs6000_handle_struct_attribute): New. | |
2162 | (rs6000_ms_bitfield_layout_p): Ditto. | |
2163 | ||
b3c2c547 GK |
2164 | 2006-04-04 Geoffrey Keating <geoffk@apple.com> |
2165 | ||
2166 | * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than | |
2167 | NULL for dso parameter to atexit_common. | |
2168 | ||
4b1c1f6f EC |
2169 | 2006-04-04 Eric Christopher <echristo@apple.com> |
2170 | ||
2171 | * config/i386/i386.c (machopic_output_stub): Output \t | |
2172 | between instructions and operands. | |
2173 | ||
547b216d DE |
2174 | 2006-04-04 David Edelsohn <edelsohn@gnu.org> |
2175 | ||
2176 | * config/rs6000/rs6000.c (num_insns_constant_wide): Change | |
2177 | satisfies_constraint_[IL] to explicit tests on value. | |
2178 | ||
dc61cc6b SP |
2179 | 2006-04-04 Sebastian Pop <pop@cri.ensmp.fr> |
2180 | ||
2181 | * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, | |
2182 | set_nb_iterations_in_loop): Use build_int_cst instead of | |
2183 | build_int_cst_type. | |
2184 | * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use | |
2185 | build_int_cst instead of convert. | |
2186 | ||
2225b57c CD |
2187 | 2006-04-04 Carlos O'Donell <carlos@codesourcery.com> |
2188 | ||
2189 | * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document | |
2190 | new value 2 for incoming. | |
2191 | * function.c (expand_function_start): Call struct_value_rtx | |
2192 | with incoming as 2. | |
2193 | * config/sparc/sparc.md: Comment updated_return. | |
2194 | * config/sparc/sparc.opt: Add -mstd-struct-return option. | |
2195 | * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard | |
2196 | struct return if sparc_std_struct_return and incoming is 2. | |
2197 | (print_operand): Do not adjust return if | |
2198 | sparc_std_struct_return. | |
2199 | ||
3967bc2d RS |
2200 | 2006-04-04 Roger Sayle <roger@eyesopen.com> |
2201 | ||
2202 | * builtins.c (fold_builtin_sprintf): Use fold_convert instead of | |
2203 | convert in the middle-end. | |
2204 | * expr.c (store_expr, store_constructor, get_inner_reference, | |
2205 | expand_expr_real_1, string_constant, try_casesi, try_tablejump): | |
2206 | Likewise. | |
2207 | * tree.c (build_range_type): Likewise. | |
2208 | ||
b52be2c8 TT |
2209 | 2006-04-04 Tom Tromey <tromey@redhat.com> |
2210 | ||
2211 | * doc/install.texi (Prerequisites): Mention jar. | |
2212 | ||
d9d93d96 DB |
2213 | 2006-04-04 Daniel Berlin <dberlin@dberlin.org> |
2214 | ||
2215 | * doc/tree-ssa.texi (Preserving the virtual ssa form): New | |
2216 | subsection. | |
2217 | ||
8160ab35 MK |
2218 | 2006-04-04 Matthias Klose <doko@debian.org> |
2219 | ||
2220 | * Makefile.in (unprotoize.o): Same dependencies as for protoize.o. | |
9edaf51e MK |
2221 | * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted |
2222 | strings. | |
8160ab35 | 2223 | |
a7d37464 GK |
2224 | 2006-04-03 Geoffrey Keating <geoffk@apple.com> |
2225 | ||
4b1c1f6f | 2226 | * doc/extend.texi (Function Attributes): Rewrite visibility |
46bdbc00 GK |
2227 | attribute documentation. |
2228 | * doc/invoke.texi (C++ Dialect Options): Rewrite | |
2229 | -fvisibility-inlines-hidden documentation to describe something | |
2230 | entirely different, although in practise compatible. | |
2231 | (Code Gen Options): Warn about system headers in -fvisibiltity= | |
2232 | documentation. | |
2233 | ||
a7d37464 GK |
2234 | * doc/extend.texi (Other Builtins): Document that |
2235 | __builtin_nan is a compile-time constant only when its argument | |
2236 | is valid. | |
2237 | ||
2332d585 AN |
2238 | 2006-04-03 Adam Nemet <anemet@caviumnetworks.com> |
2239 | ||
2240 | * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When | |
2241 | trying to remove TRUNCATE check if all bits outside the new mode | |
2242 | are identical to the sign bit. | |
2243 | ||
cbc75e62 JL |
2244 | 2006-04-03 Jeff Law <law@redhat.com> |
2245 | ||
2246 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding | |
2247 | and operand scanning in some common cases. | |
2248 | ||
4735cca6 | 2249 | 2006-04-03 Paolo Bonzini <bonzini@gnu.org> |
b5c82fa1 PB |
2250 | Dale Johannesen <dalej@apple.com> |
2251 | ||
2252 | PR target/19653 | |
2253 | * regclass.c (struct reg_pref): Update documentation. | |
2254 | (regclass): Set prefclass to NO_REGS if memory is the best option. | |
2255 | (record_reg_classes): Cope with a prefclass set to NO_REGS. | |
2256 | * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS | |
2257 | into account. For non-registers, equate an empty preferred | |
2258 | reload class to a `!' in the constraint; move the if clause to | |
2259 | do so after those that reject the insn. | |
2260 | (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally | |
2261 | return NO_REGS. | |
2262 | (find_dummy_reload): Likewise. | |
2263 | * doc/tm.texi (Register Classes): Document what it means | |
2264 | if PREFERRED_*_RELOAD_CLASS return NO_REGS. | |
2265 | * config/i386/i386.c (ix86_preferred_reload_class): Force | |
2266 | using SSE registers (and return NO_REGS for floating-point | |
2267 | constants) if math is done with SSE. | |
2268 | (ix86_preferred_output_reload_class): New. | |
2269 | * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New. | |
2270 | * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New. | |
2271 | * config/i386/i386.md: Remove # register preferences. | |
2272 | ||
16a2acea SP |
2273 | 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> |
2274 | ||
2275 | PR bootstrap/26992 | |
2276 | * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, | |
2277 | chrec_is_positive, set_nb_iterations_in_loop): Use a variable for | |
2278 | the type of nb_iter. | |
2279 | (instantiate_parameters_1): Convert the operands before calling | |
2280 | chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply. | |
2281 | * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same. | |
2282 | ||
b6f65e3c RS |
2283 | 2006-04-02 Roger Sayle <roger@eyesopen.com> |
2284 | ||
2285 | * builtins.c (dummy_object): Use build_int_cst instead of convert. | |
2286 | * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert | |
2287 | instead of convert. | |
2288 | * dojump.c (do_jump): Likewise. | |
2289 | * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise. | |
2290 | * gimplify.c (gimple_boolify, gimplify_init_constructor, | |
2291 | gimplify_boolean_expr): Likewise. | |
2292 | * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. | |
2293 | * varasm.c (array_size_for_constructor): Likewise. | |
2294 | * tree-object-size.c (compute_object_offset): Likewise. | |
2295 | ||
9fd20553 RS |
2296 | 2006-04-02 Roger Sayle <roger@eyesopen.com> |
2297 | ||
2298 | PR middle-end/26977 | |
2299 | * expr.c (emit_group_store): Check whether simplify_gen_subreg returns | |
2300 | NULL_RTX, indicating it couldn't create a valid paradoxical subreg. | |
2301 | ||
ace23abf SP |
2302 | 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> |
2303 | ||
2304 | PR tree-optimization/26939 | |
2305 | * tree-chrec.c (chrec_merge): Use eq_evolutions_p. | |
2306 | ||
e2157b49 SP |
2307 | 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> |
2308 | ||
2309 | * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument | |
4b1c1f6f | 2310 | at_stmt. Convert the type of operands before calling |
e2157b49 SP |
2311 | build_polynomial_chrec. |
2312 | (add_to_evolution): Pass an extra argument at_stmt. Adjust the call to | |
2313 | add_to_evolution_1. | |
2314 | (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution. | |
4b1c1f6f | 2315 | (instantiate_parameters_1): Convert the type of operands before calling |
e2157b49 SP |
2316 | build_polynomial_chrec. |
2317 | * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly, | |
2318 | chrec_fold_multiply_poly_poly, chrec_replace_initial_condition, | |
2319 | reset_evolution_in_loop): Insert asserts to check the types of the | |
2320 | operands. | |
2321 | (chrec_type): Moved... | |
2322 | (eq_evolutions_p): Use operand_equal_p. | |
2323 | * tree-chrec.h (build_polynomial_chrec): Insert an assert to check | |
2324 | the types of the operands. | |
2325 | (chrec_type): ...here. | |
2326 | * tree-data-ref.c (create_data_ref): Convert the operands before | |
2327 | calling chrec_replace_initial_condition. | |
2328 | (same_access_functions, analyze_subscript_affine_affine, | |
2329 | analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p. | |
2330 | (compute_subscript_distance, analyze_ziv_subscript, | |
2331 | analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2, | |
2332 | analyze_miv_subscript): Convert the operands before calling | |
2333 | chrec_fold_minus or chrec_fold_plus. | |
2334 | ||
a84481aa SP |
2335 | 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> |
2336 | ||
2337 | * tree-data-ref.c (compute_all_dependences): Use a pointer to | |
2338 | the dependence_relations vector. | |
2339 | (compute_data_dependences_for_loop): Adjust call to | |
2340 | compute_all_dependences. | |
2341 | ||
d568d1a8 RS |
2342 | 2006-04-01 Roger Sayle <roger@eyesopen.com> |
2343 | Richard Henderson <rth@redhat.com> | |
2344 | ||
2345 | * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call | |
2346 | gimple_boolify on the condition before calling gimplify_expr. | |
2347 | ||
b7974b3a BW |
2348 | 2006-03-31 Bob Wilson <bob.wilson@acm.org> |
2349 | ||
2350 | * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros | |
2351 | to leaf_entry/leaf_return. Change leaf_entry to add 16 bytes to | |
2352 | the frame size. Update to use the new macros. | |
2353 | * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros. | |
2354 | * config/xtensa/ieee754-df.S: Likewise. | |
2355 | ||
2356 | 2006-03-31 Richard Henderson <rth@redhat.com> | |
56e84019 RH |
2357 | |
2358 | * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into... | |
2359 | (make_edges): ... here. Control fallthru creation with a local | |
2360 | variable. Do not play with fake edges. | |
2361 | (make_omp_sections_edges): Don't set EDGE_ABNORMAL. | |
2362 | (make_goto_expr_edges): Don't play with fake edges. Make for_call | |
2363 | a boolean. | |
2364 | ||
0c33762a JM |
2365 | 2006-04-01 Joseph S. Myers <joseph@codesourcery.com> |
2366 | ||
2367 | * dwarf2.h (DW64_CIE_ID): Define. | |
2368 | * dwarf2out.c (DWARF_CIE_ID): Define. | |
2369 | (output_call_frame_info): Output 0xffffffff before standard 8-byte | |
2370 | length header. Use DWARF_CIE_ID. | |
2371 | (value_format): Use DW_FORM_data4 or DW_FORM_data8 for | |
2372 | dw_val_class_loc_list depending on DWARF_OFFSET_SIZE. | |
2373 | ||
b890ea50 KK |
2374 | 2006-03-31 Kaz Kojima <kkojima@gcc.gnu.org> |
2375 | ||
2376 | * config/sh/linux-atomic.asm: New file. | |
2377 | * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm. | |
2378 | ||
16659fcf DD |
2379 | 2006-03-31 DJ Delorie <dj@redhat.com> |
2380 | ||
2381 | * config/m32c/cond.md: Set condition flags properly throughout. | |
2382 | * config/m32c/minmax.md: Likewise. | |
2383 | * config/m32c/prologue.md: Likewise. | |
2384 | * config/m32c/bitops.md: Likewise. | |
2385 | * config/m32c/muldiv.md: Likewise. | |
2386 | * config/m32c/mov.md: Likewise. | |
2387 | * config/m32c/addsub.md: Likewise. | |
2388 | * config/m32c/m32c.md: Likewise. | |
2389 | * config/m32c/jump.md: Likewise. | |
2390 | * config/m32c/shift.md: Likewise. | |
2391 | ||
2392 | * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to | |
2393 | conditionally output the pattern for this. | |
2394 | * config/m32c/m32c.c (flags_needed_for_conditional): New. | |
2395 | (m32c_compare_redundant): New. | |
2396 | (m32c_output_compare): New. | |
2397 | * config/m32c/m32c-protos.h (m32c_output_compare): New. | |
2398 | ||
2399 | * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber | |
2400 | dest, not src. Allow other 4-byte modes. | |
2401 | ||
fc262682 DC |
2402 | 2006-03-30 Denis Chertykov <denisc@overta.ru> |
2403 | ||
2404 | * doc/md.texi: Refer to avr/constraints.md instead of | |
2405 | avr/avr.h. | |
2406 | ||
5650dfbd RS |
2407 | 2006-03-30 Roger Sayle <roger@eyesopen.com> |
2408 | ||
2409 | * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to | |
2410 | signed vs. unsigned comparison failures on some hosts. | |
2411 | ||
d3603e8c AM |
2412 | 2006-03-31 Alan Modra <amodra@bigpond.net.au> |
2413 | ||
ca0e79d9 AM |
2414 | PR target/26459 |
2415 | * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08 | |
2416 | change to FLOAT_REGS. | |
2417 | ||
d3603e8c AM |
2418 | * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee. |
2419 | (rs6000_override_options): Use it. | |
2420 | (rs6000_handle_option): Set it. Set rs6000_explicit_options.abi | |
2421 | only for -mabi=spe/no-spe and -mabi=altivec. | |
2422 | ||
24cec83c GK |
2423 | 2006-03-30 Geoffrey Keating <geoffk@apple.com> |
2424 | ||
2425 | * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with | |
2426 | !Zdynamiclib. | |
2427 | ||
ad3a7ce3 CD |
2428 | 2006-03-30 Carlos O'Donell <carlos@codesourcery.com> |
2429 | ||
2430 | * Makefile.in: Rename docdir to gcc_docdir. | |
2431 | ||
79edfde8 RS |
2432 | 2006-03-30 Roger Sayle <roger@eyesopen.com> |
2433 | ||
2434 | PR target/17959 | |
e8366202 | 2435 | * expr.c (emit_group_store): Optimize group stores into a pseudo |
79edfde8 RS |
2436 | register by using a paradoxical subreg to initialize the destination |
2437 | if the first or last member of the group specifies a "low part". | |
2438 | ||
c7ec5472 MK |
2439 | 2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
2440 | ||
2441 | PR target/26734 | |
2442 | * rtl.def (DEPS_LIST): Change type of the second operand to 'int'. | |
2443 | * target.h (struct gcc_target.speculate_insn): Change type of the | |
2444 | second parameter to 'int'. | |
2445 | * lists.c (alloc_DEPS_LIST): Change signature. Update reference to | |
2446 | the second operand of the DEPS_LIST. | |
2447 | (copy_DEPS_LIST_list): Update reference to the second operand of the | |
2448 | DEPS_LIST. | |
2449 | * rtl.h (alloc_DEPS_LIST): Update signature. | |
2450 | * sched-int.h (ds_t): Change typedef to 'int'. | |
2451 | (DEP_STATUS, BITS_PER_DEP_STATUS): Update. | |
2452 | ||
682b6a9e MK |
2453 | 2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
2454 | ||
2455 | * haifa-sched.c (try_ready): Change condition to restore | |
2456 | non-speculative pattern of the instruction. | |
2457 | (process_insn_depend_be_in_spec): Code to keep probability of the | |
2458 | speculative dependence non-decreasing. | |
2459 | ||
144f8315 JZ |
2460 | 2006-03-30 Jie Zhang <jie.zhang@analog.com> |
2461 | ||
2462 | * config/bfin/bfin.c (single_move_for_strmov): Renamed to... | |
2463 | (single_move_for_movmem): ... this. Also change all uses. | |
2464 | (bfin_expand_strmov): Renamed to... | |
2465 | (bfin_expand_movmem): ... this. Also change all uses. | |
2466 | * config/bfin/bfin.md (movstrsi): Renamed to... | |
2467 | (movstrsi): ...this. | |
2468 | ||
ae25dbda PB |
2469 | 2006-03-30 Paolo Bonzini <bonzini@gnu.org> |
2470 | ||
2471 | PR tree-optimization/26830 | |
2472 | ||
2473 | * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth. | |
2474 | (copy_prop_visit_stmt): Remove write-only variable ann. | |
2475 | (init_copy_prop): Check variable loop depth here. Do not simulate | |
2476 | memory-tag and virtual operand PHIs except for store copy prop. | |
2477 | ||
7d3a3b01 RG |
2478 | 2006-03-30 Richard Guenther <rguenther@suse.de> |
2479 | ||
2480 | * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic | |
2481 | variants with double arguments. | |
2482 | ||
10a27391 DE |
2483 | 2006-03-29 David Edelsohn <edelsohn@gnu.org> |
2484 | ||
2485 | * genpreds.c (write_tm_constrs_h): Delete variable p. | |
f8569394 DE |
2486 | * genconditions.c (write_header): Add tm-constrs.h to included |
2487 | headers. | |
f160357f | 2488 | * genpeep.c (main): Add toplev.h to included headers. |
92cf85e9 | 2489 | * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency. |
c13a761d | 2490 | (build/genpeep.o): Add toplev.h dependency. |
40377a6d | 2491 | * config/rs6000/constraints.md: Add "W" constraint. |
10a27391 | 2492 | |
a6a12bb9 RS |
2493 | 2006-03-29 Roger Sayle <roger@eyesopen.com> |
2494 | ||
2495 | * stor-layout.c (mode_for_size_tree): Remove restiction on type | |
2496 | sizes by correctly testing whether the size fits a host integer. | |
2497 | (initialize_sizetypes): Use set_min_and_max_values_for_integral_type | |
2498 | to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full | |
2499 | SImode range for the default sizetype and bitsizetype. | |
2500 | ||
0a931ce5 RS |
2501 | 2006-03-29 Roger Sayle <roger@eyesopen.com> |
2502 | ||
2503 | * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW | |
2504 | and TREE_CONSTANT_OVERFLOW bits of the argument. Return | |
2505 | quickly if the argument is already of the correct type. | |
2506 | Call fold_build1 instead of build1. Tidy up blank lines. | |
2507 | ||
279bb624 DE |
2508 | 2006-03-29 David Edelsohn <edelsohn@gnu.org> |
2509 | ||
2510 | * genemit.c (main): Add tm-constrs.h to included headers. | |
2511 | * genoutput.c (output_prologue): Add tm-constrs.h to included headers. | |
2512 | * genpeep.c (main): Add tm-constrs.h to included headers. | |
2513 | * genpreds.c (write_satisfies_constraint_fns): Rename to ... | |
2514 | (write_tm_constrs_h): this and write complete file. | |
2515 | (write_tm_preds_h): Do not emit satisfies_constraint fns. | |
2516 | (write_insn_preds_c): Add tm-constrs.h to included headers. | |
2517 | (gen_constrs): New variable. | |
2518 | (parse_option): Parse "-c". | |
2519 | (main): Invoke write_tm_constrs_h. | |
2520 | * genrecog.c (write_header): Add tm-constrs.h to included headers. | |
2521 | * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h. | |
2522 | (object_out_file): Add tm-constrs.h dependency. | |
2523 | (insn-emit.o): Same. | |
2524 | (insn-output.o): Same. | |
2525 | (insn-peep.o): Same. | |
2526 | (insn-preds.o): Same. | |
2527 | (insn-recog.o): Same. | |
2528 | (tm-constsr.h): New target. | |
2529 | (s-constrs-h): New target. | |
2530 | ||
2531 | * config/rs6000/constraints.md: New file. | |
2532 | * config/rs6000/rs6000.c: Include tm-constrs.h. | |
2533 | (num_insn_constant_wide): Convert to satisfies_constraint. | |
2534 | (rs6000_rtx_costs): Convert to satisfies_constraint. | |
2535 | * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete. | |
2536 | (CONST_OK_FOR_LETTER_P): Delete. | |
2537 | (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. | |
2538 | (EXTRA_CONSTRAINT): Delete. | |
2539 | (EXTRA_MEMORY_CONSTRAINT): Delete. | |
2540 | (EXTRA_ADDRESS_CONSTRAINT): Delete. | |
2541 | * config/rs6000/predicates.md: Convert to satisfies_constraint. | |
2542 | * config/rs6000/rs6000.md: Include constraints.md. Convert to | |
2543 | satisfies_constraint. | |
2544 | ||
2545 | * config/i386/i386.c: Include tm-constrs.h. | |
2546 | ||
e14b10df SP |
2547 | 2006-03-29 Sebastian Pop <pop@cri.ensmp.fr> |
2548 | ||
2549 | * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls. | |
2550 | * tree-data-ref.c (find_data_references_in_loop, | |
2551 | compute_data_dependences_for_loop): Use pointers to VEC. | |
2552 | (analyze_all_data_dependences): Adjust calls. | |
2553 | * tree-data-ref.h (find_data_references_in_loop, | |
2554 | compute_data_dependences_for_loop): Adjust declarations. | |
2555 | * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to | |
2556 | compute_data_dependences_for_loop. | |
2557 | ||
221b2a64 PB |
2558 | 2006-03-29 Paul Brook <paul@codesourcery.com> |
2559 | ||
2560 | * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives. | |
2561 | (movdf_vfp): Ditto. | |
2562 | ||
d31db22f SP |
2563 | 2006-03-29 Sebastian Pop <pop@cri.ensmp.fr> |
2564 | ||
2565 | PR tree-optimization/26859 | |
2566 | * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid | |
2567 | division by zero. | |
2568 | (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags | |
2569 | for the step after fold_convert. | |
2570 | ||
67f07489 PB |
2571 | 2006-03-29 Paul Brook <paul@codesourcery.com> |
2572 | ||
2573 | * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators. | |
2574 | (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses. | |
2575 | ||
c2a64439 PB |
2576 | 2006-03-29 Paul Brook <paul@codesourcery.com> |
2577 | ||
2578 | PR middle-end/23623 | |
2579 | * targhooks.c (default_narrow_bitfield): New fuction. | |
2580 | * targhooks.h (default_narrow_bitfield): add prototype. | |
2581 | * target.h (gcc_target): Add narrow_volatile_bitfield. | |
2582 | * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define. | |
2583 | * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield. | |
2584 | * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS. | |
2585 | * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define. | |
2586 | ||
4dc19cc0 AK |
2587 | 2006-03-29 Andreas Krebbel <krebbel1@de.ibm.com> |
2588 | ||
4b1c1f6f | 2589 | * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to |
4dc19cc0 AK |
2590 | tmake_file. |
2591 | * config/s390/s390.c (S390_scalar_mode_supported_p): New function. | |
2592 | (NR_C_MODES): Add TDmode, DDmode and SDmode. | |
2593 | (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT. | |
2594 | (s390_hard_regno_mode_ok): Disallow TDmode in integer regs. | |
2595 | (s390_function_arg_float): Allow SDmode and DDmode values to be | |
2596 | passed in floating point registers. | |
4b1c1f6f | 2597 | (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT |
4dc19cc0 AK |
2598 | check with SCALAR_FLOAT_MODE_P. |
2599 | (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro. | |
2600 | ||
f08ac361 ZD |
2601 | 2006-03-28 Zdenek Dvorak <dvorakz@suse.cz> |
2602 | ||
2603 | PR tree-optimization/25985 | |
2604 | * tree-ssa-loop-niter.c (number_of_iterations_le, | |
2605 | number_of_iterations_ne): Make comments more precise. | |
2606 | (number_of_iterations_cond): Add only_exit argument. Use the | |
2607 | fact that signed variables do not overflow only when only_exit | |
2608 | is true. | |
2609 | (loop_only_exit_p): New. | |
2610 | (number_of_iterations_exit): Pass result of loop_only_exit_p to | |
2611 | number_of_iterations_cond. | |
2612 | ||
dd79d394 ZD |
2613 | 2006-03-28 Zdenek Dvorak <dvorakz@suse.cz> |
2614 | ||
2615 | PR tree-optimization/26643 | |
2616 | * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle | |
2617 | bit_field_refs. | |
2618 | ||
95ec2af0 KK |
2619 | 2006-03-28 Kaz Kojima <kkojima@gcc.gnu.org> |
2620 | ||
2621 | * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG. | |
2622 | (divsi3_i4_int): Likewise. | |
2623 | ||
e8366202 | 2624 | 2006-03-28 Roger Sayle <roger@eyesopen.com> |
5ac60669 RS |
2625 | |
2626 | * expr.c (emit_group_store): Only create a new pseudo reg if the | |
2627 | quantity it needs to hold isn't already a suitable pseudo. | |
2628 | ||
b6313dcf JL |
2629 | 2006-03-28 Jeff Law <law@redhat.com> |
2630 | ||
2631 | * timevar.def (TV_TREE_PHI_CPROP): New timevar. | |
2632 | * tree-ssa-dom.c (pass_phi_only_cprop): Use it. | |
2633 | ||
dd2c62dc RS |
2634 | 2006-03-28 Roger Sayle <roger@eyesopen.com> |
2635 | ||
2636 | * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as | |
2637 | the equivalent ~X & Y, and the symmetry related transformations. | |
4b1c1f6f | 2638 | (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as |
dd2c62dc RS |
2639 | ~X & Y, and symmetry related transforms. |
2640 | ||
3cc82eea MK |
2641 | 2006-03-28 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
2642 | ||
2643 | Revert my 2006-03-27 patches. | |
2644 | ||
e8206491 RS |
2645 | 2006-03-28 Roger Sayle <roger@eyesopen.com> |
2646 | ||
2647 | * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as | |
2648 | ~(T1)X, when T1 and T2 are integer types of the same precision | |
2649 | and (T2)X isn't an extension. | |
2650 | ||
72922229 JL |
2651 | 2006-03-28 Jeff Law <law@redhat.com> |
2652 | ||
2653 | PR tree-optimization/26796 | |
2654 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which | |
2655 | need EH edge cleanups rather than purging them immediately. | |
2656 | (eliminate_degenerate_phis): Handle queued EH cleanups. | |
2657 | ||
c245c134 DB |
2658 | 2006-03-28 Daniel Berlin <dberlin@dberlin.org> |
2659 | ||
2660 | * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE | |
2661 | from parent_var. | |
2662 | ||
7f166b0a RS |
2663 | 2006-03-27 Roger Sayle <roger@eyesopen.com> |
2664 | ||
2665 | PR middle-end/22524 | |
2666 | * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to | |
2667 | cast BIT_NOT_EXPR operand to the correct type. | |
2668 | ||
ebf78a47 SP |
2669 | 2006-03-27 Sebastian Pop <pop@cri.ensmp.fr> |
2670 | ||
2671 | * tree-loop-linear.c: Don't include varray.h. | |
2672 | (gather_interchange_stats, try_interchange_loops, | |
2673 | linear_transform_loops): Use VEC instead of VARRAY. | |
2674 | * lambda-mat.c: Don't include varray.h. | |
2675 | * tree-chrec.c: Same. | |
2676 | * lambda-trans.c: Same. | |
2677 | * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use | |
2678 | VEC instead of VARRAY. | |
2679 | * tree-vectorizer.h: Idem. | |
2680 | * tree-data-ref.c (dump_data_references, | |
2681 | dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs, | |
2682 | initialize_data_dependence_relation, finalize_ddr_dependent, | |
2683 | compute_all_dependences, find_data_references_in_loop, | |
2684 | compute_data_dependences_for_loop, analyze_all_data_dependences, | |
2685 | free_dependence_relation, free_dependence_relations, | |
2686 | free_data_refs): Idem. | |
2687 | * tree-data-ref.h (data_reference_p, subscript_p): New. | |
2688 | (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use | |
2689 | VEC instead of VARRAY. | |
2690 | (DDR_SUBSCRIPTS_VECTOR_INIT): Removed. | |
2691 | (find_data_references_in_loop, compute_data_dependences_for_loop, | |
2692 | dump_ddrs, dump_dist_dir_vectors, dump_data_references, | |
2693 | dump_data_dependence_relations, free_dependence_relations, | |
2694 | free_data_refs): Adjust declaration. | |
2695 | (lambda_transform_legal_p): Move declaration here... | |
2696 | * tree-vect-analyze.c (vect_analyze_data_ref_dependences, | |
2697 | vect_compute_data_refs_alignment, vect_verify_datarefs_alignment, | |
2698 | vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses, | |
2699 | vect_analyze_data_refs): Use VEC instead of VARRAY. | |
2700 | * lambda.h (lambda_transform_legal_p): ...from here. | |
2701 | * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY. | |
2702 | * tree-vect-transform.c (vect_update_inits_of_drs): Idem. | |
2703 | * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o, | |
2704 | tree-chrec.o): Don't depend on VARRAY_H. | |
2705 | ||
5edb2b13 MK |
2706 | 2006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
2707 | ||
2708 | * rtl.def (Copyright): Update date. | |
2709 | (DEPS_LIST): Change type of the second operand to 'int'. | |
2710 | * target.h (Copyright): Update date. | |
2711 | (struct gcc_target.speculate_insn): Change type of the second parameter | |
2712 | to 'int'. | |
2713 | * lists.c (Copyright): Update date. | |
2714 | (alloc_DEPS_LIST): Change signature. Update reference to the second | |
2715 | operand of the DEPS_LIST. | |
2716 | (copy_DEPS_LIST_list): Update reference to the second operand of the | |
2717 | DEPS_LIST. | |
2718 | * rtl.h (Copyright): Update date. | |
2719 | (alloc_DEPS_LIST): Update signature. | |
2720 | * sched-int.h (Copyright): Update date. | |
2721 | (ds_t): Change typedef to 'int'. | |
2722 | (DEP_STATUS, BITS_PER_DEP_STATUS): Update. | |
2723 | ||
c96a7cc5 MK |
2724 | 2006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
2725 | ||
2726 | * haifa-sched.c (Copyright): Update date. | |
2727 | (try_ready): Change condition to restore non-speculative pattern | |
2728 | of the instruction. | |
2729 | (process_insn_depend_be_in_spec): Code to keep probability of the | |
2730 | speculative dependence non-decreasing. | |
2731 | ||
b256fbaf BS |
2732 | 2006-03-27 Bernd Schmidt <bernd.schmidt@analog.com> |
2733 | ||
2734 | * regrename.c (replace_oldest_value_addr): Initialize a variable to | |
2735 | shut up the compiler. | |
2736 | ||
575066d2 R |
2737 | 2006-03-27 J"orn Rennecke <joern.rennecke@st.com> |
2738 | ||
2739 | * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule | |
2740 | to use lib prefix for target. | |
2741 | ($(T)libic_invalidate_array_4-200.a): Likewise. | |
2742 | ($(T)libic_invalidate_array_4a.a): Likewise. | |
2743 | ||
25e651ca AS |
2744 | 2006-03-27 Andrew Stubbs <andrew.stubbs@st.com> |
2745 | J"orn Rennecke <joern.rennecke@st.com> | |
2746 | ||
2747 | * superh.opt: New file. | |
2748 | * sh.c (boardtype, osruntime): Remove. | |
2749 | * superh.h (SUBTARGET_OPTIONS): Remove. | |
2750 | * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options. | |
2751 | ||
2752 | * config.gcc (sh*-*-*): Don't use c-c ranges for tr. Quote sed | |
2753 | arguments with ^ and/or []. | |
2754 | ||
2755 | * config.gcc (sh-*-*): Add quoting to account for quirk of | |
2756 | Solaris /bin/sh. | |
2757 | Replace == with = in enable_incomplete_targets test. | |
2758 | ||
2759 | * config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT | |
2760 | with MASK_LITTLE_ENDIAN. | |
2761 | ||
2762 | * config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file. | |
2763 | * config/sh/sh.opt: Added to some comments. | |
2764 | * config/sh/superh.h: Removed some chaff. | |
2765 | ||
2766 | * config/sh/sh.opt: Add m4-[1234]00* options. | |
2767 | * config/sh/sh.c (sh_handle_option): Likewise. | |
2768 | * config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define. | |
2769 | (ic_invalidate_array_4-100.o): New rule. | |
2770 | ($(T)libic_invalidate_array_4-100.a): Likewise. | |
2771 | (ic_invalidate_array_4-200.o): Likewise. | |
2772 | ($(T)libic_invalidate_array_4-200.a): Likewise. | |
2773 | (ic_invalidate_array_4a.o): Likewise. | |
2774 | ($(T)libic_invalidate_array_4a.a): Likewise. | |
2775 | * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS. | |
2776 | * config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*, | |
2777 | m4-200*, and m4a*. | |
2778 | * config/sh/crt1.asm: Merged in profiling code. | |
2779 | * config/sh/superh.h (STARTFILE_SPEC): Override. | |
2780 | * config/sh/t-superh: Override EXTRA_MULTILIB_PARTS. | |
2781 | Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o. | |
2782 | * config.gcc (sh*-superh-elf): Add t-superh to tmake_file. | |
2783 | ||
2784 | * t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants. | |
2785 | * config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS / | |
2786 | MULTILIB_DIRNAMES / MULTILIB_MATCHES settings. | |
2787 | ||
2788 | * sh.opt (mpretend-cmove): New option. | |
2789 | * sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1. | |
2790 | * sh.md (movsicc_t_false, movsicc_t_tru): New patterns. | |
2791 | (movsicc): Add TARGET_PRETEND_CMOVE code. | |
2792 | ||
74aa8b4b AK |
2793 | 2006-03-27 Andreas Krebbel <krebbel1@de.ibm.com> |
2794 | ||
4b1c1f6f | 2795 | * config/s390/s390-protos.h (s390_hard_regno_mode_ok, |
74aa8b4b AK |
2796 | s390_class_max_nregs): New function prototypes. |
2797 | * config/s390/s390.c (REGNO_PAIR_OK): New macro. | |
2798 | (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions. | |
2799 | * config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, | |
2800 | CLASS_MAX_NREGS): Macro bodies replaced by function calls. | |
2801 | ||
0d06ead5 GK |
2802 | 2006-03-26 Geoffrey Keating <geoffk@apple.com> |
2803 | ||
2804 | * dwarf2out.c (add_location_or_const_value_attribute): Call | |
2805 | tree_add_const_value_attribute if nothing else works. | |
2806 | (reference_to_unused): New. | |
2807 | (rtl_for_decl_init): Use reference_to_unused to decide whether | |
2808 | to output an initializer. | |
2809 | ||
036aadfc AM |
2810 | 2006-03-27 Alan Modra <amodra@bigpond.net.au> |
2811 | ||
2812 | PR target/26459 | |
2813 | * config/rs6000/rs6000.md (DF reg move peephole): Prevent | |
2814 | peephole removing spe frob_di_df_2. | |
2815 | ||
ba42e045 SP |
2816 | 2006-03-26 Sebastian Pop <pop@cri.ensmp.fr> |
2817 | ||
2818 | * tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS. | |
2819 | (subscript_dependence_tester_1): Declared. | |
2820 | (print_dir_vectors, print_dist_vectors): New. | |
2821 | (debug_data_dependence_relation): New. | |
2822 | (dump_data_dependence_relation): Print more details. | |
2823 | (initialize_data_dependence_relation): Initialize DDR_LOOP_NEST. | |
2824 | (analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0. | |
2825 | (save_dist_v, save_dir_v, add_outer_distances, | |
2826 | build_classic_dist_vector_1): New. | |
2827 | (build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST. | |
2828 | Don't test for lambda_vector_lexico_pos. | |
2829 | (same_access_functions, add_multivariate_self_dist, | |
2830 | add_other_self_distances, dir_from_dist): New. | |
4b1c1f6f | 2831 | (build_classic_dir_vector): Replace implementation almost identical to |
ba42e045 SP |
2832 | build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to |
2833 | dir_from_dist. | |
2834 | (subscript_dependence_tester_1): New. | |
2835 | (subscript_dependence_tester): Handle the lexicographically negative | |
2836 | distance vectors by recomputing the dependence relation. | |
2837 | (compute_affine_dependence): Remove parameter loop_nest_depth. | |
2838 | (compute_self_dependence): Don't call compute_subscript_distance. | |
2839 | (compute_all_dependences): Remove parameters nb_loops, loop_nest_depth. | |
2840 | Add a parameter for the loop_nest. | |
2841 | (find_loop_nest_1, find_loop_nest): New. | |
2842 | (compute_data_dependences_for_loop): Compute the loop nest, and give | |
2843 | up if the nest is not well formed. | |
2844 | * tree-data-ref.h (loop_p): New. | |
4b1c1f6f | 2845 | (struct data_dependence_relation): Replace size_vect field with |
ba42e045 SP |
2846 | loop_nest, a vec of loops. |
2847 | (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS. | |
2848 | (DDR_LOOP_NEST): New. | |
2849 | (print_dir_vectors, print_dist_vectors, | |
2850 | debug_data_dependence_relation): Declared. | |
2851 | (index_in_loop_nest): New. | |
2852 | * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use | |
2853 | DDR_LOOP_NEST and index_in_loop_nest to determine the dependence | |
2854 | distance. | |
2855 | ||
30a440a7 AN |
2856 | 2006-03-25 Adam Nemet <anemet@caviumnetworks.com> |
2857 | ||
2858 | * simplify-rtx.c (simplify_relational_operation): Call | |
2859 | simplify_relational_operation_1 even if mode is VOIDmode. | |
2860 | ||
fe1f8f44 DB |
2861 | 2006-03-25 Daniel Berlin <dberlin@dberlin.org> |
2862 | ||
2863 | PR tree-optimization/26804 | |
2864 | * tree.h (DECL_CALL_CLOBBERED): New macro. | |
2865 | (tree_decl_common): Add call_clobbered_flag. | |
2866 | * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED. | |
2867 | (mark_call_clobbered): Set DECL_CALL_CLOBBERED. | |
2868 | (clear_call_clobbered): Clear DECL_CALL_CLOBBERED. | |
2869 | (mark_non_addressable): Ditto. | |
2870 | * tree-ssa.c (verify_call_clobbered): New function. | |
2871 | (verify_alias_info): Use it. | |
2872 | * tree-pass.h (pass_reset_cc_flags): New prototype. | |
2873 | * tree-ssa-alias.c (pass_reset_cc_flags): New structure. | |
2874 | (reset_cc_flags): New function. | |
2875 | * passes.c (init_optimization_passes): Call reset_cc_flags after | |
2876 | initializing referenced_vars. | |
2877 | ||
1d8b38a0 UB |
2878 | 2006-03-25 Uros Bizjak <uros@kss-loka.si> |
2879 | Roger Sayle <roger@eyesopen.com> | |
2880 | ||
2881 | PR middle-end/26717 | |
2882 | * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A | |
2883 | to 1.0 for non-real operands. Implement A / A optimization for | |
2884 | complex operands. | |
2885 | ||
75bcbcdb L |
2886 | 2006-03-25 H.J. Lu <hongjiu.lu@intel.com> |
2887 | ||
2888 | * config/i386/i386.c (size_cost): Correct the comment for | |
2889 | cost of storing fp registers. | |
2890 | (i386_cost): Likewise. | |
2891 | (i486_cost): Likewise. | |
2892 | (pentium_cost): Likewise. | |
2893 | (pentiumpro_cost): Likewise. | |
2894 | (k6_cost): Likewise. | |
2895 | (athlon_cost): Likewise. | |
2896 | (k8_cost): Likewise. | |
2897 | (pentium4_cost): Likewise. | |
2898 | (nocona_cost): Likewise. | |
2899 | (generic64_cost): Likewise. | |
2900 | (generic32_cost): Likewise. | |
2901 | ||
625a46d9 DC |
2902 | 2006-03-24 Denis Chertykov <denisc@overta.ru> |
2903 | ||
2904 | * config/avr/avr-protos.h (extra_constraint): Delete. | |
2905 | (extra_constraint_Q): New declaration. | |
2906 | * config/avr/constraints.md: New file. | |
2907 | * config/avr/avr.md: Include it. | |
2908 | (REG_X, REG_Y, REG_Z, REG_W): New constants. | |
2909 | (TMP_REGNO, ZERO_REGNO): Likewise. | |
2910 | (UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise. | |
2911 | * config/avr/avr.c (avr_reg_class_from_letter): Delete. | |
2912 | (extra_constraint): Delete. | |
2913 | (extra_constraint_Q): Test for memory constraint 'Q'. | |
2914 | * config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete. | |
2915 | (REG_CLASS_FROM_LETTER): Delete. | |
2916 | (CONST_OK_FOR_LETTER_P): Delete. | |
2917 | (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. | |
2918 | (EXTRA_CONSTRAINT): Delete. | |
2919 | (TMP_REGNO): Delete. | |
2920 | (ZERO_REGNO): Delete. | |
2921 | ||
3ae194cd JL |
2922 | 2006-03-24 Jeff Law <law@redhat.com> |
2923 | ||
2924 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt | |
2925 | directly. Call mark_new_vars_to_rename slightly earlier. | |
2926 | ||
895de5a8 GK |
2927 | 2006-03-24 Geoffrey Keating <geoffk@apple.com> |
2928 | ||
9e51ddaa GK |
2929 | * dwarf2out.c (is_c_family): Understand new DWARF3 language types. |
2930 | (is_cxx): Likewise. | |
2931 | (gen_compile_unit_die): Use new language types for Objective-C and | |
2932 | Objective-C++. | |
2933 | (dwarf2out_decl): Use is_cxx rather than testing explicitly against | |
2934 | DW_LANG_C_plus_plus. | |
2935 | ||
895de5a8 GK |
2936 | PR 26793 |
2937 | * config/t-darwin (crt3.o): Work around bug 26840. | |
2938 | * config/darwin-crt3.c: Rewrite. | |
2939 | * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o. | |
2940 | ||
e713adf6 CD |
2941 | 2006-03-24 Carlos O'Donell <carlos@codesourcery.com> |
2942 | ||
2943 | * doc/invoke.texi: Document -femit-class-debug-always | |
2944 | * common.opt: Add -femit-class-debug-always. | |
2945 | ||
93fa8428 AK |
2946 | 2006-03-24 Andreas Krebbel <krebbel1@de.ibm.com> |
2947 | ||
2948 | * config/s390/s390.c (s390_decompose_address): Allow SImode for | |
2949 | index and base register. | |
2950 | (s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p, | |
2951 | print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P | |
2952 | with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with | |
2953 | REGNO_OK_FOR_INDEX_P. | |
2954 | * config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with | |
2955 | ADDR_REGNO_P. | |
2956 | (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P, | |
2957 | REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P, | |
2958 | REG_OK_FOR_BASE_P): Definitions removed. | |
2959 | ||
8cb86b65 JJ |
2960 | 2006-03-24 Jakub Jelinek <jakub@redhat.com> |
2961 | ||
2962 | PR middle-end/26611 | |
2963 | * gimplify.c (gimplify_bind_expr): Only call omp_add_variable on | |
2964 | non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit | |
2965 | set yet or weren't marked as local yet. | |
2966 | ||
84c9cb12 BS |
2967 | 2006-03-24 Bernd Schmidt <bernd.schmidt@analog.com> |
2968 | ||
2969 | * regrename.c (scan_rtx_address): Initialize a variable to shut up | |
2970 | the compiler. | |
2971 | ||
d04b6e6e EB |
2972 | 2006-03-24 Eric Botcazou <ebotcazou@adacore.com> |
2973 | ||
2974 | * config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare. | |
2975 | (rs6000_legitimate_small_data_p): Delete. | |
2976 | * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate. | |
2977 | (rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p | |
2978 | and make static. Add forward declaration. Update uses. | |
2979 | (rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead | |
2980 | of offsettable_memref_p. | |
2981 | * config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix. | |
2982 | Use rs6000_offsettable_memref_p instead of a less accurate predicate. | |
2983 | ||
243cc836 JL |
2984 | 2006-03-24 Jeff Law <law@redhat.com> |
2985 | ||
2986 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work | |
2987 | around bug in immediate-use iterator. | |
2988 | ||
5b314bb3 AM |
2989 | 2006-03-24 Alan Modra <amodra@bigpond.net.au> |
2990 | ||
2991 | PR target/26607 | |
2992 | * config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__ | |
2993 | or __LITTLE_ENDIAN__. | |
2994 | ||
b368d6b8 R |
2995 | 2006-03-23 J"orn Rennecke <joern.rennecke@st.com> |
2996 | ||
2997 | * config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files. | |
2998 | * config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant. | |
2999 | * config/sh/t-sh (LIB1ASMFUNCS): Add _div_table. | |
3000 | * config/sh/sh.opt (mdiv=): Amend description. | |
3001 | * config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro. | |
3002 | (TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise. | |
3003 | (sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1, | |
3004 | SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC. | |
3005 | (OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1. | |
3006 | Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros. | |
3007 | * config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns. | |
3008 | (udivsi3, divsi3): Use them. Check TARGET_DIVIDE_CALL_TABLE / | |
3009 | TARGET_DIVIDE_CALL_FP. | |
3010 | ||
a57aee2a MK |
3011 | 2006-03-23 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
3012 | ||
3013 | * haifa-sched.c (choose_ready): Fix type of the local variable. | |
3014 | Move local variables. Add comment. | |
3015 | (check_reg_live): Change signature. Make callable from debugger. | |
3016 | * sched-int.h (check_reg_live): Update signature. | |
3017 | * sched-ebb.c (check_reg_live): Update parameters. | |
3018 | * sched-rgn.c (check_reg_live): Ditto. | |
3019 | (region_head_or_leaf_p): Check pointer before dereferencing. | |
3020 | * config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation | |
3021 | before reload on optimization levels below 1. | |
3022 | ||
dec6909b RH |
3023 | 2006-03-23 Richard Henderson <rth@redhat.com> |
3024 | ||
e584065d RH |
3025 | * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject |
3026 | tls symbols. | |
3027 | ||
dec6909b RH |
3028 | PR target/26347 |
3029 | * config/alpha/predicates.md (local_symbolic_operand): Reject | |
3030 | weak symbols. | |
3031 | ||
60fee157 AP |
3032 | 2006-03-23 Andrew Pinski <pinskia@physics.uc.edu> |
3033 | ||
3034 | PR tree-opt/26795 | |
3035 | * tree-ssa-pre.c (create_value_expr_from): Don't reject | |
3036 | expressions which have overflowed constants. | |
3037 | ||
79b9dd8c ZD |
3038 | 2006-03-23 Zdenek Dvorak <dvorakz@suse.cz> |
3039 | ||
3040 | * cse.c (cse_end_of_basic_block): Do not check for LOOP_END note. | |
3041 | ||
054a09fb ZD |
3042 | 2006-03-23 Zdenek Dvorak <dvorakz@suse.cz> |
3043 | ||
3044 | * cfgloopmanip.c (create_loop_notes): Removed. | |
3045 | * final.c (final_scan_insn): Do not handle loop notes. | |
3046 | * jump.c (squeeze_notes): Ditto. | |
3047 | * cfglayout.c (skip_insns_after_block, | |
3048 | duplicate_insn_chain): Ditto. | |
3049 | * cfgcleanup.c (rest_of_handle_jump2): Do not call | |
3050 | create_loop_notes. | |
3051 | * cfgloop.h (create_loop_notes): Declaration removed. | |
3052 | ||
c16ba1d5 RS |
3053 | 2006-03-23 Richard Sandiford <richard@codesourcery.com> |
3054 | ||
3055 | * varasm.c (output_constant_pool): Restore fnname and fndecl | |
3056 | arguments. | |
3057 | (assemble_start_function): Adjust call accordingly. | |
3058 | (assemble_end_function): Likewise. | |
3059 | ||
698cf1c8 VR |
3060 | 2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
3061 | ||
91d876d9 | 3062 | PR mudflap/26789 |
7a752640 VR |
3063 | * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects. |
3064 | ||
91d876d9 | 3065 | PR mudflap/26790 |
698cf1c8 VR |
3066 | * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node. |
3067 | ||
ddaf3b86 VR |
3068 | 2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
3069 | ||
3070 | PR driver/22600 | |
3071 | * system.h (ICE_EXIT_CODE): New macro. | |
3072 | * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE. | |
3073 | (diagnostic_action_after_output): Likewise. | |
3074 | * gcc.c (fatal_ice): New function. | |
3075 | (execute): Use it instead of fatal. | |
3076 | (fancy_abort): Likewise. | |
3077 | * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs. | |
3078 | ||
4dc7782d JL |
3079 | 2006-03-22 Jeff Law <law@redhat.com> |
3080 | ||
3081 | * loop-unroll.c (analyze_iv_to_split_insn): Handle | |
3082 | iv_analyze_result returning false. | |
3083 | ||
f328a23a JZ |
3084 | 2006-03-22 Jie Zhang <jie.zhang@analog.com> |
3085 | ||
3086 | * config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove. | |
3087 | ||
fad41cd7 RH |
3088 | 2006-03-22 Richard Henderson <rth@redhat.com> |
3089 | ||
3090 | PR middle-end/26084 | |
3091 | * except.c (duplicate_eh_regions_0): New. | |
3092 | (duplicate_eh_region_1): Duplicate the children of the node as | |
3093 | well as the node itself. Link them up properly. | |
3094 | (duplicate_eh_region_2): Merge into ... | |
3095 | (duplicate_eh_regions): ... here. Take copy_region argument, and | |
3096 | copy only a sub-tree if asked. Simplify copying and fixup. | |
3097 | (eh_region_outer_p): New. | |
3098 | * except.h (duplicate_eh_regions): Update decl. | |
3099 | (eh_region_outer_p): Declare. | |
3100 | * omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN. | |
3101 | (lower_omp_master): Likewise. | |
3102 | (lower_omp_ordered): Likewise. | |
3103 | * tree-cfg.c (struct move_stmt_d): Add new_label_map. | |
3104 | (move_stmt_r): Use it to remap labels. Handle recursion vs | |
3105 | remap_decls_p properly. | |
3106 | (move_block_to_fn): Pass in new_label_map. Remap RESX_EXPR. | |
3107 | (find_outermost_region_in_block): New. | |
3108 | (new_label_mapper): New. | |
3109 | (move_sese_region_to_fn): Copy eh information to the new function | |
3110 | properly. | |
3111 | * tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions | |
3112 | argument. | |
3113 | * tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region | |
3114 | number. | |
3115 | ||
bc4a3483 RS |
3116 | 2006-03-22 Richard Sandiford <richard@codesourcery.com> |
3117 | ||
3118 | * doc/md.texi (-mshared): Mention that -mshared code can be linked | |
3119 | into shared libraries. | |
3120 | ||
08b1e29a RS |
3121 | 2006-03-22 Richard Sandiford <richard@codesourcery.com> |
3122 | ||
3123 | * doc/md.texi: Refer to i386/constraints.md instead of | |
3124 | i386/predicates.md. | |
3125 | * config/i386/constraints.md: New file, extracted from... | |
3126 | * config/i386/predicates.md: ...here. | |
3127 | * config/i386/i386.md: Include constraints.md. | |
3128 | ||
5b5cba1f JM |
3129 | 2006-03-21 Jason Merrill <jason@redhat.com> |
3130 | ||
ac382b62 JM |
3131 | * builtins.c (expand_builtin_fork_or_exec): Fix pasto. |
3132 | ||
5b5cba1f JM |
3133 | PR middle-end/20297 |
3134 | * expr.c (init_block_move_fn): Force default visibility. | |
3135 | (init_block_clear_fn): Likewise. | |
3136 | * builtins.c (expand_builtin_fork_or_exec): Likewise. | |
3137 | * targhooks.c (default_external_stack_protect_fail): Likewise. | |
3138 | ||
d9870b7e RS |
3139 | 2006-03-21 Richard Sandiford <richard@codesourcery.com> |
3140 | ||
3141 | * config/mips/predicates.md (const_call_insn_operand): Allow direct | |
3142 | calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS. | |
3143 | * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS. | |
3144 | Use TARGET_OLDABI instead of !TARGET_NEWABI. | |
3145 | (loadgp): Use mips_current_loadgp_style. | |
3146 | (loadgp_noshared): New pattern. | |
3147 | (sibcall_internal): Use MIPS_CALL. | |
3148 | (sibcall_value_internal): Likewise. | |
3149 | (sibcall_value_multiple_internal): Likewise. | |
3150 | (call_internal): Likewise. | |
3151 | (call_value_internal): Likewise. | |
3152 | (call_value_multiple_internal): Likewise. | |
3153 | (call_split): Use MIPS_CALL and add an 'S' constraint. | |
3154 | (call_value_split): Likewise. | |
3155 | (call_value_multiple_split): Likewise. | |
3156 | * config/mips/mips.opt (-mabicalls): Tweak docstring. | |
3157 | (-mshared): New option. | |
3158 | * config/mips/mips-protos.h (mips_loadgp_style): New enum. | |
3159 | (mips_current_loadgp_style): Declare. | |
3160 | * config/mips/mips.c (mips_classify_symbol): Avoid using | |
3161 | SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL | |
3162 | rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if | |
3163 | TARGET_ABSOLUTE_ABICALLS. | |
3164 | (override_options): Adjust comments. Improve the warning that is | |
3165 | issued when -mabicalls and -G are used together. | |
3166 | (mips_file_start): Remove comment. | |
3167 | (mips_current_loadgp_style): New function. | |
3168 | (mips_gnu_local_gp): New variable. | |
3169 | (mips_emit_loadgp): Use mips_current_loadgp_style. Handle | |
3170 | LOADGP_ABSOLUTE. | |
3171 | (mips_output_function_prologue): Use mips_current_laodgp_style. | |
3172 | (mips_expand_prologue): Call mips_emit_loadgp before emitting | |
3173 | the cprestore instruction. | |
3174 | (mips_extra_live_on_entry): Fix reversed test. Don't make $25 | |
3175 | live for TARGET_ABSOLUTE_ABICALLS. | |
3176 | * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro. | |
3177 | (ASM_SPEC): Pass down -mshared and -mno-shared. | |
3178 | (MIPS_CALL): New macro. | |
3179 | * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__ | |
3180 | definition. | |
3181 | * doc/invoke.texi (-mabicalls): Update documentation. | |
3182 | (-mshared): Document. | |
3183 | ||
487d9a61 SE |
3184 | 2006-03-21 Steve Ellcey <sje@cup.hp.com> |
3185 | ||
3186 | * config/ia64/unwind-hpux.c: New file. | |
3187 | * config/ia64/t-hpux: Add unwind-hpux.c to libgcc. | |
3188 | ||
f7da48ef SE |
3189 | 2006-03-21 Steve Ellcey <sje@cup.hp.com> |
3190 | ||
3191 | PR libgomp/26384 | |
3192 | * config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options. | |
3193 | ||
a3b196e3 JL |
3194 | 2006-03-21 Jeff Law <law@redhat.com> |
3195 | ||
3196 | * tree-vrp.c (extract_range_from_unary_expr): Derive ranges for | |
3197 | type conversions of a VR_VARYING source to a wider type. | |
3198 | ||
ec23ed60 EB |
3199 | 2006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr> |
3200 | ||
3201 | * config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to | |
3202 | tm_file on Solaris 10 and later. | |
3203 | (sparc64-*-solaris2*): Likewise. | |
3204 | (sparc-*-solaris2*): Likewise. | |
3205 | * config/sol26.h: Rename to config/sol2-6.h. | |
3206 | * config/sol2-10.h: New file. | |
3207 | ||
5ded46eb AP |
3208 | 2006-03-21 Andrew Pinski <pinskia@physics.uc.edu> |
3209 | ||
3210 | PR tree-opt/26781 | |
3211 | * tree-ssa-pre.c (create_component_ref_by_pieces): | |
3212 | Handle STRING_CST. | |
3213 | ||
3c9bb46e JJ |
3214 | 2006-03-21 Jakub Jelinek <jakub@redhat.com> |
3215 | ||
3216 | PR c++/26690 | |
3217 | * tree.c (get_callee_fndecl): If CALL is error_mark_node, | |
3218 | return it immediately. | |
3219 | ||
b6bbd675 MM |
3220 | 2006-03-21 Michael Matz <matz@suse.de> |
3221 | ||
3222 | * genautomata.c (<struct state>, num_out_arcs, presence_signature): | |
3223 | New members. | |
3224 | (remove_arc, add_arc): Update num_out_arcs member. | |
3225 | (set_out_arc_insns_equiv_num): Returns nothing instead of number | |
3226 | of out arcs. | |
3227 | (cache_presence): New function. | |
3228 | (compare_states_for_equiv): New function. | |
3229 | (state_is_differed): Don't take number of outargs, adjust callers. | |
3230 | Use new invariant for speeding up. | |
3231 | (init_equiv_class): Create initial classes based on sorted | |
3232 | input. | |
3233 | (partition_equiv_class): Don't track out_arcs_num. | |
3234 | (evaluate_equiv_classes): Call cache_presence on all states and | |
3235 | sort them. | |
3236 | ||
c4963a0a BS |
3237 | 2006-03-21 Bernd Schmidt <bernd.schmidt@analog.com> |
3238 | ||
3239 | * config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare. | |
3240 | * config/bfin/bfin.c (bfin_dsp_memref_p): New function. | |
3241 | (bfin_valid_reg_p): Test for pseudos explicitly and use only | |
3242 | REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all | |
3243 | callers changed. | |
3244 | * config/bfin/bfin.h (PREG_P): Use P_REGNO_P. | |
3245 | (IREG_P, P_REGNO_P, I_REGNO_P): New macros. | |
3246 | (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS. | |
3247 | (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, | |
3248 | REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete | |
3249 | macros. | |
3250 | (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS, | |
3251 | REGNO_MODE_CODE_OK_FOR_BASE_P): New macros. | |
3252 | (REGNO_REG_CLASS): ARGP is in PREGS. | |
3253 | * config/bfin/bfin.md (movhi_insn): Allow for addresses containing | |
3254 | IREGS. | |
3255 | (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split | |
3256 | to deal with those addresses. | |
3257 | * addresses.h: New file. | |
3258 | * caller-save.c: Include "addresses.h". | |
3259 | (init_caller_save): Use new base_reg_class function. | |
3260 | * rtl-factoring.c: Include "addresses.h". | |
3261 | (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1. | |
3262 | * recog.c: Include "addresses.h". | |
3263 | (preprocess_constraints): Use new base_reg_class function. | |
3264 | * regrename.c: Include "addresses.h". | |
3265 | (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class | |
3266 | functions. Keep track of a new var INDEX_CODE to compute valid | |
3267 | classes. | |
3268 | (replace_oldest_value_addr): Likewise. | |
3269 | (replace_oldest_value_mem): Use base_reg_class. | |
3270 | * reload.c: Include "addresses.h". | |
3271 | (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros. | |
3272 | (find_reloads): Use new base_reg_class function. | |
3273 | (find_reloads_address): Likewise; also use regno_ok_for_base_p. | |
3274 | (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE; | |
3275 | all callers and prototype changed. | |
3276 | * reload1.c: Include "addresses.h". | |
3277 | (maybe_fix_stack_asms): Use base_reg_class. | |
3278 | * regclass.c: Include "addresses.h". | |
3279 | (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions. | |
3280 | (init_reg_autoinc): Use new base_reg_class function. | |
3281 | (record_reg_classes): Likewise. | |
3282 | (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE, | |
3283 | OUTER_CODE and INDEX_CODE. All callers and prototype changed. | |
3284 | Use new args to compute necessary class. | |
3285 | ||
3286 | * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o, | |
3287 | regrename.o, rtl-factoring.o): Update dependencies. | |
3288 | * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document. | |
3289 | (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise. | |
3290 | (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P, | |
3291 | REG_OK_FOR_INDEX_P): Delete documentation. | |
3292 | ||
69bdb292 AS |
3293 | 2006-03-21 Alexey Starovoytov <alexey.starovoytov@sun.com> |
3294 | ||
3295 | * config.gcc (sparc-*-solaris2*): Change the default CPU setting | |
3296 | from V7 to V9 for Solaris 7 and above. | |
3297 | ||
0698a1d2 TM |
3298 | 2006-03-21 Toon Moene <toon@moene.indiv.nluug.nl> |
3299 | ||
3300 | * doc/invoke.texi: Document new flag -fargument-noalias-anything. | |
3301 | * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2, | |
3302 | argument pointers may not alias any other storage. | |
3303 | * common.opt: Define option -fargument-noalias-anything. | |
3304 | * tree-ssa-structalias.c (intra_create_variable_infos): Fortran | |
3305 | alias semantics is specified by flag_argument_noalias > 2. | |
3306 | ||
ee51e035 | 3307 | 2006-03-20 Jeff Law <law@redhat.com> |
e67c25c7 JL |
3308 | |
3309 | * tree-pass.h (pass_phi_only_copy_prop): Delete. | |
3310 | (pass_phi_only_cprop): Declare. | |
3311 | * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop | |
3312 | with phi_only_cprop | |
3313 | * tree-ssa-dom.c (degenerate_phi_result): New function. | |
3314 | (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise. | |
3315 | (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise. | |
3316 | (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise. | |
3317 | (eliminate_degenerate_phis): Likewise. | |
3318 | (pass_phi_only_cprop): New pass descriptor. | |
3319 | * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and | |
3320 | support code. Callers updated. | |
3321 | (execute_copy_prop, do_copy_prop): Likewise and corresponding changes. | |
3322 | (store_copy_prop): Likewise. | |
3323 | (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove. | |
3324 | ||
0ed5edac JM |
3325 | 2006-03-20 Jason Merrill <jason@redhat.com> |
3326 | ||
3327 | PR c++/21764 | |
3328 | * c-pragma.c (visstack): Move out of handle_pragma_visibility. | |
3329 | (push_visibility, pop_visibility): Likewise. | |
3330 | * c-pragma.h: Declare them. | |
3331 | ||
c6d56443 KK |
3332 | 2006-03-20 Kaz Kojima <kkojima@gcc.gnu.org> |
3333 | ||
3334 | * config/sh/sh.c (untangle_mova): Initialize n_addr and n_target. | |
3335 | ||
3336 | * config/sh/sh.c (find_regmode_weight): Change the type of the first | |
3337 | parameter and use get_ebb_head_tail. | |
3338 | (sh_md_init_global): Adjust uses of find_regmode_weight. | |
3339 | ||
ede497cf SB |
3340 | 2006-03-20 Steven Bosscher <stevenb.gcc@gmail.com> |
3341 | ||
3342 | * function.h (struct function) <x_tail_recursion_reentry>: | |
3343 | Rename to x_stack_check_probe_note. | |
3344 | (tail_recursion_reentry): Rename to stack_check_probe_note. | |
3345 | * function.c: Replace tail_recursion_reentry with | |
3346 | stack_check_probe_note everywhere. | |
3347 | (expand_function_start): Only emit a note for | |
3348 | stack_check_probe_note with -fstack-protect. | |
3349 | * stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes. | |
3350 | ||
3351 | * emit-rtl.c (remove_unnecessary_notes): Remove. | |
3352 | (pass_remove_unnecessary_notes): Remove. | |
3353 | * rtl.h (remove_unnecessary_notes): Remove prototype. | |
3354 | * final.c (final_start_function): Don't call remove_unnecessary_notes. | |
3355 | * tree-pass.h (pass_remove_unnecessary_notes): Remove. | |
3356 | * passes.c (pass_remove_unnecessary_notes): Don't run it. | |
3357 | ||
e13f1c14 AP |
3358 | 2006-03-20 Andrew Pinski <pinskia@physics.uc.edu> |
3359 | ||
3360 | PR tree-opt/26629 | |
3361 | * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands. | |
3362 | (valid_in_set): Handle ARRAY_REF. | |
3363 | Change "if min_variant or VH" to asserts. | |
3364 | (create_component_ref_by_pieces): Handle ARRAY_REF. | |
3365 | (create_expression_by_pieces): Likewise. | |
3366 | (can_PRE_operation): ARRAY_REFs can now be PRE'd. | |
3367 | ||
7a22dbec DE |
3368 | 2006-03-20 David Edelsohn <edelsohn@gnu.org> |
3369 | ||
3370 | * genpreds.c (write_insn_extra_address_constraint): Argument `c' | |
3371 | is operand of switch, not str[0]. | |
3372 | ||
e0bf274f AM |
3373 | 2006-03-20 Alan Modra <amodra@bigpond.net.au> |
3374 | ||
3375 | * config/rs6000/rs6000.c (rs6000_handle_option): Use | |
3376 | TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too. | |
3377 | ||
e800e79b DE |
3378 | 2006-03-19 David Edelsohn <edelsohn@gnu.org> |
3379 | ||
3380 | * genpreds.c (write_tm_preds_h): Add semicolon and newline at | |
3381 | end of insn_extra_address_constraint declaration. | |
3382 | ||
d2894ab5 DE |
3383 | 2006-03-19 David Edelsohn <edelsohn@gnu.org> |
3384 | ||
3385 | * config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask. | |
3386 | (no-sum-in-toc): Same. | |
3387 | * config/rs6000/rs6000.c (rs6000_handle_option): Use new | |
3388 | variables. | |
3389 | * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set | |
3390 | NO_FP_IN_TOC for -fPIC instead of mask. | |
3391 | ||
3392 | * config/rs6000/t-aix43 (T_ADAFLAGS): Delete. | |
3393 | (BOOT_LDFLAGS): Delete. | |
3394 | (LDFLAGS): Delete. | |
3395 | * config/rs6000/t-aix52: Same. | |
3396 | ||
3397 | * config/rs6000/rs6000.md (store_multiple_power): Delete. | |
3398 | (stmsi[345678]_power): New. | |
3399 | ||
30b82356 SE |
3400 | 2006-03-17 Steve Ellcey <sje@cup.hp.com> |
3401 | ||
3402 | * config/ia64/ia64.opt: Add empty line to end of file. | |
3403 | ||
445a6ba4 RG |
3404 | 2006-03-17 Richard Guenther <rguenther@suse.de> |
3405 | ||
3406 | PR middle-end/26721 | |
3407 | * builtins.c (get_pointer_alignment): For component style references | |
3408 | adjust alignment to the component type alignment. Make sure | |
3409 | to adjust alignment for component access of constants. | |
3410 | ||
ea5bd0d8 DE |
3411 | 2006-03-17 David Edelsohn <edelsohn@gnu.org> |
3412 | ||
3413 | * config/rs6000/rs6000.md (strlensi): Emit barrier after | |
3414 | unconditional jump. | |
3415 | ||
3cf94279 PB |
3416 | 2006-03-17 Paul Brook <paul@codesourcery.com> |
3417 | ||
3418 | * doc/install.texi: Docuemnt --with-mode. | |
3419 | * config.gcc: Add --with-mode for arm*-*-*. | |
3420 | * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode". | |
3421 | ||
4241ecb0 R |
3422 | 2006-03-17 J"orn Rennecke <joern.rennecke@st.com> |
3423 | ||
3424 | * sh.c (max_labelno_before_reorg): New variable. | |
3425 | (sh_reorg): Initialize it. | |
3426 | (find_barrier): Check max_labelno_before_reorg before using | |
3427 | label_to_alignment. Take length of explicit alignment insns | |
3428 | into account. When seeing a UNSPECV_CONST_END, return it. | |
3429 | ||
3430 | * sh.c (fixup_mova): Set mode of affected label to QImode. | |
3431 | (untangle_mova): New function. | |
3432 | (find_barrier): Use it. Check mode of label before decrementing | |
3433 | num_mova. | |
3434 | (sh_reorg): Likewise. | |
3435 | Set mode of all insns back to VOIDmode. | |
3436 | ||
3437 | * sh.c (MOVA_LABELREF): New macro. | |
3438 | (mova_p, fixup_mova, sh_reorg): Use it. | |
3439 | (find_barrier, sh_reorg): Don't count num_mova back to 0 unless | |
3440 | ADDR_DIFF_VEC matches mova. | |
3441 | ||
79252435 SB |
3442 | 2006-03-17 Steven Bosscher <stevenb.gcc@gmail.com> |
3443 | ||
3444 | * dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument | |
3445 | with ATTRIBUTE_UNUSED. | |
3446 | ||
6a037308 AO |
3447 | 2006-03-17 Alexandre Oliva <aoliva@redhat.com> |
3448 | ||
3449 | * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack | |
3450 | pointer, instead of assuming it is possible to derive the | |
3451 | correct args size from a call insn. | |
3452 | ||
d97c1295 JBG |
3453 | 2006-03-16 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
3454 | ||
3455 | * rtl.h (CONST_INT_P): Define. | |
3456 | * config/vax/vax.c (print_operand_address): Use CONST_INT_P() | |
3457 | instead of GET_CODE(x) == CONST_INT. | |
3458 | (vax_rtx_costs): Likewise. | |
3459 | (vax_output_int_move): Likewise. | |
3460 | (vax_output_int_add): Likewise. | |
3461 | (legitimate_constant_address_p): Likewise. | |
3462 | (index_term_p): Likewise. | |
3463 | * config/vax/vax.h (PRINT_OPERAND): Likewise. | |
3464 | * config/vax/vax.md (and<mode>3): Likewise. | |
3465 | (ashrsi3): Likewise. | |
3466 | (extv): Likewise. | |
3467 | (movstricthi): Likewise. | |
3468 | (movstrictqi): Likewise. | |
3469 | (rotrsi3): Likewise. | |
3470 | (five unnamed insns): Likewise. | |
3471 | ||
192d0f89 GK |
3472 | 2006-03-16 Geoffrey Keating <geoffk@apple.com> |
3473 | ||
3474 | * doc/tm.texi (SDB and DWARF): Add extra parameter to | |
3475 | ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables. | |
3476 | * dwarf2asm.h (dw2_asm_output_offset): Add section parameter. | |
3477 | * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter. | |
3478 | Pass to ASM_OUTPUT_DWARF_OFFSET. | |
3479 | * dwarf2out.c (debug_frame_section): New. | |
3480 | (output_call_frame_info): Use debug_frame_section. Pass it to | |
3481 | dw2_asm_output_offset. | |
3482 | (output_die): Pass appropriate section to dw2_asm_output_offset. | |
3483 | (output_compilation_unit_header): Likewise. | |
3484 | (output_pubnames): Likewise. | |
3485 | (output_aranges): Likewise. | |
3486 | (enum dw_val_class): Break dw_val_class_lbl_offset into | |
3487 | dw_val_class_lineptr and dw_val_class_macptr. | |
3488 | (add_AT_lbl_offset): Delete. | |
3489 | (add_AT_lineptr): New. | |
3490 | (add_AT_macptr): New. | |
3491 | (AT_lbl): Expect a lineptr or macptr. | |
3492 | (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr. | |
3493 | (attr_checksum): Likewise. | |
3494 | (same_dw_val_p): Likewise. | |
3495 | (size_of_die): Likewise. | |
3496 | (value_format): Likewise. | |
3497 | (output_die): Likewise. | |
3498 | (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of | |
3499 | add_AT_lbl_offset. | |
3500 | * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. | |
3501 | * config/i386/i386.c (x86_file_start): Call darwin_file_start. | |
3502 | * config/darwin-protos.h (darwin_file_start): New. | |
3503 | (darwin_asm_output_dwarf_offset): New. | |
3504 | * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. | |
3505 | * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call | |
3506 | darwin_file_start. | |
3507 | * config/darwin.c (darwin_emit_unwind_label): Don't output label | |
3508 | if not EH section; simplify. | |
3509 | (darwin_file_start): New. | |
3510 | (darwin_asm_output_dwarf_offset): New. | |
3511 | * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment, | |
3512 | mark as 'debug'. | |
3513 | (DEBUG_INFO_SECTION): Likewise. | |
3514 | (DEBUG_ABBREV_SECTION): Likewise. | |
3515 | (DEBUG_ARANGES_SECTION): Likewise. | |
3516 | (DEBUG_MACINFO_SECTION): Likewise. | |
3517 | (DEBUG_LINE_SECTION): Likewise. | |
3518 | (DEBUG_LOC_SECTION): Likewise. | |
3519 | (DEBUG_PUBNAMES_SECTION): Likewise. | |
3520 | (DEBUG_STR_SECTION): Likewise. | |
3521 | (DEBUG_RANGES_SECTION): Likewise. | |
3522 | (FRAME_BEGIN_LABEL): Must start with 'L' in debug section. | |
3523 | (ASM_OUTPUT_DWARF_OFFSET): New. | |
3524 | ||
620b87b3 JM |
3525 | 2006-03-16 Joseph S. Myers <joseph@codesourcery.com> |
3526 | ||
3527 | * config.gcc (tm_defines): Always add to previous value rather | |
3528 | than replacing it. | |
3529 | ||
ea462dd0 RS |
3530 | 2006-03-16 Richard Sandiford <richard@codesourcery.com> |
3531 | ||
3532 | * config/mips/predicates.md (splittable_const_int_operand): New, | |
3533 | split from move_operand. | |
3534 | (splittable_symbolic_operand): New. | |
3535 | (move_operand): Add commentary. Use splittable_const_int_operand. | |
3536 | Inline mips_atomic_symbolic_constant_p. | |
3537 | * config/mips/mips.md: Add combine splitters for handling moves | |
3538 | of splittable_const_int_operands and splittable_symbolic_operands. | |
3539 | * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete. | |
3540 | (mips_split_symbol): Declare. | |
3541 | (mips_move_integer): Declare. | |
3542 | * config/mips/mips.c (mips_split_p): Make global. | |
3543 | (TARGET_MIN_ANCHOR_OFFSET): Override default. | |
3544 | (TARGET_MAX_ANCHOR_OFFSET): Likewise. | |
3545 | (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. | |
3546 | (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise. | |
3547 | (mips_offset_within_object_p): Handle block symbols. | |
3548 | (mips_atomic_symbolic_constant_p): Delete. | |
3549 | (mips_cannot_force_const_mem): Return false for constants that | |
3550 | mips_legitimize_move can handle. | |
3551 | (mips_use_blocks_for_constant_p): New function. | |
3552 | (mips_split_symbol): Make global. | |
3553 | (mips_move_integer): Likewise. Add a temporary register argument. | |
3554 | (mips_legitimize_const_move): Use splittable_const_int_operand and | |
3555 | splittable_symbolic_operand. | |
3556 | (mips_use_anchors_for_symbol_p): New function. | |
3557 | * config/mips/mips.h: Protect externs with !USED_FOR_TARGET. | |
4b1c1f6f | 3558 | (mips_split_p): Declare. |
ea462dd0 | 3559 | |
5d2a73d5 RS |
3560 | 2006-03-16 Richard Sandiford <richard@codesourcery.com> |
3561 | ||
3562 | * config.gcc (mips64*-*-linux*): Keep existing tm_defines. | |
3563 | (mips*-*-linux*): Likewise. | |
3564 | ||
da54e73b RS |
3565 | 2006-03-16 Roger Sayle <roger@eyesopen.com> |
3566 | Daniel Speyer <dspeyer@wam.umd.edu> | |
3567 | ||
3568 | PR middle-end/18259 | |
3569 | * tree-dump.c (dump_real): New function. | |
3570 | (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants. | |
3571 | * Makefile.in (REAL_H): New macro for dependencies on real.h. | |
3572 | (tree-dump.o): Add $(REAL_H) to the dependencies. | |
3573 | ||
a47564c8 RS |
3574 | 2006-03-16 Roger Sayle <roger@eyesopen.com> |
3575 | ||
3576 | PR middle-end/21781 | |
3577 | * real.c (real_from_string): If the mantissa is zero, don't bother | |
3578 | parsing the exponent as the result should always be zero. | |
3579 | ||
349f4ea1 AK |
3580 | 2006-03-16 Andreas Krebbel <krebbel1@de.ibm.com> |
3581 | ||
3582 | * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms. | |
3583 | ||
048d0d36 MK |
3584 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
3585 | ||
dec6909b RH |
3586 | * config/ia64/ia64.c (stops_p): Added explicit initialization. |
3587 | (ia64_first_cycle_multipass_dfa_lookahead_guard_spec, | |
3588 | ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn, | |
3589 | ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global, | |
048d0d36 MK |
3590 | ia64_sched_finish_global): New static functions to implement |
3591 | hooks from gcc_target.sched. | |
3592 | (spec_check_no, max_uid, pending_data_specs): New static variables. | |
dec6909b | 3593 | (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p, |
048d0d36 | 3594 | ia64_spec_check_src_p): New static functions. |
dec6909b RH |
3595 | (ia64_adjust_cost): Renamed to ia64_adjust_cost_2. |
3596 | (TARGET_SCHED_ADJUST_COST): Removed. | |
3597 | (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL, | |
048d0d36 MK |
3598 | TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED, |
3599 | TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, | |
3600 | TARGET_SCHED_GEN_CHECK, | |
3601 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, | |
dec6909b RH |
3602 | TARGET_SCHED_SET_SCHED_FLAGS): New macros. |
3603 | (update_set_flags, group_barrier_needed, set_src_needs_barrier): | |
048d0d36 | 3604 | Fixed to handle speculation checks. |
dec6909b RH |
3605 | (rtx_needs_barrier): Fixed to handle speculative loads and |
3606 | their checks. | |
3607 | (ia64_variable_issue): Added code to count speculative loads and their | |
3608 | checks. | |
3609 | (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle | |
3610 | speculative loads. | |
3611 | (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET): | |
3612 | New enumerations. | |
3613 | (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET): | |
3614 | New constants. | |
3615 | (ia64_ld_address_bypass_p): Fixed to handle speculative loads. | |
048d0d36 | 3616 | (ia64_reorg): Reset stops_p to NULL after it is freed. |
dec6909b | 3617 | * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA, |
048d0d36 | 3618 | UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants. |
dec6909b RH |
3619 | (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f, |
3620 | chk_a. | |
3621 | (data_speculative, control_speculative, check_load): New attributes. | |
3622 | (mov<mode>_advanced, mov<mode>_speculative, | |
3623 | mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced, | |
3624 | zero_extend<mode>di2_speculative, | |
3625 | zero_extend<mode>di2_speculative_advanced): New patterns for | |
3626 | data and control speculative loads. | |
3627 | (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for | |
3628 | check loads. | |
3629 | (advanced_load_check_clr_<mode>, speculation_check_<mode>): | |
3630 | New pattern for data and control speculation checks. | |
048d0d36 MK |
3631 | (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr, |
3632 | ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr, | |
3633 | reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes): | |
3634 | Auxiliary definitions for the patterns. | |
dec6909b RH |
3635 | * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a, |
3636 | 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource | |
3637 | constraints. | |
048d0d36 | 3638 | (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition |
dec6909b RH |
3639 | for speculation. |
3640 | (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i. | |
3641 | * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f, | |
048d0d36 MK |
3642 | 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a): |
3643 | New resource constraints. | |
3644 | (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition | |
dec6909b RH |
3645 | for speculation. |
3646 | (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i. | |
3647 | * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec, | |
3648 | msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, | |
3649 | msched-in-control-spec, msched-ldc, msched-control-ldc, | |
3650 | msched-spec-verbose, msched-prefer-non-data-spec-insns, | |
3651 | msched-prefer-non-control-spec-insns, | |
048d0d36 MK |
3652 | msched-count-spec-in-critical-path): New flags to tune speculative |
3653 | scheduling. | |
3654 | * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec, | |
dec6909b RH |
3655 | msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, |
3656 | msched-in-control-spec, msched-ldc, msched-control-ldc, | |
3657 | msched-spec-verbose, msched-prefer-non-data-spec-insns, | |
3658 | msched-prefer-non-control-spec-insns, | |
048d0d36 MK |
3659 | msched-count-spec-in-critical-path): Document new flags. |
3660 | ||
496d7bb0 MK |
3661 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
3662 | ||
dec6909b RH |
3663 | * target.h (struct spec_info_def): New opaque declaration. |
3664 | (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended, | |
3665 | speculate_insn, needs_block_p, gen_check, | |
3666 | first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags. | |
3667 | * target-def.h (TARGET_SCHED_ADJUST_COST_2, | |
3668 | TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN, | |
3669 | TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK, | |
3670 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, | |
3671 | TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in | |
3672 | gcc_target.sched. | |
3673 | (TARGET_SCHED): Use new macros. | |
3674 | * rtl.h (copy_DEPS_LIST_list): New prototype. | |
3675 | * sched-int.h (struct sched_info): Change signature of new_ready field, | |
496d7bb0 | 3676 | adjust all initializations. New fields: add_remove_insn, |
dec6909b | 3677 | begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg, |
496d7bb0 | 3678 | region_head_or_leaf_p. |
dec6909b RH |
3679 | (struct spec_info_def): New structure declaration. |
3680 | (spec_info_t): New typedef. | |
3681 | (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec, | |
3682 | recovery_block, orig_pat. | |
3683 | (glat_start, glat_end): New variables declaraions. | |
3684 | (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT): | |
496d7bb0 | 3685 | New access macros. |
dec6909b RH |
3686 | (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB, |
3687 | DETACH_LIFE_INFO, USE_GLAT. | |
3688 | (enum SPEC_SCHED_FLAGS): New enumeration. | |
3689 | (NOTE_NOTE_BB_P): New macro. | |
3690 | (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block, | |
3691 | attach_life_info, debug_spec_status, check_reg_live): New functions. | |
3692 | (get_block_head_tail): Change signature to get_ebb_head_tail, adjust | |
3693 | all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c, | |
3694 | sched-ebb.c | |
496d7bb0 | 3695 | (get_dep_weak, ds_merge): Prototype functions from sched-deps.c . |
dec6909b RH |
3696 | * ddg.c (get_block_head_tail): Adjust all uses. |
3697 | * modulo-sched.c (get_block_head_tail): Adjust all uses. | |
496d7bb0 MK |
3698 | (sms_sched_info): Initialize new fields. |
3699 | (contributes_to_priority): Removed. | |
dec6909b | 3700 | * haifa-sched.c (params.h): New include. |
496d7bb0 | 3701 | (get_block_head_tail): Adjust all uses. |
dec6909b RH |
3702 | (ISSUE_POINTS): New macro. |
3703 | (glat_start, glat_end): New global variables. | |
3704 | (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data, | |
496d7bb0 MK |
3705 | nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header, |
3706 | old_last_basic_block, before_recovery, current_sched_info_var, | |
3707 | rgn_n_insns, luid): New static variables. | |
dec6909b RH |
3708 | (insn_cost1): New function. Move logic from insn_cost to here. |
3709 | (find_insn_reg_weight1): New function. Move logic from | |
3710 | find_insn_reg_weight to here. | |
3711 | (reemit_notes, move_insn, max_issue): Change signature. | |
3712 | (move_insn1): Removed. | |
3713 | (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d, | |
3714 | extend_bb): New static functions to support extension of scheduler's | |
3715 | data structures. | |
3716 | (generate_recovery_code, process_insn_depend_be_in_spec, | |
3717 | begin_speculative_block, add_to_speculative_block, | |
3718 | init_before_recovery, create_recovery_block, create_check_block_twin, | |
3719 | fix_recovery_deps): New static functions to support | |
3720 | generation of recovery code. | |
3721 | (fix_jump_move, find_fallthru_edge, dump_new_block_header, | |
3722 | restore_bb_notes, move_block_after_check, move_succs): New static | |
3723 | functions to support ebb scheduling. | |
3724 | (init_glat, init_glat1, attach_life_info1, free_glat): New static | |
3725 | functions to support handling of register live information. | |
3726 | (associate_line_notes_with_blocks, change_pattern, speculate_insn, | |
496d7bb0 MK |
3727 | sched_remove_insn, clear_priorities, calc_priorities, bb_note, |
3728 | add_jump_dependencies): New static functions. | |
dec6909b | 3729 | (check_cfg, has_edge_p, check_sched_flags): New static functions for |
496d7bb0 MK |
3730 | consistancy checking. |
3731 | (debug_spec_status): New function to call from debugger. | |
3732 | (priority): Added code to handle speculation checks. | |
3733 | (rank_for_schedule): Added code to distinguish speculative instructions. | |
3734 | (schedule_insn): Added code to handle speculation checks. | |
3735 | (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes): | |
3736 | Fixed to handle ebbs. | |
dec6909b | 3737 | (move_insn): Added code to handle ebb scheduling. |
496d7bb0 | 3738 | (max_issue): Added code to use ISSUE_POINTS of instructions. |
dec6909b RH |
3739 | (choose_ready): Added code to choose between speculative and |
3740 | non-speculative instructions. | |
3741 | (schedule_block): Added code to handle ebb scheduling and scheduling of | |
3742 | speculative instructions. | |
3743 | (sched_init): Initialize new variables. | |
3744 | (sched_finish): Free new variables. Print statistics. | |
3745 | (try_ready): Added code to handle speculative instructions. | |
3746 | * lists.c (copy_DEPS_LIST_list): New function. | |
3747 | * sched-deps.c (extend_dependency_caches): New function. Move logic | |
3748 | from create_dependency_caches to here. | |
496d7bb0 | 3749 | (get_dep_weak, ds_merge): Make global. |
dec6909b RH |
3750 | * genattr.c (main): Code to output prototype for |
3751 | dfa_clear_single_insn_cache. | |
3752 | * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros. | |
3753 | (output_dfa_clean_insn_cache_func): Code to output | |
3754 | dfa_clear_single_insn_cache function. | |
3755 | * sched-ebb.c (target_n_insns): Remove. Adjust all users to use | |
496d7bb0 | 3756 | n_insns. |
dec6909b RH |
3757 | (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs): |
3758 | Removed. | |
3759 | (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb): | |
3760 | New static variables. | |
3761 | (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb, | |
496d7bb0 MK |
3762 | fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from |
3763 | struct sched_info. | |
dec6909b | 3764 | (ebb_sched_info): Initialize new fields. |
496d7bb0 MK |
3765 | (get_block_head_tail): Adjust all uses. |
3766 | (compute_jump_reg_dependencies): Fixed to use glat_start. | |
3767 | (schedule_ebb): Code to remove unreachable last block. | |
dec6909b RH |
3768 | (schedule_ebbs): Added code to update register live information. |
3769 | * sched-rgn.c (region_sched_info): Initialize new fields. | |
496d7bb0 MK |
3770 | (get_block_head_tail): Adjust all uses. |
3771 | (last_was_jump): Removed. Adjust users. | |
dec6909b | 3772 | (begin_schedule_ready, add_remove_insn, insn_points, extend_regions, |
496d7bb0 MK |
3773 | add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p): |
3774 | Implement new hooks. | |
dec6909b RH |
3775 | (check_dead_notes1): New static function. |
3776 | (struct region): New fields: dont_calc_deps, has_real_ebb. | |
3777 | (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros. | |
3778 | (BB_TO_BLOCK): Fixed to handle EBBs. | |
3779 | (EBB_FIRST_BB, EBB_LAST_BB): New macros. | |
3780 | (ebb_head): New static variable. | |
3781 | (debug_regions, contributes_to_priority): Fixed to handle EBBs. | |
3782 | (find_single_block_regions, find_rgns, find_more_rgns): Initialize | |
496d7bb0 MK |
3783 | new fields. |
3784 | (compute_dom_prob_ps): New assertion. | |
dec6909b RH |
3785 | (check_live_1, update_live_1): Fixed to work with glat_start instead of |
3786 | global_live_at_start. | |
496d7bb0 MK |
3787 | (init_ready_list): New assertions. |
3788 | (can_schedule_ready_p): Split update code to begin_schedule_ready. | |
3789 | (new_ready): Add support for BEGIN_CONTROL speculation. | |
dec6909b RH |
3790 | (schedule_insns): Fixed code that updates register live information |
3791 | to handle EBBs. | |
3792 | (schedule_region): Fixed to handle EBBs. | |
496d7bb0 | 3793 | (init_regions): Use extend_regions and check_dead_notes1. |
dec6909b RH |
3794 | * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY, |
3795 | PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters. | |
496d7bb0 MK |
3796 | * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED, |
3797 | TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, | |
3798 | TARGET_SCHED_GEN_CHECK, | |
3799 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, | |
3800 | TARGET_SCHED_SET_SCHED_FLAGS): Document. | |
dec6909b | 3801 | * doc/invoke.texi (max-sched-insn-conflict-delay, |
496d7bb0 MK |
3802 | sched-spec-prob-cutoff): Document. |
3803 | ||
63f54b1a MK |
3804 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
3805 | ||
dec6909b | 3806 | * sched-int.h (struct haifa_insn_data): New fields: resolved_deps, |
63f54b1a MK |
3807 | inter_tick, queue_index. |
3808 | (struct sched_info): Change signature of init_ready_list field. | |
3809 | Adjust all initializations. | |
3810 | (RESOLVED_DEPS): New access macro. | |
3811 | (ready_add): Remove prototype. | |
3812 | (try_ready): Add prototype. | |
3813 | * sched-rgn.c (init_ready_list): Use try_ready. | |
3814 | (schedule_region): Initialize | |
3815 | current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}. | |
3816 | * sched-ebb.c (new_ready): Remove. Adjust ebb_sched_info. | |
3817 | (init_ready_list): Use try_ready. | |
3818 | (schedule_ebb): Initialize current_sched_info->sched_max_insns_priority. | |
3819 | * lists.c (remove_list_elem): Remove `static'. | |
3820 | (remove_free_INSN_LIST_elem): New function. | |
3821 | * rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes. | |
3822 | * haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros. | |
3823 | (INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY): | |
3824 | New constants. | |
3825 | (readyp): New variable. | |
3826 | (queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready, | |
3827 | change_queue_index, resolve_dep): New static functions. | |
3828 | (try_ready): New function. Adjust callers in sched-rgn.c and | |
3829 | sched-ebb.c to use it instead of ready_add. | |
3830 | (clock_var): Move at the begining of file. | |
3831 | (rank_for_schedule): Fix typo. | |
3832 | (queue_insn): Add assertion. Handle QUEUE_INDEX. | |
3833 | (ready_lastpos): Enforce assertion. | |
3834 | (ready_add): Make it static. Handle QUEUE_INDEX. Add new argument, | |
3835 | update all callers. | |
3836 | (ready_remove_first, ready_remove): Handle QUEUE_INDEX. | |
3837 | (schedule_insn): Rewrite to use try_ready and resolve_dep. | |
3838 | (queue_to_ready): Use free_INSN_LIST_list. | |
3839 | (early_queue_to_ready): Fix typo. | |
3840 | (schedule_block): Init readyp. Move init_ready_list call after the | |
3841 | initialization of clock_var. Fix error in rejecting insn by | |
3842 | targetm.sched.dfa_new_cycle. Add call to fix_inter_tick. Remove code | |
3843 | that previously corrected INSN_TICKs. Add code for handling | |
3844 | QUEUE_INDEX. | |
3845 | (set_priorities): Fix typo. | |
3846 | (sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX. | |
3847 | Clarify comment and code that keeps current_sched_info->next_tail | |
3848 | non-null. | |
3849 | ||
d08eefb9 MK |
3850 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
3851 | ||
3852 | * sched-rgn.c (extend_rgns): New static function. | |
3853 | (find_rgns): Use it. | |
3854 | (gather_region_statistics, print_region_statistics): New static | |
3855 | functions. | |
3856 | * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter. | |
dec6909b | 3857 | * doc/invoke.texi (max-sched-extend-regions-iters): Document. |
d08eefb9 | 3858 | |
ddbd5439 | 3859 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
dec6909b | 3860 | Andrey Belevantsev <abel@ispras.ru> |
ddbd5439 MK |
3861 | |
3862 | * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call. | |
dec6909b | 3863 | * lists.c (unused_deps_list): New variable. |
4b1c1f6f | 3864 | (free_list): Add assertions to verify the proper distinguishing |
dec6909b RH |
3865 | between INSN_LISTs and DEPS_LISTs. |
3866 | (find_list_elem, remove_list_elem, remove_list_node): New static | |
ddbd5439 | 3867 | functions. |
dec6909b RH |
3868 | (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node, |
3869 | remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem, | |
3870 | remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions. | |
3871 | (alloc_INSN_LIST): Assert that the list we're working on is indeed | |
ddbd5439 | 3872 | an INSN_LIST. |
dec6909b | 3873 | (free_INSN_LIST_node): Likewise. |
ddbd5439 MK |
3874 | * modulo-sched.c (current_sched_info): Initialize flags field. |
3875 | * reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT. | |
3876 | * rtl.def (DEPS_LIST): Define. | |
dec6909b RH |
3877 | * rtl.h: Declare new functions from lists.c. |
3878 | * sched-deps.c (spec_dependency_cache): New static variable. | |
3879 | (maybe_add_or_update_back_dep_1, add_back_dep): New static functions. | |
3880 | (add_dependence): Change return type to void. Move the logic to ... | |
3881 | (add_or_update_back_dep_1): ... here. Handle speculative dependencies. | |
3882 | (delete_all_dependences): Add comment about forward_dependency_cache. | |
ddbd5439 | 3883 | Handle spec_dependency_cache. Handle DEPS_LISTs. |
dec6909b RH |
3884 | (fixup_sched_groups): Clarify the change of priority of output |
3885 | and anti dependencies. | |
3886 | (sched_analyze_2): Adjust add_dependence calls to create data | |
ddbd5439 | 3887 | speculative dependence. |
dec6909b | 3888 | (add_forward_dependence): Renamed to add_forw_dep, change prototype. |
ddbd5439 | 3889 | Adjust all callers. Handle DEPS_LISTS. |
dec6909b | 3890 | (compute_forward_dependences): Use add_forw_dep. Sort LOG_LINKs in |
ddbd5439 | 3891 | presence of speculation. |
dec6909b | 3892 | (init_dependency_caches, free_dependency_caches): |
ddbd5439 | 3893 | Handle spec_dependency_cache. |
dec6909b | 3894 | (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep, |
ddbd5439 MK |
3895 | estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status): |
3896 | New static functions. | |
dec6909b | 3897 | (add_or_update_back_dep, add_or_update_back_forw_dep, |
ddbd5439 MK |
3898 | add_back_forw_dep, delete_back_forw_dep): New functions. |
3899 | * sched-int.h (ds_t, dw_t): New typedefs. | |
3900 | (struct sched_info): Add new field flags. | |
3901 | (struct haifa_insn_data): Add new bitfield has_internal_dep. | |
3902 | Prototype new sched-deps.c functions. | |
dec6909b | 3903 | (HAS_INTERNAL_DEP, DEP_STATUS): New access macros. |
ddbd5439 MK |
3904 | (BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK, |
3905 | MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA, | |
3906 | BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC, | |
3907 | SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE, | |
3908 | SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP): | |
3909 | New constants. | |
dec6909b | 3910 | (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS): |
ddbd5439 MK |
3911 | New enums. |
3912 | * sched-rgn.c (current_sched_info): Initialize flags field. | |
3913 | (schedule_insns): Initialize current_sched_info before the sched_init | |
3914 | call. | |
3915 | * sched-ebb.c (current_sched_info): Initialize flags field. | |
3916 | (add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P. | |
3917 | Call add_or_update_back_dep instead of add_dependence. | |
3918 | Create control speculative dependencies. | |
3919 | (schedule_insns): Initialize current_sched_info before the sched_init | |
3920 | call. | |
3921 | ||
3062335c KK |
3922 | 2006-03-16 Kaz Kojima <kkojima@gcc.gnu.org> |
3923 | ||
3924 | * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set | |
3925 | fs->signal_frame. | |
3926 | (sh_fallback_frame_state): Likewise. | |
3927 | ||
747b9f55 GK |
3928 | 2006-03-15 Geoffrey Keating <geoffk@apple.com> |
3929 | ||
3930 | * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports. | |
3931 | Do switch on default_use_cxa_atexit. | |
3932 | (powerpc*-*-darwin*): Build crt2.o on powerpc. | |
3933 | * config/darwin-crt3.o: New. | |
3934 | * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default | |
3935 | to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use. | |
3936 | (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate | |
3937 | OS version. | |
3938 | * config/rs6000/t-darwin: Move crt2.o building to here. | |
3939 | * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update | |
3940 | Mac OS version for using __cxa_get_exception_ptr. Don't test versions | |
3941 | of __cxa_atexit. | |
3942 | ||
79166a87 JBG |
3943 | 2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
3944 | ||
3945 | * config/vax/vax.c (nonindexed_address_p): Change logical negation | |
3946 | from '! xxx' to '!xxx' for coding-style conformance. | |
3947 | * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise. | |
3948 | (EXTRA_CONSTRAINT): Likewise. | |
3949 | * config/vax/vax.md (four unnamed insns): Likewise. | |
4b1c1f6f | 3950 | |
34a9f549 PB |
3951 | 2006-03-15 Paul Brook <paul@codesourcery.com> |
3952 | ||
3953 | * config/arm/arm.c (minipool_pad): New. | |
5a281edb | 3954 | (add_minipool_forward_ref): Include pool alignment padding in address |
34a9f549 PB |
3955 | calculation. |
3956 | (push_minipool_fix): Set minipool_pad. | |
3957 | (minipool_pad): Ditto. | |
3958 | ||
ff9d4590 JBG |
3959 | 2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
3960 | ||
3961 | * config/vax/vax.c (split_quadword_operands): Use MEM_P() | |
3962 | instead of GET_CODE() == MEM and REG_P() instead of | |
3963 | GET_CODE() == REG. | |
3964 | (print_operand_address): Likewise. | |
3965 | (vax_address_cost): Likewise. | |
3966 | (vax_rtx_costs): Likewise. | |
3967 | (vax_notice_update_cc): Likewise. | |
3968 | (vax_output_int_add): Likewise. | |
3969 | (INDEX_REGISTER_P): Likewise. | |
3970 | (BASE_REGISTER_P): Likewise. | |
3971 | (nonindexed_address_p): Likewise. | |
3972 | (vax_mode_dependent_address_p): Likewise. | |
3973 | * config/vax/vax.h (EXTRA_CONSTRAINT): Likewise. | |
3974 | (PRINT_OPERAND): Likewise. | |
3975 | * config/vax/vax.md (ashlsi3): Likewise. | |
3976 | (ashlsi3): Likewise. | |
3977 | (some more unnamed insns): Likewise. | |
3978 | ||
db490c39 KH |
3979 | 2006-03-15 Kazu Hirata <kazu@codesourcery.com> |
3980 | ||
3981 | * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an | |
3982 | iterator-style macro. | |
3983 | (mark_control_dependent_edges_necessary): Update the use of | |
3984 | EXECUTE_IF_CONTROL_DEPENDENT. | |
3985 | ||
f705a9a0 R |
3986 | 2006-03-15 J"orn Rennecke <joern.rennecke@st.com> |
3987 | ||
3988 | * config/sh/predicates.md (cache_address_operand): Special. | |
3989 | (ua_address_operand): Likewise. | |
3990 | ||
8b96512f ZD |
3991 | 2006-03-15 Zdenek Dvorak <dvorakz@suse.cz> |
3992 | ||
3993 | * haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle | |
3994 | loop notes. | |
3995 | * sched-deps.c (sched_analyze_insn, sched_analyze): Ditto. | |
3996 | ||
c0fa4721 AS |
3997 | 2006-03-15 Andreas Schwab <schwab@suse.de> |
3998 | ||
3999 | * gensupport.c (identify_predicable_attribute): Don't free p_false | |
4000 | when it is still in use. | |
4001 | ||
cc0f8895 EB |
4002 | 2006-03-15 Eric Botcazou <ebotcazou@libertysurf.fr> |
4003 | ||
4004 | * config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify | |
4005 | the default setting here. | |
4006 | ||
1cba0d4e SB |
4007 | 2006-03-14 Steven Bosscher <stevenb.gcc@gmail.com> |
4008 | ||
4009 | * tree-pass.h (pass_cfg): Remove. | |
4010 | * alias.c (rest_of_handle_cfg, pass_cfg): Remove. | |
4011 | * passes.c (pass_cfg): Don't run it. | |
4012 | ||
e4881f23 KH |
4013 | 2006-03-14 Kazu Hirata <kazu@codesourcery.com> |
4014 | ||
4015 | * Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h. | |
4016 | * reg-stack.c (stack_regs_mentioned_data): Change the type to | |
4017 | VEC(char,heap) *. | |
4018 | (stack_regs_mentioned): Update the uses of | |
4019 | stack_regs_mentioned_data. Don't access the array beyond its | |
4020 | end. | |
4021 | (reg_to_stack): Update the uses of stack_regs_mentioned_data. | |
4022 | Don't include gt-reg-stack.h. | |
4023 | ||
02433683 KH |
4024 | * config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove. |
4025 | * system.h (UNALIGNED_WORD_ASM_OP): Poison. | |
4026 | ||
df6872b7 KH |
4027 | * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove. |
4028 | ||
5b94780f KH |
4029 | PR middle-end/26684 |
4030 | * reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef | |
4031 | STACK_REGS. | |
4032 | ||
e1835ff1 JDA |
4033 | 2006-03-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
4034 | ||
4035 | * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo. | |
4036 | ||
b5564e87 RG |
4037 | 2006-03-14 Richard Guenther <rguenther@suse.de> |
4038 | ||
4039 | PR tree-optimization/26672 | |
4040 | * tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in | |
4041 | SSA form. | |
4042 | ||
6971d714 RG |
4043 | 2006-03-14 Richard Guenther <rguenther@suse.de> |
4044 | ||
4045 | PR tree-optimization/26667 | |
4046 | * ipa-inline.c (cgraph_check_inline_limits): Walk the correct | |
4047 | node for the callees. Always allow inlining if it will shrink | |
4048 | the function size. | |
4049 | ||
7de80559 RG |
4050 | 2006-03-14 Richard Guenther <rguenther@suse.de> |
4051 | ||
4052 | PR middle-end/26659 | |
4053 | * builtins.c (get_pointer_alignment): Prefer alignment | |
4054 | information from decls over that from types. | |
4055 | ||
0e512a4f AP |
4056 | 2006-03-14 Andrew Pinski <pinskia@physics.uc.edu> |
4057 | ||
4058 | PR target/26657 | |
4059 | * config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp. | |
4060 | ||
716019c0 JM |
4061 | 2006-03-14 Joseph S. Myers <joseph@codesourcery.com> |
4062 | ||
4063 | * config/rs6000/rs6000.opt (mdlmzb): New option. | |
4064 | (msched-prolog, msched-epilog): Use Var not Mask. | |
4065 | * doc/invoke.texi (-mdlmzb): Document. | |
4066 | * config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove | |
4067 | MASK_SCHED_PROLOG. | |
4068 | (rs6000_override_options): Enable -mdlmzb for 405 and 440. | |
4069 | * config/rs6000/rs6000.md: Add dlmzb support for 405 and 440. | |
4070 | ||
a14df7da UP |
4071 | 2006-03-13 Uttam Pawar <uttamp@us.ibm.com> |
4072 | ||
4073 | PR rtl-optimization/25739 | |
4074 | * bt-load.c (augment_live_range): Free tos pointer. | |
4075 | ||
4076 | * gensupport.c (identify_predicable_attribute): Free | |
4077 | p_false pointer. | |
4078 | * gcov.c (create_file_names): Free name pointer. | |
4079 | ||
f8318079 RS |
4080 | 2006-03-13 Roger Sayle <roger@eyesopen.com> |
4081 | ||
4082 | PR middle-end/26557 | |
4083 | * stmt.c (emit_case_nodes): Handle the case where the index is a | |
4084 | CONST_INT, where the comparison mode is specified by the index type. | |
4085 | ||
26a851b9 JDA |
4086 | 2006-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
4087 | ||
4088 | * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O | |
4089 | is defined. | |
4090 | ||
94c5a841 RS |
4091 | 2006-03-13 Richard Sandiford <richard@codesourcery.com> |
4092 | ||
4093 | * config/mips/mips.md (*branch_fp): Use %Z2 for the condition. | |
4094 | (*branch_fp_inverted): Likewise. | |
4095 | ||
5b4fc8fb JJ |
4096 | 2006-03-13 Jakub Jelinek <jakub@redhat.com> |
4097 | ||
4098 | PR middle-end/25989 | |
4099 | * omp-low.c (expand_omp_for_generic): Mark istart0 | |
4100 | and iend0 as addressable. | |
4101 | ||
792e526b JZ |
4102 | 2006-03-13 Jie Zhang <jie.zhang@analog.com> |
4103 | ||
4104 | * config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC. | |
4105 | ||
2bbec6d9 JL |
4106 | 2006-03-13 Jeff Law <law@redhat.com> |
4107 | ||
4108 | * tree-vrp.c (stmt_interesting_for_vrp): Some statements with | |
4109 | virtual operands are interesting. | |
4110 | (vrp_visit_stmt): Corresponding changes. | |
4111 | ||
a94aa272 BS |
4112 | 2006-03-13 Bernd Schmidt <bernd.schmidt@analog.com> |
4113 | ||
4114 | * config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents | |
4115 | of RETS. | |
4af990cd BS |
4116 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If |
4117 | TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__. | |
4118 | * config/bfin/crti.S: Use it instead of __PIC__. | |
4119 | * config/bfin/crtn.S: Likewise. | |
a94aa272 | 4120 | |
96c30d2a BS |
4121 | * config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol, |
4122 | call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY, | |
4123 | not if flag_pic. | |
4124 | Lose 'G' modifier for call operand. | |
4125 | * config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't | |
4126 | recognize 'G' modifier. | |
4127 | ||
3feaea00 EB |
4128 | 2006-03-13 Eric Botcazou <ebotcazou@adacore.com> |
4129 | ||
4130 | PR middle-end/18859 | |
4131 | * gimplify.c (gimplify_switch_expr): Discard empty ranges. | |
4132 | * stmt.c (expand_case): Likewise. | |
4133 | ||
ba946209 ZD |
4134 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
4135 | ||
4136 | PR rtl-optimization/26254 | |
4137 | * loop-invariant.c (seq_insns_valid_p): New function. | |
4138 | (move_invariant_reg): Only emit new code if it is valid. | |
4139 | ||
96e82e0a ZD |
4140 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
4141 | ||
4142 | * cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p): | |
4143 | Removed. | |
4144 | (force_nonfallthru_and_redirect): Do not use last_loop_beg_note. | |
4145 | (rtl_split_edge): Do not use back_edge_of_syntactic_loop_p. | |
4146 | (commit_one_edge_insertion): Do not look for loop notes. | |
4147 | ||
50af6384 ZD |
4148 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
4149 | ||
4150 | * jump.c (follow_jumps): Do not check for loop notes. Move check for | |
4151 | flag_test_coverage out of loop. | |
4152 | ||
80838531 ZD |
4153 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
4154 | ||
4155 | * final.c (shorten_branches): Remove outdated comment, and turn | |
4156 | the if branch that guards it to continue. | |
4157 | ||
7490e6c4 ZD |
4158 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
4159 | ||
4160 | * cfgloop.c (flow_loop_dump): Do not dump loop->invalid field. | |
4161 | * cfgloop.h (struct loop): Remove unused fields. | |
4162 | ||
5abcfa7e KH |
4163 | 2006-03-13 Kazu Hirata <kazu@codesourcery.com> |
4164 | ||
4165 | * doc/invoke.texi (-fdump-rtl-loop): Remove. | |
4b1c1f6f | 4166 | (-dL, -fdump-rtl-loop2): Update the dump file names |
5abcfa7e | 4167 | |
c6075909 KH |
4168 | * doc/invoke.texi: Update dump file names. |
4169 | ||
3d47ea88 SB |
4170 | 2006-03-12 Steven Bosscher <stevenb.gcc@gmail.com> |
4171 | ||
4172 | * predict.c (estimate_probability): Remove. | |
4173 | * profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove. | |
4174 | * basic-block.h (estimate_probability): Remove prototype. | |
4175 | * passes.c (finish_optimization_passes): Dump branch prediction or | |
4176 | profiling heuristics to the .profile tree dump. | |
4177 | (init_optimization_passes): Unqueue pass_branch_prob. | |
4178 | ||
4179 | * doc/invoke.texi (-fdump-rtl-bp): Remove. | |
4180 | ||
fc6c490e SB |
4181 | 2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com> |
4182 | ||
4183 | * rtl.def (LABEL_REF): Remove the field for LABEL_NEXTREF. | |
4184 | * rtl.h (LABEL_NEXTREF): Remove field accessor. | |
4185 | ||
9fb798d7 EB |
4186 | 2006-03-11 Eric Botcazou <ebotcazou@adacore.com> |
4187 | ||
4188 | * function.h (frame_offset_overflow): Declare. | |
4189 | * function.c (frame_offset_overflow): New function. | |
4190 | (assign_stack_local_1): Call it to detect that the offset overflows. | |
4191 | * cfgexpand.c (alloc_stack_frame_space): Likewise. | |
4192 | ||
6dd3c0a5 SB |
4193 | 2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com> |
4194 | ||
4195 | * config/sh/sh.c: Include alloc-pool.h. | |
4196 | (label_ref_list_pool): New alloc pool. | |
4197 | (label_ref_list_t): New type for lists of labels. | |
4198 | (struct pool_node): Make wend a label_ref_list_t. | |
4199 | (add_constant): Use the new type, eradicate LABEL_NEXTREF | |
4200 | references. | |
4201 | (dump_table): Likewise. | |
4202 | (sh_reorg): Set up the alloc pool before using add_constant and | |
4203 | dump_table, and destroy it when finishing. | |
4204 | ||
a70ec386 RS |
4205 | 2006-03-11 Richard Sandiford <richard@codesourcery.com> |
4206 | ||
4207 | * config/mips/mips.c: Remove redundant comment. | |
4208 | ||
21f9ec0c JM |
4209 | 2006-03-10 Jason Merrill <jason@redhat.com> |
4210 | ||
4211 | PR c/26004 | |
4b1c1f6f | 4212 | * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if |
21f9ec0c JM |
4213 | the target was declared 'register'. |
4214 | ||
a8597866 AN |
4215 | 2006-03-10 Adam Nemet <anemet@caviumnetworks.com> |
4216 | ||
4217 | * genpreds.c (write_insn_constraint_len): Change definition of | |
4218 | insn_constraint_len to return size_t to match the declaration. | |
4219 | ||
8e4edce7 DD |
4220 | 2006-03-10 DJ Delorie <dj@redhat.com> |
4221 | ||
4222 | * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers | |
4223 | start at zero. | |
4224 | (m32c_expand_insv): Fix test for an AND mask. | |
4225 | ||
891c0eee RG |
4226 | 2006-03-10 Richard Guenther <rguenther@suse.de> |
4227 | ||
4228 | PR middle-end/26565 | |
4229 | * builtins.c (get_pointer_alignment): Handle component | |
4230 | references for field alignment. | |
4231 | ||
8c1aaf26 R |
4232 | 2006-03-10 J"orn Rennecke <joern.rennecke@st.com> |
4233 | ||
4234 | * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h | |
4235 | when building with libgloss. | |
4236 | (sh*elf): Implement --without-fp option. | |
4b1c1f6f | 4237 | (sh64-superh-linux*): Don't multilib. |
8c1aaf26 | 4238 | |
7a6164d4 R |
4239 | 2006-03-10 J"orn Rennecke <joern.rennecke@st.com> |
4240 | ||
4241 | * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case. | |
4242 | ||
3e0a08d7 AP |
4243 | 2006-03-09 Andrew Pinski <pinskia@physics.uc.edu> |
4244 | ||
4245 | * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable. | |
4246 | Set it when one of the replacement functions returned true. | |
4247 | Return TODO_cleanup_cfg if cfgchanged is true. | |
4248 | (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg. | |
4249 | ||
f243cee6 AN |
4250 | 2006-03-09 Adam Nemet <anemet@caviumnetworks.com> |
4251 | ||
4252 | * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate | |
4253 | instead of gen_lowpart. | |
4254 | ||
a8c1d5f8 RS |
4255 | 2006-03-09 Richard Sandiford <richard@codesourcery.com> |
4256 | ||
4257 | * config/mips/mips-protos.h (mips_output_conditional_branch): Change | |
4258 | interface. | |
4259 | (mips_output_order_conditional_branch): Declare. | |
4260 | * config/mips/mips.h (MIPS_BRANCH): New macro. | |
4261 | * config/mips/mips.c (gen_conditional_branch): Use VOIDmode | |
4262 | for the comparison. Use gen_condjump. | |
4263 | (mips_output_conditional_branch): Rework interface to take the | |
4264 | asm templates for a direct branch and the inverse of a direct branch. | |
4265 | (mips_output_order_conditional_branch): New function. | |
4266 | (mips_builtin_branch_and_move): New function. | |
4267 | (mips_expand_builtin_compare): Use it. Use VOIDmode for the | |
4268 | branch condition. Use gen_single_cc as the condition for | |
4269 | __builtin_mips_upper_* or __builtin_mips_lower_*. | |
4270 | (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move. | |
4271 | Use VOIDmode for the branch condition. | |
4272 | * config/mips/predicates.md (order_operator): New predicate. | |
4273 | * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant. | |
4274 | (branch_fp): Rename to... | |
4275 | (*branch_fp): ...this. Remove mode from comparison operator. | |
4276 | Use new mips_output_conditional_branch interface. | |
4277 | (branch_fp_inverted): Rename to... | |
4278 | (*branch_fp_inverted): ...this and update as for *branch_fp. | |
4279 | (*branch_zero<mode>): Rename to... | |
4280 | (*branch_order<mode>): ...this. Remove mode from comparison operator. | |
4281 | Use mips_output_order_conditional_branch. Only accept ordered | |
4b1c1f6f | 4282 | comparisons. |
a8c1d5f8 RS |
4283 | (*branch_zero<mode>_inverted): Rename to... |
4284 | (*branch_order<mode>_inverted): ...this and update as for | |
4285 | *branch_order<mode>. | |
4286 | (*branch_equality<mode>): Accept zero as the second operand to | |
4287 | the equality operator. Use the new mips_output_conditional_branch | |
4288 | interface. | |
4289 | (*branch_equality<mode>_inverted): Likewise. | |
4290 | (condjump): New expander. | |
4291 | * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison | |
4292 | operator. | |
4293 | * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise. | |
4294 | (bc1any2t, bc1any2f): Likewise. | |
4295 | (single_cc): New expander. | |
4296 | (*branch_upper_lower, *branch_upper_lower_inverted): New patterns. | |
4297 | ||
cbbb5b6d RS |
4298 | 2006-03-09 Richard Sandiford <richard@codesourcery.com> |
4299 | ||
4300 | * doc/md.texi: Update documentation of MIPS constraints. | |
4301 | * config/mips/constraints.md: New file. | |
4302 | * config/mips/mips.md: Include it. | |
4303 | * config/mips/mips.c (mips_char_to_class): Delete. | |
4304 | (override_options): Don't initialize mips_char_to_class. | |
4305 | * config/mips/mips.h (mips_char_to_class): Delete. | |
4306 | (REG_CLASS_FROM_LETTER): Delete. | |
4307 | (CONST_OK_FOR_LETTER_P): Delete. | |
4308 | (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. | |
4309 | (EXTRA_CONSTRAINT_Y): Delete. | |
4310 | (EXTRA_CONSTRAINT_STR): Delete. | |
4311 | (CONSTRAINT_LEN): Delete. | |
4312 | (EXTRA_MEMORY_CONSTRAINT): Delete. | |
4313 | ||
1799e5d5 RH |
4314 | 2006-03-09 Diego Novillo <dnovillo@redhat.com> |
4315 | ||
4316 | * tree-cfg.c (move_block_to_fn): Remove the statements from the | |
4317 | original fn's eh regions. | |
4318 | ||
f8fe0545 EB |
4319 | 2006-03-09 Eric Botcazou <ebotcazou@adacore.com> |
4320 | ||
4321 | * fold-const.c (build_range_check): Make sure to use a valid type to | |
4322 | apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)" | |
4323 | transformation. | |
4324 | ||
4325 | (range_predecessor): New static function. | |
4326 | (range_successor): Likewise. | |
4327 | (merge_ranges): Use them to compute predecessors and successors of | |
4328 | range bounds. | |
4329 | ||
d56ee62b RS |
4330 | 2006-03-09 Roger Sayle <roger@eyesopen.com> |
4331 | ||
4332 | PR middle-end/26561 | |
4333 | * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as | |
4334 | X op C3, consider whether C3 overflows towards +Inf or -Inf. | |
4335 | ||
07127a0a DD |
4336 | 2006-03-08 DJ Delorie <dj@redhat.com> |
4337 | ||
4338 | * config/m32c/addsub.md (addqi3): Disparage a0/a1. | |
4339 | (addpsi3): Expand to include memory operands. Remove | |
4340 | reload-specific splits. | |
4341 | * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New. | |
4342 | (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New. | |
4343 | (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New. | |
4344 | (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders. | |
4345 | (shift1_qi, shift1_hi, insv): New. | |
4346 | * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove. | |
4347 | (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed, | |
4348 | cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc, | |
4349 | cond_to_int): New. | |
4350 | * config/m32c/m32c-protos.h: Update as needed. | |
4351 | * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't | |
4352 | default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1. | |
4353 | Fail for unrecognized R* constraints. | |
4354 | (m32c_cannot_change_mode_class): Be more picky about pseudos. | |
4355 | (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00. | |
4356 | (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)). | |
4357 | Add Sp constraint. | |
4358 | (m32c_init_libfuncs): New. | |
4359 | (m32c_legitimate_address_p): Add debug wrapper. | |
4360 | (m32c_rtx_costs): New. | |
4361 | (m32c_address_cost): New. | |
4362 | (conversions): Add 'B' prefix. | |
4363 | (m32c_print_operand): 'h' and 'H' pick lower and upper halves of | |
4364 | operands, or word regnames for QI operands. 'B' prints bit | |
4365 | position. | |
4366 | (m32c_expand_setmemhi): New. | |
4367 | (m32c_expand_movmemhi): New. | |
4368 | (m32c_expand_movstr): New. | |
4369 | (m32c_expand_cmpstr): New. | |
4370 | (m32c_prepare_shift): Shift counts are limited to 16 bits at a time. | |
4371 | (m32c_expand_neg_mulpsi3): Handle non-ints. | |
4372 | (m32c_cmp_flg_0): New. | |
4373 | (m32c_expand_movcc): New. | |
4374 | (m32c_expand_insv): New. | |
4375 | (m32c_scc_pattern): New. | |
4376 | * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take | |
4377 | a0/a1 out of SIregs. | |
4378 | (STORE_FLAG_VALUE): New. | |
4379 | * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and | |
4380 | code macros. | |
4381 | (no_insn): New. | |
4382 | * config/m32c/mov.md: Make constraints more liberal. | |
4383 | (zero_extendqihi2): Optimize r0/r1 case. | |
4384 | * config/m32c/muldiv.md (mulpsi3): Check for intvals. | |
4385 | * config/m32c/predicates.md (m32c_any_operand): New. | |
4386 | (m32c_nonimmediate_operand): New. | |
4387 | (m32c_hl_operand): New. | |
4388 | (m32c_r3_operand): New. | |
4389 | (ap_operand): New. | |
4390 | (ma_operand): New. | |
4391 | (memsym_operand): New. | |
4392 | (memimmed_operand): New. | |
4393 | (a_qi_operand): New. | |
4394 | (m32c_eqne_operator): New. | |
4395 | (m32c_1bit8_operand): New. | |
4396 | (m32c_1bit16_operand): New. | |
4397 | (m32c_1mask8_operand): New. | |
4398 | (m32c_1mask16_operand): New. | |
4399 | * config/m32c/blkmov.md: New file. | |
4400 | * config/m32c/t-m32c (MD_FILES): Add blkmov. | |
4401 | ||
6677e189 AT |
4402 | 2006-03-08 Andreas Tobler <a.tobler@schweiz.ch> |
4403 | ||
8f4fc766 AT |
4404 | * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum |
4405 | unsigned to fix signed/unsigned comparison issue in | |
4406 | DWARF2_FRAME_REG_OUT. | |
4407 | (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/ | |
4408 | unsigned comparison issue in DWARF2_FRAME_REG_OUT. | |
4409 | ||
6677e189 AT |
4410 | * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration |
4411 | of ptr into the ENABLE_CHECKING section. | |
4412 | ||
60c9ad46 JL |
4413 | 2006-03-08 Jeff Law <law@redhat.com> |
4414 | ||
4415 | * tree-vrp.c (infer_value_range): Only count pointer uses | |
4416 | and dereferences if -fdelete-null-pointer-checks is enabled. | |
4417 | ||
4418 | * tree-vrp.c (find_assert_locations): Infer value ranges for | |
4419 | single use pointers, but do not create ASSERT_EXPRs for them. | |
4420 | When a non-null range is inferred for a pointer, backwards | |
4421 | propagate that range to other equivalent pointers through the | |
4422 | use-def chain. | |
4423 | ||
dedfa466 PB |
4424 | 2006-03-08 Paolo Bonzini <bonzini@gnu.org> |
4425 | ||
4426 | PR bootstrap/26500 | |
4427 | * Makefile.in (dvi, html, install-info): Invoke the corresponding | |
4428 | language hook targets. | |
4429 | * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in, | |
4430 | objcp/Make-lang.in: Create stub rules for dvi, html, install-info | |
4431 | if language hook targets were missing. | |
4432 | ||
ac574e1b ZD |
4433 | 2006-03-07 Zdenek Dvorak <dvorakz@suse.cz> |
4434 | ||
4435 | * tree-ssa-opfinalize.h: Removed. | |
4436 | * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h | |
4437 | dependency. | |
4438 | * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h. | |
4439 | (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST, | |
4440 | INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op, | |
4441 | add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops, | |
4442 | finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops, | |
4443 | finalize_ssa_v_must_def_ops): New. | |
4444 | ||
50d5ff7d KZ |
4445 | 2006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com> |
4446 | ||
4447 | * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong | |
4448 | block as parameter. | |
4449 | ||
fb638355 GK |
4450 | 2006-03-07 Geoffrey Keating <geoffk@apple.com> |
4451 | ||
cd554454 GK |
4452 | * varasm.c (assemble_end_function): Say that 'fnname' is unused. |
4453 | ||
dbde310d GK |
4454 | * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin |
4455 | addresses with offsets; reorganize. | |
4456 | ||
fb638355 GK |
4457 | * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file. |
4458 | (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT. | |
4459 | (expand_builtin_init_dwarf_reg_sizes): Likewise. | |
4460 | ||
0f047685 DB |
4461 | 2006-03-08 David Billinghurst <David.Billinghurst@riotinto.com> |
4462 | ||
4463 | PR target/26588 | |
4464 | * config/i386/cygwin.h (GOMP_SELF_SPECS): Define. | |
4465 | ||
c18f0c26 BE |
4466 | 2006-03-08 Ben Elliston <bje@au.ibm.com> |
4467 | ||
4468 | * config/fp-bit.h (CMPtype): Typedef to a word mode integer. | |
4469 | ||
48fa3029 AH |
4470 | 2006-03-07 Aldy Hernandez <aldyh@redhat.com> |
4471 | ||
4472 | PR gomp/26238 | |
4473 | * doc/passes.texi (Tree-SSA passes): Document omp lowering and | |
4474 | expansion. | |
4475 | ||
6f1be8e1 RG |
4476 | 2006-03-07 Richard Guenther <rguenther@suse.de> |
4477 | ||
4478 | PR tree-optimization/26587 | |
4479 | * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR. | |
4480 | ||
6410fb81 RS |
4481 | 2006-03-07 Richard Sandiford <richard@codesourcery.com> |
4482 | ||
4483 | * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION. | |
4484 | ||
1d3dbd99 RS |
4485 | 2006-03-07 Richard Sandiford <richard@codesourcery.com> |
4486 | ||
4487 | * hooks.c (hook_bool_mode_rtx_true): New function. | |
4488 | * hooks.h (hook_bool_mode_rtx_true): Declare. | |
4489 | * toplev.c (compile_file): Call output_shared_constant_pool. | |
4490 | * varasm.c (shared_constant_pool): New variable. | |
4491 | (assemble_start_function, assemble_end_function): Remove arguments | |
4492 | from call to output_constant_pool. | |
4493 | (create_constant_pool): New function, split out from... | |
4494 | (init_varasm_status): ...here. | |
4495 | (force_const_mem): Choose between the shared and per-function constant | |
4496 | pools. Set current_function_uses_const_pool when reusing old entries | |
4497 | as well as when creating new ones. | |
4498 | (mark_constant): Ignore data argument. | |
4499 | (mark_constants): Remove pool argument. | |
4500 | (mark_constant_pool): Likewise. Use current_function_uses_const_pool | |
4501 | to decide whether the function uses a constant pool. | |
4502 | (output_constant_pool_contents): New function, split out from... | |
4503 | (output_constant_pool): ...here. | |
4504 | (output_shared_constant_pool): New function. | |
4505 | (init_varasm_once): Initialize shared_constant_pool. | |
4506 | * output.h (output_constant_pool): Delete. | |
4507 | (output_shared_constant_pool): Declare. | |
4508 | * config/s390/s390-protos.h (s390_output_constant_pool): Delete. | |
4509 | * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override. | |
4510 | ||
7d14f0fc NC |
4511 | 2006-03-06 Nick Clifton <nickc@redhat.com> |
4512 | ||
4513 | * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to | |
4514 | flag_strength_reduce. | |
4515 | ||
d9b9633d BE |
4516 | 2006-03-06 Ben Elliston <bje@au.ibm.com> |
4517 | ||
45b9a4e8 BE |
4518 | * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and |
4519 | x86_64-*-linux* configurations. | |
4520 | ||
d9b9633d | 4521 | * config/dfp-bit.h (CMPtype): Typedef to a word mode integer. |
c92f986f | 4522 | (LIBGCC2_WORDS_BIG_ENDIAN): Define. |
d9b9633d | 4523 | |
acfc4f0a KH |
4524 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> |
4525 | ||
4526 | * tree-ssa-threadupdate.c (rediscover_loops_after_threading): | |
4527 | Remove. | |
4528 | * basic-block.h: Remove the extern for | |
4529 | rediscover_loops_after_threading. | |
4530 | ||
b00bf166 KH |
4531 | * cfgloop.c (cancel_loop): Make it static. |
4532 | * cfgloop.h: Remove the prototype for cancel_loop. | |
4533 | ||
a678e384 KH |
4534 | * flow.c (recompute_reg_usage): Make it static. |
4535 | * rtl.h: Remove the prototype for recompute_reg_usage. | |
4536 | ||
0bf8477d KH |
4537 | * function.c (use_return_register): Make it static. |
4538 | * function.h: Remove the prototype. | |
4539 | ||
d42ee77a KH |
4540 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> |
4541 | ||
4542 | * recog.c (volatile_mem_p, validate_change_maybe_volatile): | |
4543 | Remove. | |
4544 | * recog.h: Remove the prototype for | |
4545 | validate_change_maybe_volatile. | |
4546 | ||
dc782dcd KH |
4547 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> |
4548 | ||
4549 | * rtlanal.c (replace_reg): Remove. | |
4550 | * rtl.h: Remove the prototype for replace_reg. | |
4551 | ||
3c491cab KH |
4552 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> |
4553 | ||
4554 | * regclass.c (reg_scan_update): Remove. | |
4555 | (reg_scan_mark_refs): Remove the last argument. | |
4556 | * rtl.h: Remove the prototype for reg_scan_update. | |
4557 | ||
c0220ea4 KH |
4558 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
4559 | ||
4560 | * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c, | |
4561 | combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c, | |
4562 | config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c, | |
4563 | config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c, | |
4564 | df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c, | |
4565 | loop-invariant.c, omp-low.c, opts.c, passes.c, | |
4566 | rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c, | |
4567 | tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c, | |
4568 | tree-ssa-structalias.c, tree-ssa-threadedge.c, | |
4569 | tree-ssa-threadupdate.c, tree-vect-patterns.c, | |
4570 | tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c, | |
4571 | unwind-dw2.c: Fix comment typos. Follow spelling conventions. | |
4572 | ||
ae3b9f19 KH |
4573 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
4574 | ||
4575 | * dwarf2out.c (dwarf2out_add_library_unit_info): Remove. | |
4576 | * dwarf2out.h: Remove the prototype for | |
4577 | dwarf2out_add_library_unit_info. | |
4578 | ||
a82db052 KH |
4579 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
4580 | ||
4581 | * tree.c (add_var_to_bind_expr): Remove. | |
4582 | * tree.h: Remove the prototype for add_var_to_bind_expr. | |
4583 | ||
3c6c67f8 KH |
4584 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
4585 | ||
4586 | * regclass.c (n_non_fixed_regs): Remove. | |
4587 | (init_reg_sets_1, globalize_reg): Remove all uses of | |
4588 | n_non_fixed_regs. | |
4589 | * hard-reg-set.h: Remove the extern for n_non_fixed_regs. | |
4590 | ||
22ec0cc8 KH |
4591 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
4592 | ||
4593 | * rtlanal.c (insns_safe_to_move_p): Remove. | |
4594 | * rtl.h: Remove the prototype for insns_safe_to_move_p. | |
4595 | ||
2f8dc5bb KH |
4596 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
4597 | ||
4598 | * expmed.c (expand_mult_add): Remove. | |
4599 | * expr.h: Remove the prototype for expand_mult_add. | |
4600 | ||
4469af7a JJ |
4601 | 2006-03-04 Jakub Jelinek <jakub@redhat.com> |
4602 | ||
4603 | * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET | |
4604 | and REG_SAVED_VAL_EXP constants. | |
4605 | * unwind-dw2.c (struct _Unwind_Context): Add by_value array. | |
4606 | (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): | |
4607 | Handle regs stored by value. | |
4608 | (_Unwind_SetGRValue, _Unwind_GRByValue): New functions. | |
4609 | (execute_cfa_program): Handle DW_CFA_val_offset, | |
4610 | DW_CFA_val_offset_sf and DW_CFA_val_expression. | |
4611 | (uw_update_context_1): Handle REG_SAVED_REG with regs stored by | |
4612 | value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP. | |
4613 | (uw_install_context_1): Handle target regs stored by value. | |
4614 | ||
efdb3de9 DB |
4615 | 2006-03-03 Daniel Berlin <dberlin@dberlin.org> |
4616 | ||
4617 | * tree-sra.c (tree_sra): Return todoflags; | |
4618 | (generate_one_element): Set TODO_update_smt_usage if needed. | |
4619 | (pass_sra): Remove TODO_update_smt_usage. | |
4620 | * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some | |
4621 | parameter. | |
4622 | (tree_ssa_forward_propagate_single_use_vars): Return | |
4623 | TODO_update_smt_usage if we need to update SMT usage. | |
4624 | (pass_forwprop): Remove TODO_update_smt_usage. | |
4b1c1f6f | 4625 | |
65ad7c63 DN |
4626 | 2006-03-03 Diego Novillo <dnovillo@redhat.com> |
4627 | ||
4628 | * tree-ssa-operands.c: Tidy whitespace. Fix spelling. | |
4629 | (correct_use_link): Remove reference to get_stmt_operands. | |
4630 | (update_stmt_operands): Likewise. | |
4631 | (get_modify_expr_operands): New function factored out of | |
4632 | parse_ssa_operands and get_expr_operands. | |
4633 | Try to create V_MUST_DEFs for LHS by default. | |
4634 | (get_expr_operands) <case MODIFY_EXPR>: Call | |
4635 | get_modify_expr_operands. | |
4636 | <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF. | |
4637 | <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS. | |
4638 | (parse_ssa_operands) <case MODIFY_EXPR>: Call | |
4639 | get_modify_expr_operands. | |
4640 | ||
417e90ca KH |
4641 | 2006-03-03 Kazu Hirata <kazu@codesourcery.com> |
4642 | ||
4643 | * tree-dfa.c (referenced_var_lookup_if_exists): Remove. | |
4644 | * tree-flow.h: Remove the prototype for | |
4645 | referenced_var_lookup_if_exists. | |
4646 | ||
f6d65153 SE |
4647 | 2006-03-03 Steve Ellcey <sje@cup.hp.com> |
4648 | ||
4649 | PR rtl-optimization/26345 | |
4650 | PR target/19061 | |
4651 | * config/ia64/predicates.md (basereg_operand): Don't look in subregs. | |
4652 | ||
9a75ede0 RS |
4653 | 2006-03-03 Roger Sayle <roger@eyesopen.com> |
4654 | ||
4655 | PR tree-optimization/26524 | |
4656 | * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use | |
4657 | fold_convert to create a constant of the appropriate type. | |
4658 | ||
3fa9c136 RS |
4659 | 2006-03-03 Richard Sandiford <richard@codesourcery.com> |
4660 | ||
4661 | * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
4662 | SYMBOL_REF_IN_BLOCK_P. | |
4663 | * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead | |
4664 | of SYMBOL_FLAG_IN_BLOCK. | |
4665 | * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P | |
4666 | instead of SYMBOL_REF_IN_BLOCK_P. | |
4667 | * explow.c (use_anchored_address): Likewise. | |
4668 | * rtl.c (rtx_size): Likewise. | |
4669 | * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO | |
4670 | instead of SYMBOL_FLAG_IN_BLOCK. | |
4671 | (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
4672 | SYMBOL_REF_IN_BLOCK_P. | |
4673 | (assemble_variable): Likewise. | |
4674 | (output_constant_def_contents): Likewise. | |
4675 | (output_constant_pool): Likewise. | |
4676 | (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO | |
4677 | instead of SYMBOL_FLAG_IN_BLOCK. | |
4678 | * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
4679 | SYMBOL_REF_IN_BLOCK_P. | |
4680 | (SYMBOL_REF_BLOCK): Likewise. | |
4681 | (SYMBOL_REF_OFFSET): Likewise. | |
4682 | (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
4683 | SYMBOL_REF_IN_BLOCK_P. | |
4684 | (SYMBOL_FLAG_IN_BLOCK): Replace with... | |
4685 | (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this. | |
4686 | (SYMBOL_REF_IN_BLOCK_P): Replace with... | |
4687 | (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this. | |
4688 | ||
f677599e JJ |
4689 | 2006-03-03 Jakub Jelinek <jakub@redhat.com> |
4690 | ||
4691 | * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto. | |
4692 | ||
0f2f71b5 RS |
4693 | 2006-03-02 Roger Sayle <roger@eyesopen.com> |
4694 | ||
4695 | * simplify-rtx.c (simplify_unary_operation): When simplifying | |
4696 | (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure | |
4697 | that we perform the right shift in the appropriate mode, and | |
4698 | then extend or truncate the result to requested mode. | |
4699 | ||
f82783bd ZD |
4700 | 2006-03-03 Zdenek Dvorak <dvorakz@suse.cz> |
4701 | ||
4702 | * gengtype.c (main): Handle double_int type. | |
4703 | * tree.h (struct tree_int_cst): Make type of int_cst double_int. | |
4704 | * double-int.c: New file. | |
4705 | * double-int.h: New file. | |
4706 | * system.h: Include doubleint.h. | |
4707 | * Makefile.in (SYSTEM_H): Include double-int.h. | |
4708 | (double-int.o): Add. | |
4709 | ||
778f0e89 JM |
4710 | 2006-03-03 Joseph S. Myers <joseph@codesourcery.com> |
4711 | ||
4712 | PR bootstrap/26478 | |
4713 | * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before | |
4714 | copying over it. | |
4715 | ||
701b8964 ZD |
4716 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> |
4717 | ||
0f2f71b5 RS |
4718 | * tree-vrp.c (remove_range_assertions): Do not update statements |
4719 | unnecessarily. | |
701b8964 | 4720 | |
59994160 ZD |
4721 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> |
4722 | ||
4723 | * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg | |
4724 | cleanup. | |
4725 | * gcse.c (rest_of_handle_gcse): Ditto. | |
4726 | * except.c (gate_handle_eh): Ditto. | |
4727 | * cfgcleanup.c (rest_of_handle_jump2): Ditto. | |
4728 | * basic-block.h (CLEANUP_PRE_LOOP): Remove. | |
4729 | ||
5143b5fc EC |
4730 | 2006-03-02 Eric Christopher <echristo@apple.com> |
4731 | ||
4732 | * config/i386/i386.c (machopic_output_stub): Add indirection to | |
4733 | jump. | |
4734 | ||
c6ba18c6 ZD |
4735 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> |
4736 | ||
4737 | * loop.c: Removed. | |
4738 | ||
4c837a1e DM |
4739 | 2006-03-02 David S. Miller <davem@sunset.davemloft.net> |
4740 | ||
4741 | Sun Niagara specific optimizations. | |
4742 | * config.gcc: Recognize niagara as target. | |
4743 | * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara. | |
4744 | (TARGET_CPU_niagara): Define. | |
4745 | (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara. | |
4746 | (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara. | |
4747 | (CPP_CPU_SPEC): Handle -mcpu=niagara. | |
4748 | (ASM_CPU_SPEC): Likewise. | |
4749 | (PROCESSOR_NIAGARA): New enum entry. | |
4750 | (REGISTER_MOVE_COST): Handle Niagara. | |
4751 | (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise. | |
4752 | * config/sparc/sparc.c (niagara_costs): New processor_costs entry. | |
4753 | (sparc_override_options): Recognize "niagara", set appropriate | |
4754 | default MASK_* values for it, and align functions to 32-bytes | |
4755 | by default just like ULTRASPARC/ULTRASPARC3. | |
4756 | (sparc_initialize_trampoline): Handle niagara like ultrasparc. | |
4757 | (sparc64_initialize_trampoline): Likewise. | |
4758 | (sparc_use_sched_lookahead): Use zero for niagara. | |
4759 | (sparc_issue_rate): Use one for niagara. | |
4760 | * config/sparc/niagara.md: New file. | |
4761 | * config/sparc/sparc.md: Include it. | |
4762 | * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC, | |
4763 | ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately | |
4764 | when default cpu is niagara. | |
4765 | (CPP_CPU_SPEC): Handle -mcpu=niagara. | |
4766 | (ASM_CPU_SPEC): Likewise. | |
4767 | * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately | |
4768 | when default cpu is niagara. | |
4769 | (ASM_CPU_SPEC): Handle -mcpu=niagara. | |
4770 | * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara | |
4771 | just like v9/ultrasparc/ultrasparc3. | |
4772 | * doc/invoke.texi: Add documentation for "niagara" and improve | |
4773 | existing documentation for ultrasparc variants. | |
5143b5fc | 4774 | |
2434ab1d DN |
4775 | 2006-03-02 Diego Novillo <dnovillo@redhat.com> |
4776 | ||
4777 | * tree-ssa-operands.c (update_stmt_operands): Update documentation. | |
4778 | ||
434aeebb RS |
4779 | 2006-03-02 Richard Sandiford <richard@codesourcery.com> |
4780 | ||
4781 | * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document. | |
4782 | (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS, | |
4783 | and say that only one is needed. | |
4784 | * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null. | |
4785 | * target.h (have_switchable_bss_sections): New hook. | |
4786 | * explow.c (use_anchored_address): Check that the symbol is in a block. | |
4787 | * varasm.c (tls_comm_section, comm_section, lcomm_section) | |
4788 | (bss_noswitch_section): New variables. | |
4789 | (get_unnamed_section): Add SECTION_UNNAMED to the flags. | |
4790 | (get_noswitch_section): New function. | |
4791 | (get_block_for_section): Allow SECT to be null. | |
4792 | (unlikely_text_section_p): Use SECTION_STYLE. | |
4793 | (bss_initializer_p): New function. | |
4794 | (get_variable_section): Move earlier in file. Take a new argument, | |
4795 | prefer_noswitch_p. Move bss checks from assemble_variable to here. | |
4796 | Return one of the new *_sections in such cases. | |
4797 | (get_block_for_decl): New function, extracting some logic from | |
4798 | use_blocks_for_decl_p. | |
4799 | (change_symbol_section): Remove in favor of... | |
4800 | (change_symbol_block): ...this new function. | |
4801 | (use_blocks_for_decl_p): Remove checks now performed by | |
4802 | get_block_for_decl. | |
4803 | (make_decl_rtl): Use change_symbol_block and get_block_for_decl. | |
4804 | (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of... | |
4805 | (emit_local, emit_bss, emit_common): ...these new functions. | |
4806 | Return true if the alignment was honored. | |
4807 | (emit_tls_common): New function. | |
4808 | (asm_emit_uninitialised): Delete. | |
4809 | (assemble_variable_noswitch): New function, split out from... | |
4810 | (assemble_variable): ...here. Don't make decisions about common | |
4811 | variables here. Globalize all public decls that go into non-common | |
4812 | sections. Check whether SYMBOL_REF_BLOCK is null. | |
4813 | (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null. | |
4814 | (output_constant_pool): Likewise. | |
4815 | (init_varasm_once): Initialize the new section variables. | |
4816 | (have_global_bss_p): New function. | |
4817 | (categorize_decl_for_section): Use bss_initializer_p. | |
4818 | (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH. | |
4819 | (place_block_symbol): Assert that the symbol must be in a block. | |
4820 | * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro. | |
4821 | (TARGET_INITIALIZER): Include it. | |
4822 | * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative. | |
4823 | * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros. | |
4824 | (SECTION_MACH_DEP): Bump by two. | |
4825 | (SECTION_UNNAMED, SECTION_NOSWITCH): New macros. | |
4826 | (unnamed_section): Mention SECTION_UNNAMED in comment. | |
4827 | (named_section): Likewise SECTION_NAMED. | |
4828 | (noswitch_section_callback): New type. | |
4829 | (noswitch_section): New structure. | |
4830 | (section): Add a noswitch_section alternative. | |
4831 | (SECTION_STYLE): New macro. | |
4832 | (tls_comm_section, comm_section, lcomm_section): Declare. | |
4833 | (bss_noswitch_section, have_global_bss_p): Declare. | |
4834 | * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. | |
4835 | * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): | |
4836 | Override. | |
4837 | * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. | |
4838 | * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): | |
4839 | Override. | |
4840 | ||
c2924966 DB |
4841 | 2006-03-02 Daniel Berlin <dberlin@dberlin.org> |
4842 | ||
a1d1988f MS |
4843 | * tree-vrp.c (execute_vrp): Return value. |
4844 | * regrename.c (rest_of_handle_regrename): Ditto. | |
4845 | * tree-into-ssa.c (rewrite_into_ssa): Ditto. | |
4846 | * tree-complex.c (tree_lower_complex): Ditto. | |
c2924966 | 4847 | (tree_lower_complex_O0): Ditto. |
a1d1988f MS |
4848 | * tracer.c (rest_of_handle_tracer): Ditto. |
4849 | * postreload-gcse.c (rest_of_handle_gcse2): Ditto. | |
4850 | * postreload.c (rest_of_handle_postreload): Ditto. | |
4851 | * tree-tailcall.c (execute_tail_recursion): Ditto. | |
c2924966 | 4852 | (execute_tail_calls): Ditto. |
a1d1988f MS |
4853 | * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. |
4854 | * tree.h (init_function_for_compilation): Ditto. | |
4855 | * ipa-cp.c (ipcp_driver): Ditto. | |
4856 | * tree-scalar-evolution.c (scev_const_prop): Ditto. | |
4857 | * tree-scalar-evolution.h (scev_const_prop): Ditto. | |
4858 | * final.c (compute_alignments): Ditto. | |
c2924966 DB |
4859 | (rest_of_handle_final): Ditto. |
4860 | (rest_of_handle_shorten_branches): Ditto. | |
4861 | (rest_of_clean_state): Ditto. | |
a1d1988f | 4862 | * omp-low.c (execute_expand_omp): Ditto. |
c2924966 | 4863 | (execute_lower_omp): Ditto. |
a1d1988f MS |
4864 | * tree-ssa-dse.c (tree_ssa_dse): Ditto. |
4865 | * ipa-reference.c (static_execute): Ditto. | |
4866 | * tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto. | |
4867 | * reorg.c (rest_of_handle_delay_slots): Ditto. | |
c2924966 | 4868 | (rest_of_handle_machine_reorg): Ditto. |
a1d1988f MS |
4869 | * cgraphunit.c (rebuild_cgraph_edges): Ditto. |
4870 | * flow.c (recompute_reg_usage): Ditto. | |
c2924966 DB |
4871 | (rest_of_handle_remove_death_notes): Ditto. |
4872 | (rest_of_handle_life): Ditto. | |
4873 | (rest_of_handle_flow2): Ditto. | |
a1d1988f MS |
4874 | * tree-ssa-copyrename.c (rename_ssa_copies): Ditto. |
4875 | * tree-ssa-ccp.c (do_ssa_ccp): Ditto. | |
c2924966 DB |
4876 | (do_ssa_store_ccp): Ditto. |
4877 | (execute_fold_all_builtins): Ditto. | |
a1d1988f MS |
4878 | * mode-switching.c (rest_of_handle_mode_switching): Ditto. |
4879 | * modulo-sched.c (rest_of_handle_sms): Ditto. | |
4880 | * ipa-pure-const.c (static_execute): Ditto. | |
4881 | * cse.c (rest_of_handle_cse): Ditto. | |
c2924966 | 4882 | (rest_of_handle_cse2): Ditto. |
a1d1988f MS |
4883 | * web.c (rest_of_handle_web): Ditto. |
4884 | * tree-stdarg.c (execute_optimize_stdarg): Ditto. | |
4885 | * tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto. | |
4886 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto. | |
4887 | * tree-nrv.c (tree_nrv): Ditto. | |
c2924966 | 4888 | (execute_return_slot_opt): Ditto. |
a1d1988f | 4889 | * tree-ssa-alias.c (compute_may_aliases): Ditto. |
c2924966 | 4890 | (create_structure_vars): Ditto. |
a1d1988f | 4891 | * loop-init.c (rtl_loop_init): Ditto. |
c2924966 DB |
4892 | (rtl_loop_done): Ditto. |
4893 | (rtl_move_loop_invariants): Ditto. | |
4894 | (rtl_unswitch): Ditto. | |
4895 | (rtl_unroll_and_peel_loops): Ditto. | |
4896 | (rtl_doloop): Ditto. | |
a1d1988f | 4897 | * gimple-low.c (lower_function_body): Ditto. |
c2924966 | 4898 | (mark_used_blocks): Ditto. |
a1d1988f MS |
4899 | * tree-ssa-sink.c (execute_sink_code): Ditto. |
4900 | * ipa-inline.c (cgraph_decide_inlining): Ditto. | |
c2924966 | 4901 | (cgraph_early_inlining): Ditto. |
a1d1988f MS |
4902 | * global.c (rest_of_handle_global_alloc): Ditto. |
4903 | * jump.c (cleanup_barriers): Ditto. | |
c2924966 | 4904 | (purge_line_number_notes): Ditto. |
a1d1988f | 4905 | * ifcvt.c (rest_of_handle_if_conversion): Ditto. |
c2924966 | 4906 | (rest_of_handle_if_after_reload): Ditto. |
a1d1988f | 4907 | * tree-ssa-loop.c (tree_ssa_loop_init): Ditto. |
c2924966 DB |
4908 | (tree_ssa_loop_im): Ditto. |
4909 | (tree_ssa_loop_unswitch): Ditto. | |
4910 | (tree_vectorize): Ditto. | |
4911 | (tree_linear_transform): Ditto. | |
4912 | (tree_ssa_loop_ivcanon): Ditto. | |
4913 | (tree_ssa_empty_loop): Ditto. | |
4914 | (tree_ssa_loop_bounds): Ditto. | |
4915 | (tree_complete_unroll): Ditto. | |
4916 | (tree_ssa_loop_prefetch): Ditto. | |
4917 | (tree_ssa_loop_ivopts): Ditto. | |
4918 | (tree_ssa_loop_done): Ditto. | |
a1d1988f MS |
4919 | * predict.c (tree_estimate_probability): Ditto. |
4920 | * recog.c (split_all_insns_noflow): Ditto. | |
c2924966 DB |
4921 | (rest_of_handle_peephole2): Ditto. |
4922 | (rest_of_handle_split_all_insns): Ditto. | |
a1d1988f MS |
4923 | * tree-eh.c (lower_eh_constructs): Ditto. |
4924 | * regmove.c (rest_of_handle_regmove): Ditto. | |
c2924966 | 4925 | (rest_of_handle_stack_adjustments): Ditto. |
a1d1988f MS |
4926 | * local-alloc.c (rest_of_handle_local_alloc): Ditto. |
4927 | * function.c (instantiate_virtual_regs): Ditto. | |
c2924966 DB |
4928 | (init_function_for_compilation): Ditto. |
4929 | (rest_of_handle_check_leaf_regs): Ditto. | |
a1d1988f | 4930 | * gcse.c (rest_of_handle_jump_bypass): Ditto. |
c2924966 | 4931 | (rest_of_handle_gcse): Ditto. |
a1d1988f MS |
4932 | * ipa-type-escape.c (type_escape_execute): Ditto. |
4933 | * alias.c (rest_of_handle_cfg): Ditto. | |
4934 | * tree-if-conv.c (main_tree_if_conversion): Ditto. | |
4935 | * profile.c (rest_of_handle_branch_prob): Ditto. | |
4936 | * tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto. | |
4937 | * rtl-factoring.c (rest_of_rtl_seqabstr): Ditto. | |
4938 | * bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto | |
4939 | * tree-dfa.c (find_referenced_vars): Ditto. | |
4940 | * except.c (set_nothrow_function_flags): Ditto. | |
c2924966 DB |
4941 | (convert_to_eh_region_ranges): Ditto. |
4942 | (rest_of_handle_eh): Ditto. | |
a1d1988f | 4943 | * emit-rtl.c (unshare_all_rtl): Ditto. |
c2924966 | 4944 | (remove_unnecessary_notes): Ditto. |
a1d1988f | 4945 | * except.h (set_nothrow_function_flags): Ditto. |
c2924966 | 4946 | (convert_to_eh_region_ranges): Ditto. |
a1d1988f MS |
4947 | * cfgexpand.c (tree_expand_cfg): Ditto. |
4948 | * tree-cfgcleanup.c (merge_phi_nodes): Ditto. | |
4949 | * tree-ssa-pre.c (do_pre): Ditto. | |
c2924966 | 4950 | (execute_fre): Ditto. |
a1d1988f | 4951 | * cfgcleanup.c (rest_of_handle_jump): Ditto. |
c2924966 | 4952 | (rest_of_handle_jump2): Ditto. |
a1d1988f MS |
4953 | * tree-sra.c (tree_sra): Ditto. |
4954 | * tree-mudflap.c (execute_mudflap_function_ops): Ditto. | |
c2924966 | 4955 | (execute_mudflap_function_decls): Ditto. |
a1d1988f | 4956 | * tree-ssa-copy.c (do_copy_prop): Ditto. |
c2924966 | 4957 | (do_store_copy_prop): Ditto. |
a1d1988f MS |
4958 | * ipa-prop.h (ipcp_driver): Ditto. |
4959 | * cfglayout.c (insn_locators_initialize): Ditto. | |
4960 | * tree-ssa-forwprop.c | |
c2924966 | 4961 | (tree_ssa_forward_propagate_single_use_vars): Ditto. |
a1d1988f MS |
4962 | * cfglayout.h (insn_locators_initialize): Ditto. |
4963 | * tree-ssa-dce.c (tree_ssa_dce): Ditto. | |
4964 | * tree-ssa.c (execute_early_warn_uninitialized): Ditto. | |
c2924966 | 4965 | (execute_late_warn_uninitialized): Ditto. |
a1d1988f | 4966 | * rtl.h (cleanup_barriers): Ditto. |
c2924966 DB |
4967 | (split_all_insns_noflow): Ditto. |
4968 | (purge_line_number_notes): Ditto. | |
4969 | (unshare_all_rtl): Ditto. | |
4970 | (remove_unnecessary_notes): Ditto. | |
4971 | (recompute_reg_usage): Ditto. | |
4972 | (variable_tracking_main): Ditto. | |
a1d1988f MS |
4973 | * integrate.c (emit_initial_value_sets): Ditto. |
4974 | * integrate.h (emit_initial_value_sets): Ditto. | |
4975 | * tree-optimize.c (execute_free_datastructures): Ditto | |
c2924966 DB |
4976 | (execute_free_cfg_annotations): Ditto. |
4977 | (execute_fixup_cfg): Ditto. | |
4978 | (execute_cleanup_cfg_pre_ipa): Ditto. | |
4979 | (execute_cleanup_cfg_post_optimizing): Ditto. | |
4980 | (execute_init_datastructures): Ditto. | |
a1d1988f MS |
4981 | * tree-object-size.c (compute_object_sizes): Ditto. |
4982 | * combine.c (rest_of_handle_combine): Ditto. | |
4983 | * tree-outof-ssa.c (rewrite_out_of_ssa): Ditto. | |
4984 | * bb-reorder.c (duplicate_computed_gotos): Ditto. | |
c2924966 DB |
4985 | (rest_of_handle_reorder_blocks): Ditto. |
4986 | (rest_of_handle_partition_blocks): Ditto. | |
a1d1988f MS |
4987 | * var-tracking.c (variable_tracking_main): Ditto. |
4988 | * tree-profile.c (tree_profiling): Ditto. | |
4989 | * tree-vect-generic.c (expand_vector_operations): Ditto. | |
4990 | * reg-stack.c (rest_of_handle_stack_regs): Ditto. | |
4991 | * sched-rgn.c (rest_of_handle_sched): Ditto. | |
c2924966 | 4992 | (rest_of_handle_sched2): Ditto. |
a1d1988f MS |
4993 | * basic-block.h (free_bb_insn): Ditto. |
4994 | * tree-ssa-structalias.c (ipa_pta_execute): Ditto. | |
4995 | * tree-cfg.c (execute_build_cfg): Ditto. | |
c2924966 DB |
4996 | (remove_useless_stmts): Ditto. |
4997 | (split_critical_edges): Ditto. | |
4998 | (execute_warn_function_return): Ditto. | |
4999 | (execute_warn_function_noreturn): Ditto. | |
a1d1988f MS |
5000 | * tree-ssa-reassoc.c (execute_reassoc): Ditto. |
5001 | * cfgrtl.c (free_bb_for_insn): Ditto. | |
5002 | * passes.c (execute_one_pass): Run additional | |
c2924966 | 5003 | todos returned by execute function. |
a1d1988f | 5004 | * tree-pass.h (struct tree_opt_pass): Make execute |
c2924966 DB |
5005 | return a value. |
5006 | ||
62c577fd RG |
5007 | 2006-03-02 Richard Guenther <rguenther@suse.de> |
5008 | ||
5009 | * tree-ssa-alias.c (find_used_portions): Consider taking | |
5010 | the address as making the variable not write-only. | |
5011 | ||
c5dde55b NC |
5012 | 2006-03-02 Nick Clifton <nickc@redhat.com> |
5013 | ||
5014 | * config.gcc (default_use_cxa_atexit): Extend the description of | |
5015 | this configure variable. Set its default value to "yes" for | |
5016 | Linux, NetBSD and ELF targets on the assumption that they will | |
5017 | use C libraries with the __cxa_atexit function. | |
5018 | ||
75334508 BE |
5019 | 2006-03-02 Ben Elliston <bje@au.ibm.com> |
5020 | ||
5021 | * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs' | |
5022 | parameter as unused to suppress a build warning. | |
5023 | ||
16c44183 BE |
5024 | 2006-03-02 Ben Elliston <bje@au.ibm.com> |
5025 | ||
5026 | * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile | |
5027 | config/dfp-bit.c. | |
5028 | ||
a11dd268 RS |
5029 | 2006-03-01 Roger Sayle <roger@eyesopen.com> |
5030 | ||
5031 | PR other/26489 | |
5032 | * gthr-posix.h (__gthrw2): Define to take three parameters, the | |
5033 | declared name, the weak reference name, and the typeof name. | |
5034 | (__gthrw): Avoid expanding the declared name suffix. | |
5035 | (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls. | |
5036 | ||
d213accd JJ |
5037 | 2006-03-01 Jakub Jelinek <jakub@redhat.com> |
5038 | ||
5039 | * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants | |
5040 | from DWARF 3. | |
5041 | (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale, | |
5042 | DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count, | |
5043 | DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled, | |
5044 | DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity, | |
5045 | DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New. | |
5046 | (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New. | |
5047 | (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited, | |
5048 | DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New. | |
5049 | (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch, | |
5050 | DW_DS_leading_separate, DW_DS_trailing_separate): New. | |
5051 | (DW_END_default, DW_END_big, DW_END_little): New. | |
5052 | (DW_END_lo_user, DW_END_hi_user): Define. | |
5053 | (DW_LNE_lo_user, DW_LNE_hi_user): Define. | |
5054 | (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New. | |
5055 | (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC, | |
5056 | DW_LANG_D): New. | |
5057 | ||
18cd8a03 DN |
5058 | 2006-03-01 Diego Novillo <dnovillo@redhat.com> |
5059 | ||
5060 | * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG. | |
5061 | Update all users. | |
5062 | * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage. | |
5063 | Update all users. | |
5064 | (TODO_update_smt_usage): Rename from TODO_update_tmt_usage. | |
5065 | Update all users. | |
5066 | * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE. | |
5067 | Update all users. | |
5068 | * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag' | |
5069 | to 'symbol_mem_tag'. | |
5070 | Update all users. | |
5071 | * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT | |
5072 | rename. | |
5073 | ||
8acb1b3d RS |
5074 | 2006-03-01 Roger Sayle <roger@eyesopen.com> |
5075 | ||
5076 | * builtins.c (fold_builtin_copysign): Delete unreachable code. | |
5077 | ||
c446d1a7 AP |
5078 | 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> |
5079 | ||
5080 | PR target/25761 | |
5081 | * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just | |
5082 | MACHO_DYNAMIC_NO_PIC_P. | |
5083 | (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P. | |
5084 | ||
ab0ff804 AP |
5085 | 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> |
5086 | ||
5087 | PR target/26389 | |
5088 | * config/darwin-protos.h (darwin_asm_output_anchor): | |
5089 | Declare. | |
5090 | * config/darwin-sections.def (cstring_section): | |
5091 | Add SECTION_MERGE to the flags. | |
5092 | (literal4_section): Likewise. | |
5093 | (literal8_section): Likewise. | |
5094 | (objc_selector_refs_section): Likewise. | |
5095 | (objc_cls_refs_section): Likewise. | |
5096 | * config/darwin.c (darwin_asm_output_anchor): New | |
5097 | function. | |
5098 | * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define. | |
5099 | ||
607f460c | 5100 | 2006-03-01 Daniel Berlin <dberlin@dberlin.org> |
18cd8a03 | 5101 | |
607f460c DB |
5102 | Fix PR tree-optimization/26443 |
5103 | * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage | |
5104 | to todo and PROP_tmt_usage to properties_destroyed. | |
5105 | * tree-ssa-ccp.c (pass_ccp): Ditto. | |
5106 | (pass_store_ccp): Ditto. | |
5107 | * tree-ssa-dom.c (pass_dominator): Ditto. | |
5108 | ||
02075bb2 DN |
5109 | 2006-03-01 Diego Novillo <dnovillo@redhat.com> |
5110 | ||
5111 | * tree-ssa-operands.c: Cleanup whitespace. | |
5112 | (get_asm_expr_operands): Move before first invocation. | |
5113 | (get_indirect_ref_operands): Likewise. | |
5114 | (get_tmr_operands): Likewise. | |
5115 | (get_call_expr_operands): Likewise. | |
5116 | (append_def): Likewise. | |
5117 | (append_use): Likewise. | |
5118 | (append_v_may_def): Likewise. | |
5119 | (append_v_must_def): Likewise. | |
5120 | (add_call_clobber_ops): Likewise. | |
5121 | (add_call_read_ops): Likewise. | |
5122 | (add_stmt_operand): Likewise. | |
5123 | (add_virtual_operand): Likewise. | |
5124 | (build_ssa_operands): Likewise. | |
5125 | ||
5126 | 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> | |
1809ff6b AP |
5127 | |
5128 | PR middle-end/26022 | |
5129 | Revert: | |
5130 | PR middle-end/24437 | |
5131 | * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF | |
5132 | with a call expr to ... | |
5133 | * fold-const.c (fold_ternary) <case CALL_EXPR>: Here. | |
5134 | ||
6578c101 DN |
5135 | 2006-03-01 Diego Novillo <dnovillo@redhat.com> |
5136 | ||
5137 | * tree-vrp.c (extract_range_from_assert): Remove special | |
5138 | handling for types with super-types. | |
5139 | ||
0eafb3ec BE |
5140 | 2006-03-01 Ben Elliston <bje@au.ibm.com> |
5141 | ||
ec09c26e BE |
5142 | * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux* |
5143 | and powerpc64-*-linux* configurations. | |
5144 | * config/t-dfprules: New file. | |
5145 | ||
0eafb3ec BE |
5146 | * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS. |
5147 | Compile dfp-bit.c from the source directory using -DWIDTH and | |
5148 | $DFP_CFLAGS to control the compilation of that file, rather than | |
5149 | generating width-specific versions in the build directory. | |
5150 | * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS. | |
5151 | (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc]. | |
5152 | ||
cccb0908 ZW |
5153 | 2006-02-28 Zack Weinberg <zackw@panix.com> |
5154 | ||
5155 | * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7 | |
5156 | continues to work. | |
5157 | ||
31abac07 EC |
5158 | 2006-02-28 Eric Christopher <echristo@apple.com> |
5159 | ||
5160 | * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define. | |
5161 | Set up IN_LIBGCC definition of TARGET_64BIT. | |
5162 | * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define. | |
5163 | ||
c457fcec RS |
5164 | 2006-02-28 Roger Sayle <roger@eyesopen.com> |
5165 | ||
5166 | PR middle-end/14752 | |
5167 | * c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR, | |
5168 | BIT_XOR_EXPR, BIT_AND_EXPR>: Delete. Let fold optimize these | |
5169 | cases via the construction of "expr != 0". | |
5170 | ||
63292ebf SB |
5171 | 2006-02-28 Steven Bosscher <stevenb.gcc@gmail.com> |
5172 | ||
5173 | * alias.c (alias_invariant, alias_invariant_size): Remove. | |
5174 | (record_base_value): Remove. | |
5175 | (memrefs_conflict_p): Don't look at alias_invariant. | |
5176 | (end_alias_analysis): Don't free it. | |
5177 | * alias.h (record_base_value): Remove prototype. | |
5178 | ||
d3b72690 PB |
5179 | 2006-02-28 Paolo Bonzini <bonzini@gnu.org> |
5180 | Adam Nemet <anemet@caviumnetworks.com> | |
5181 | ||
5182 | * rtl.h (truncated_to_mode): Declare it. | |
5183 | (struct rtl_hooks): Add reg_truncated_to_mode hook. | |
5184 | * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro. | |
5185 | (RTL_HOOKS_INITIALIZER): Include it. | |
5186 | * rtlhooks.c (reg_truncated_to_mode_general): New function. | |
5187 | * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to | |
5188 | reg_truncated_to_mode. | |
5189 | * rtlanal.c (truncated_to_mode): Define it. | |
5190 | * simplify-rtx.c (simplify_unary_operation_1): Use it. | |
5191 | ||
ea45681a JL |
5192 | 2006-02-28 Jeff Law <law@redhat.com> |
5193 | ||
e5c7f9f5 JL |
5194 | * tree-chrec.c (chrec_convert_aggressive): Do not eliminate |
5195 | conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover | |
5196 | the range allowed by TYPE_PRECISION. | |
5197 | ||
ea45681a JL |
5198 | * tree.h (strct phi_arg_d): Remove unused NONZERO field. |
5199 | ||
7ffe0f0d DN |
5200 | 2006-02-28 Dorit Nuzman <dorit@il.ibm.com> |
5201 | ||
5202 | PR tree-optimization/26419 | |
5203 | * doc/invoke.texi (ftree-vectorizer-verbose): Add information on | |
5204 | values of n. | |
5205 | ||
3fa1b0e5 ZW |
5206 | 2006-02-27 Zack Weinberg <zackw@panix.com> |
5207 | ||
5208 | * doc/md.texi: Fix typo in previous change. | |
5209 | ||
75743f02 KZ |
5210 | 2006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com> |
5211 | ||
5212 | * df.c: Remove. | |
5213 | ||
f38840db ZW |
5214 | 2006-02-27 Zack Weinberg <zackw@panix.com> |
5215 | ||
5216 | * rtl.def (define_constraint, define_register_constraint) | |
5217 | (define_memory_constraint, define_address_constraint): New MD forms. | |
5218 | * gensupport.c (process_rtx): Put define_constraint etc on the | |
5219 | predicate queue. | |
5220 | * genpreds.c (process_define_predicate): Adjust comment. Validate | |
5221 | the name, and call validate_exp to validate the expression. | |
5222 | (mark_mode_tests, write_extract_subexp): Can assume correct input. | |
5223 | (write_predicate_expr): Likewise. NAME argument no longer necessary; | |
5224 | all callers changed. | |
5225 | (validate_exp, needs_variable, struct constraint_data) | |
5226 | (constraints_by_letter_table, first_constraint, last_constraint_ptr) | |
5227 | (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints) | |
5228 | (const_dbl_constraints, constraint_max_namelen) | |
5229 | (have_register_constraints, have_memory_constraints) | |
5230 | (have_address_constraints, have_address_constraints) | |
5231 | (have_extra_constraints, have_const_int_constraints) | |
5232 | (have_const_dbl_constraints, mangle, add_constraint) | |
5233 | (process_define_constraint, process_define_register_constraint) | |
5234 | (write_enum_constraint_num, write_lookup_constraint) | |
5235 | (write_insn_constraint_len, write_regclass_for_constraint) | |
5236 | (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint) | |
5237 | (write_insn_extra_memory_constraint) | |
5238 | (write_insn_extra_address_constraint) | |
5239 | (write_satisfies_constraint_fns): New. | |
5240 | (write_tm_preds_h): If we have new-style constraint definitions, | |
5241 | prototype the functions generated from them, and define the | |
5242 | old constraint interface (still used by generic code) in terms of | |
5243 | those functions. | |
5244 | (write_insn_preds_c): If we have new-style constraint definitions, | |
5245 | generate all relevant functions from those definitions. | |
5246 | (main): Handle define_constraint etc. | |
5247 | * genoutput.c (struct constraint_data, indep_constraints) | |
5248 | (mdep_constraint_letters, constraints_by_letter_table, note_constraint) | |
5249 | (mdep_constraint_len): New data structures and functions, defined | |
5250 | #ifdef USE_MD_CONSTRAINTS. | |
5251 | (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS. | |
5252 | (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined, | |
5253 | use new logic to validate operand constraints against constraint | |
5254 | definitions. | |
5255 | (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is | |
5256 | defined. | |
5257 | * defaults.h: If none of the old-style constraint macros are | |
5258 | defined, define USE_MD_CONSTRAINTS; do not provide defaults for any | |
5259 | old-style macros; and poison REG_CLASS_FROM_LETTER, | |
5260 | CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and | |
5261 | EXTRA_CONSTRAINT. | |
5262 | * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately. | |
5263 | * doc/md.texi: Document new constraint-definition mechanism and the | |
5264 | C interface it provides. Remove references to old mechanism | |
5265 | elsewhere in the document. | |
5266 | (Machine Constraints): Use pathnames relative to gcc directory, | |
5267 | i.e. config/ARCH/FILE. Change i386 section to refer to | |
5268 | config/i386/predicates.md; update that section to match docstrings. | |
5269 | * doc/tm.texi: Move all documentation of the old constraint- | |
5270 | definition macros to their own section, clearly mark as obsolete. | |
5271 | ||
5272 | * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t) | |
5273 | (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint | |
5274 | definitions. | |
5275 | * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P) | |
5276 | (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete. | |
5277 | * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from | |
5278 | constraint strings. | |
5279 | (splits and peepholes): Use satisfies_constraint_*. | |
5280 | * config/i386/i386.c (memory_address_length) | |
5281 | (ix86_attr_length_immediate_default): Use satisfies_constraint_*. | |
5282 | ||
e3e868f6 DB |
5283 | 2006-02-27 Daniel Berlin <dberlin@dberlin.org> |
5284 | ||
5285 | * lambda-code.c (can_convert_to_perfect_nest): Allow any type of | |
5286 | scalar operation to be put back into the loop. | |
5287 | ||
754e45a8 JJ |
5288 | 2006-02-27 Jakub Jelinek <jakub@redhat.com> |
5289 | ||
5290 | PR other/26208 | |
5291 | * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field. | |
5292 | (extract_cie_info): Handle S flag in augmentation string. | |
5293 | (execute_cfa_program): If context->signal_frame, execute also | |
5294 | fs->pc == context->ra instructions. | |
5295 | (uw_frame_state_for): If context->signal_frame, don't subtract one | |
5296 | from context->ra to find FDE. | |
5297 | (uw_update_context_1): Set context->signal_frame to | |
5298 | fs->signal_frame. | |
5299 | (_Unwind_GetIPInfo): New function. | |
5300 | * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field. | |
5301 | * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead | |
5302 | of _Unwind_GetIP. | |
5303 | * unwind-sjlj.c (_Unwind_GetIPInfo): New function. | |
5304 | * unwind-generic.h (_Unwind_GetIPInfo): New prototype. | |
5305 | * unwind-compat.c (_Unwind_GetIPInfo): New function. | |
5306 | * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0. | |
5307 | * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function. | |
5308 | * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define. | |
5309 | * config/i386/linux-unwind.h (x86_fallback_frame_state, | |
5310 | x86_64_fallback_frame_state): Set fs->signal_frame. | |
5311 | * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise. | |
5312 | (MD_FROB_UPDATE_CONTEXT): Define unconditionally. | |
5313 | (frob_update_context): Likewise. Workaround missing S flag in | |
5314 | Linux 2.6.12 - 2.6.16 kernel vDSOs. | |
5315 | * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise. | |
5316 | Remove the psw_addr + 1 hack. | |
5317 | ||
6df11ca1 DB |
5318 | 2006-02-27 Daniel Berlin <dberlin@dberlin.org> |
5319 | ||
5320 | * tree-ssa-structalias.c (get_constraint_for): Move code to deal | |
5321 | with aggregates here. | |
5322 | (find_func_aliases): Remove code for &<aggregate> from here. | |
5323 | ||
5881ad5d RS |
5324 | 2006-02-26 Roger Sayle <roger@eyesopen.com> |
5325 | ||
e8366202 | 5326 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as |
5881ad5d RS |
5327 | (X & C) ne/eq 0, where C is a single bit, i.e. a power of two. |
5328 | Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0" | |
5329 | as (X & C) ne/eq 0. | |
5330 | ||
53f1b560 RS |
5331 | 2006-02-26 Roger Sayle <roger@eyesopen.com> |
5332 | ||
5333 | PR middle-end/19983 | |
5334 | * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes. | |
5335 | ||
efa1cdf0 ZD |
5336 | 2006-02-26 Zdenek Dvorak <dvorakz@suse.cz> |
5337 | ||
5338 | * opts.c (decode_options): Do not handle flag_strength_reduce. | |
5339 | (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt | |
5340 | and OPT_fstrength_reduce. | |
5341 | * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test | |
5342 | flag_prefetch_loop_arrays for being nonzero. | |
5343 | * common.opt (floop-optimize, frerun-loop-opt): Resurrected as | |
5344 | no-ops. | |
5345 | (fprefetch-loop-arrays-rtl): Removed. | |
5346 | (flag_prefetch_loop_arrays): Do not specify the value. | |
5347 | ||
5348 | * doc/passes.texi: Update documentation of loop optimizer | |
5349 | passes. | |
5350 | * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl, | |
5351 | -frerun-loop-opt): Remove. | |
5352 | ||
651402f1 RG |
5353 | 2006-02-26 Richard Guenther <rguenther@suse.de> |
5354 | ||
5355 | PR tree-optimization/26421 | |
5356 | * tree-ssa-alias.c (find_used_portions): Don't treat parameters | |
5357 | in function calls that are ADDR_EXPRs as using the whole structure. | |
5358 | ||
37818e7c SB |
5359 | 2006-02-26 Steven Bosscher <stevenb.gcc@gmail.com> |
5360 | ||
5361 | * common.opt (-floop-optimize, -frerun-loop-opt): Remove. | |
5362 | * tree-pass.h (pass_loop_optimize): Remove. | |
5363 | * passes.c (pass_loop_optimize): Never run it. | |
5364 | * toplev.c (backend_init): Don't call init_loop. | |
5365 | * opts.c (flag_loop_optimize_set): Remove. | |
5366 | (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt. | |
5367 | (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable | |
5368 | the old RTL loop optimizer when profiling enabled. | |
5369 | * predict.c (tree_estimate_probability): Always strip builtin_expect. | |
5370 | * cfgcleanup.c (try_forward_edges): Don't avoid killing loop | |
5371 | pre-headers for the sake of the old RTL loop optimizer. | |
5372 | * Makefile.in: Remove all references to loop.o. | |
5373 | ||
5374 | * doc/invoke.texi: Remove all references to -floop-optimize | |
5375 | and -frerun-loop-opt. | |
5376 | ||
74fe790b ZW |
5377 | 2006-02-26 Zack Weinberg <zackw@panix.com> |
5378 | ||
5379 | * doc/md.texi (Machine Constraints): Refer to all files with paths | |
5380 | relative to gcc directory (i.e. config/CPU/file). Add missing | |
5381 | @table @code ... @end table to M32C subsection. | |
5382 | ||
cef65eaa RS |
5383 | 2006-02-26 Roger Sayle <roger@eyesopen.com> |
5384 | ||
5385 | * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as | |
5386 | (X & 1) == 0. | |
5387 | <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0. | |
5388 | ||
a861485c RS |
5389 | 2006-02-26 Roger Sayle <roger@eyesopen.com> |
5390 | James A. Morrison <phython@gcc.gnu.org> | |
5391 | ||
5392 | PR middle-end/21137 | |
e8366202 | 5393 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0, |
a861485c RS |
5394 | when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the |
5395 | new constant C2<<C1, or as (X<0) or (X,false) depending upon the | |
5396 | signedness of the shift operation. | |
5397 | ||
afa38a95 DN |
5398 | 2006-02-26 Dorit Nuzman <dorit@il.ibm.com> |
5399 | ||
5400 | PR tree-optimization/26359 | |
5401 | * tree-ssa-alias.c (new_type_alias): Set fields for new tag. | |
5402 | ||
5484a3c3 RS |
5403 | 2006-02-25 Roger Sayle <roger@eyesopen.com> |
5404 | ||
e8366202 | 5405 | * simplify-rtx.c (simplify_relational_operation_1): Simplify |
5484a3c3 RS |
5406 | (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y |
5407 | as X == 0, and some symmetry related transformations. | |
5408 | Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line. | |
5409 | ||
eb8dffe0 RS |
5410 | 2006-02-25 Roger Sayle <roger@eyesopen.com> |
5411 | ||
5412 | PR middle-end/23673 | |
e8366202 | 5413 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y |
eb8dffe0 RS |
5414 | and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some |
5415 | symmetry related transformations. Fold (X^C1) == C2 as | |
5416 | X == (C1^C2). | |
5417 | ||
332cf1b3 JW |
5418 | 2006-02-25 Juergen Weigert <jw@suse.de> |
5419 | Richard Guenther <rguenther@suse.de> | |
5420 | ||
5421 | * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF. | |
5422 | ||
a4876725 AN |
5423 | 2006-02-24 Adam Nemet <anemet@caviumnetworks.com> |
5424 | ||
5425 | * combine.c (gen_lowpart_or_truncate): Call | |
5426 | simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE. | |
5427 | ||
8d669cbd DN |
5428 | 2006-02-24 Diego Novillo <dnovillo@redhat.com> |
5429 | ||
5430 | * doc/invoke.texi: Move -fopenmp description to "Options for | |
5431 | Code Generation". | |
5432 | Remove reference to -lgomp. | |
5433 | ||
f44a5ab6 DE |
5434 | 2006-02-24 David Edelsohn <edelsohn@gnu.org> |
5435 | ||
5436 | * doc/install.texi: Require GNU tar version 1.14. | |
5437 | ||
c7b5e395 GK |
5438 | 2006-02-24 Geoffrey Keating <geoffk@apple.com> |
5439 | ||
5440 | * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS. | |
74fe790b | 5441 | * doc/invoke.texi (C++ Dialect Options): Document |
c7b5e395 GK |
5442 | -fno-use-cxa-get-exception-ptr. |
5443 | * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1. | |
5444 | * configure: Regenerate. | |
5445 | * c.opt (fuse-cxa-get-exception-ptr): New. | |
5446 | * c-opts.c (c_common_handle_option): Handle | |
5447 | OPT_fuse_cxa_get_exception_ptr. | |
5448 | * c-common.c (flag_use_cxa_atexit): Update documentation. | |
5449 | (flag_use_cxa_get_exception_ptr): New. | |
5450 | * c-common.h (flag_use_cxa_get_exception_ptr): New. | |
5451 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve | |
5452 | documentation. | |
5453 | (C_COMMON_OVERRIDE_OPTIONS): New. | |
5454 | ||
676cb929 RS |
5455 | 2006-02-24 Roger Sayle <roger@eyesopen.com> |
5456 | ||
5457 | PR middle-end/24952 | |
5458 | * combine.c (try_combine): Explicitly check whether GET_CODE is | |
5459 | a SET or a CLOBBER, instead on checking that it isn't a USE. | |
5460 | ||
e26ec0bb RS |
5461 | 2006-02-24 Roger Sayle <roger@eyesopen.com> |
5462 | ||
5463 | * fold-const.c (fold_comparison): New subroutine of fold_binary | |
5464 | containing transformations common to both the equality and | |
5465 | ordering relational operators, factored out of fold_binary. | |
5466 | (fold_binary): Separate out the equality operators (EQ_EXPR | |
5467 | and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR, | |
5468 | LE_EXPR and GE_EXPR), calling fold_comparison to perform the | |
5469 | transformations common to both. | |
74fe790b | 5470 | (fold_div_compare): Fix latent bugs in the previously unreachable |
e26ec0bb RS |
5471 | LT_EXPR and GE_EXPR cases. |
5472 | ||
69ca3549 DE |
5473 | 2006-02-24 David Edelsohn <edelsohn@gnu.org> |
5474 | ||
5475 | * config/rs6000/rs6000.c (rs6000_init_builtins): Change | |
5476 | decl libname for clog to __clog on AIX. | |
5477 | ||
5478 | * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define. | |
5479 | ||
8097c268 AM |
5480 | 2006-02-24 Alan Modra <amodra@bigpond.net.au> |
5481 | ||
5482 | PR target/26453 | |
5483 | * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't | |
5484 | output traceback table for thunks. Localise rs6000_stack_info call. | |
5485 | ||
efbbbb61 RS |
5486 | 2006-02-23 Roger Sayle <roger@eyesopen.com> |
5487 | Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
5488 | ||
5489 | * gthr-posix.h (__gthrw): Fix typo in comment. | |
5490 | ||
5491 | 2006-02-23 Geoffrey Keating <geoffk@apple.com> | |
c1e12409 GK |
5492 | |
5493 | * doc/cpp.texi (Character sets): Document that we do support | |
5494 | input files to be in any character set. | |
5495 | ||
e260a614 JL |
5496 | 2006-02-23 Jeff Law <law@redhat.com> |
5497 | ||
357e7a82 JL |
5498 | * tree.h (PHI_ARG_NONZERO): Remove. |
5499 | * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO. | |
5500 | (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old | |
5501 | node to the new node. | |
5502 | ||
e260a614 JL |
5503 | PR tree-optimization/26425 |
5504 | * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL | |
5505 | min/max, then assume its varying. | |
5506 | ||
e755fcf5 ZD |
5507 | 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> |
5508 | ||
5509 | PR rtl-optimization/26316 | |
5510 | * rtlanal.c (enum may_trap_p_flags): New. | |
5511 | (may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore | |
5512 | MEM_NOTRAP_P if flags & MTP_AFTER_MOVE. | |
5513 | (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1. | |
5514 | (may_trap_after_code_motion_p): New function. | |
5515 | * loop-invariant.c (find_identical_invariants): Fix dump formating. | |
5516 | (find_invariant_insn): Use may_trap_after_code_motion_p. | |
5517 | * rtl.h (may_trap_after_code_motion_p): Declare. | |
5518 | ||
65acccdd ZD |
5519 | 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> |
5520 | ||
5521 | * emit-rtl.c (immed_double_const): Cleanup. | |
5522 | ||
4b0e7346 | 5523 | 2006-02-23 Daniel Berlin <dberlin@dberlin.org> |
74fe790b | 5524 | |
4b0e7346 | 5525 | Fix PR tree-optimization/26376 |
e8366202 | 5526 | * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree, |
4b0e7346 DB |
5527 | remove assert. |
5528 | ||
a5c8d67f JJ |
5529 | 2006-02-23 Jakub Jelinek <jakub@redhat.com> |
5530 | ||
5531 | PR middle-end/26412 | |
5532 | * gimplify.c (omp_add_variable): Guard variable size decl test with | |
5533 | DECL_SIZE (decl) check. | |
5534 | ||
98b2060a RG |
5535 | 2006-02-23 Richard Guenther <rguenther@suse.de> |
5536 | ||
5537 | PR middle-end/26439 | |
5538 | * tree-ssa-structalias.c (find_func_aliases): Handle complex types | |
5539 | like aggregate types. | |
5540 | ||
ed965309 JJ |
5541 | 2006-02-23 Jakub Jelinek <jakub@redhat.com> |
5542 | ||
5543 | * configure.ac: Add --with{,out}-long-double-128 configure option. | |
5544 | (TARGET_DEFAULT_LONG_DOUBLE_128): New test. | |
5545 | * configure: Rebuilt. | |
5546 | * config.in: Rebuilt. | |
5547 | * doc/install.texi (Options specification): Document | |
5548 | --with-long-double-128. | |
5549 | ||
5550 | * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128] | |
5551 | (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. | |
5552 | * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128] | |
5553 | (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. | |
5554 | ||
5555 | 2006-02-23 Aldy Hernandez <aldyh@redhat.com> | |
5556 | ||
5557 | * config/s390/s390.c (override_options): Handle | |
5558 | TARGET_DEFAULT_LONG_DOUBLE_128. | |
5559 | ||
5560 | * config/alpha/alpha.c (override_options): Handle | |
5561 | TARGET_DEFAULT_LONG_DOUBLE_128. | |
5562 | ||
5563 | * config/sparc/sparc.c (sparc_override_options): Handle | |
5564 | TARGET_DEFAULT_LONG_DOUBLE_128. | |
5565 | ||
9fb03bd8 DJ |
5566 | 2006-02-22 Daniel Jacobowitz <dan@codesourcery.com> |
5567 | ||
5568 | * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR). | |
5569 | (real-install-headers-tar, real-install-headers-cpio) | |
5570 | (real-install-headers-cp): New targets. | |
5571 | ||
e8dad6f0 RS |
5572 | 2006-02-22 Richard Sandiford <richard@codesourcery.com> |
5573 | ||
5574 | * tree.h (variable_section): Delete. | |
5575 | * varasm.c (variable_section): Delete. | |
5576 | ||
d7f755c3 PB |
5577 | 2006-02-22 Paolo Bonzini <bonzini@gnu.org> |
5578 | ||
5579 | * install.texi: Add notes on install.texi2html. | |
5580 | (Building in parallel): Do not use footnotes. | |
5581 | ||
4fe7a8bc AH |
5582 | 2006-02-21 Aldy Hernandez <aldyh@redhat.com> |
5583 | ||
5584 | PR libgomp/26234 | |
5585 | * doc/install.texi (Configuration): Document --disable-libgomp. | |
5586 | ||
6070e8e5 GK |
5587 | 2006-02-21 Geoffrey Keating <geoffk@apple.com> |
5588 | ||
5589 | * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New. | |
5590 | ||
f8770111 AO |
5591 | 2006-02-21 Alexandre Oliva <aoliva@redhat.com> |
5592 | ||
5593 | * config/i386/sse.md (vec_extractv2df_1_sse): New. | |
5594 | (vec_extractv2df_0_sse): New. | |
5595 | ||
35d177a2 AO |
5596 | 2006-02-21 Alexandre Oliva <aoliva@redhat.com> |
5597 | ||
5598 | * defaults.h (CFA_FRAME_BASE_OFFSET): Define. | |
5599 | * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override. | |
5600 | * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document. | |
5601 | * dwarf2out.c (build_cfa_loc): New offset parameter. Add it | |
5602 | to the result of the expression. | |
5603 | (def_cfa_1): Adjust. | |
5604 | (frame_pointer_cfa_offset): Rename to... | |
5605 | (frame_pointer_fb_offset): ... this. Adjust all uses. | |
5606 | (convert_cfa_to_loc_list): Rename to... | |
5607 | (convert_cfa_to_fb_loc_list): ... this. New offset parameter. | |
5608 | Pass it on to build_cfa_loc. | |
5609 | (compute_frame_pointer_to_cfa_displacement): Rename to... | |
5610 | (compute_frame_pointer_to_fb_displacement): ... this. New | |
5611 | offset parameter. Use it in computation. | |
5612 | (gen_subprogram_die): Compute cfa_fb_offset with the new | |
5613 | macro, and use it to compute the fb loc list and the | |
5614 | displacement. | |
5615 | ||
4729dc92 BS |
5616 | 2006-02-21 Bernd Schmidt <bernd.schmidt@analog.com> |
5617 | ||
5618 | * config/bfin/predicates.md (cc_operand): Delete predicate. All uses | |
5619 | replaced with register_operand. | |
5620 | * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any | |
5621 | non-DREG is expensive. | |
5622 | * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed. | |
5623 | * config/bfin/bfin.md (movbi): Fix constraints and template for moves | |
5624 | involving memory. | |
5625 | ||
520bc8a2 JM |
5626 | 2006-02-21 Joseph S. Myers <joseph@codesourcery.com> |
5627 | ||
5628 | * doc/install.texi2html: Use set -e. | |
5629 | ||
f5e605e5 RS |
5630 | 2006-02-21 Richard Sandiford <richard@codesourcery.com> |
5631 | ||
5632 | * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS) | |
5633 | (ASM_OUTPUT_SHARED_LOCAL): Delete. | |
5634 | * doc/invoke.texi (-fshared-data): Delete. | |
5635 | * common.opt (fshared-data): Delete. | |
5636 | * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling. | |
5637 | (assemble_static_space): Remove #if 0 code. | |
5638 | * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS) | |
5639 | (ASM_OUTPUT_SHARED_LOCAL): Poison. | |
5640 | * config/cris/cris.h: Remove FIXME. | |
5641 | ||
880b9e7b PB |
5642 | 2006-02-21 Paolo Bonzini <bonzini@gnu.org> |
5643 | ||
5644 | * doc/sourcebuild.texi (Front End Directory): No more double-colon | |
5645 | hooks. | |
5646 | ||
5a9e432d JJ |
5647 | 2006-02-21 Jakub Jelinek <jakub@redhat.com> |
5648 | ||
5649 | PR middle-end/26379 | |
5650 | * combine.c (simplify_shift_const_1): Disable nested shifts | |
5651 | optimization for vector shifts. | |
5652 | ||
c1a70a3c RS |
5653 | 2006-02-20 Roger Sayle <roger@eyesopen.com> |
5654 | ||
5655 | PR tree-optimization/26361 | |
5656 | * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR | |
5657 | of unsigned integer types. | |
5658 | ||
0ff4040e SP |
5659 | 2006-02-20 Sebastian Pop <pop@cri.ensmp.fr> |
5660 | ||
5661 | * tree-chrec.c (eq_evolutions_p): New. | |
5662 | * tree-chrec.h (eq_evolutions_p): Declared. | |
5663 | * tree-data-ref.c: Fix formatting. | |
5664 | (datadep_stats, dependence_stats): New. | |
5665 | (gcd): Moved... | |
5666 | (print_direction_vector): New. | |
5667 | (dump_data_dependence_relation): Use print_direction_vector. | |
5668 | (object_analysis, create_data_ref): Handle COMPONENT_REF. | |
5669 | (compute_subscript_distance): Static. | |
5670 | (initialize_data_dependence_relation): Static. Get the number | |
5671 | of loops surrounding the references from the callers, and initialize | |
5672 | DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and | |
5673 | base_object_differ_p analyzers. | |
74fe790b | 5674 | (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, |
0ff4040e SP |
5675 | compute_overlap_steps_for_affine_1_2, |
5676 | analyze_subscript_affine_affine): Count the classified dependences. | |
5677 | Print a message when a test failed. | |
74fe790b | 5678 | (can_use_analyze_subscript_affine_affine): New. |
0ff4040e SP |
5679 | (analyze_siv_subscript): Compute the data dependences on symbolic |
5680 | scevs that verify can_use_analyze_subscript_affine_affine. | |
5681 | (chrec_steps_divide_constant_p): Returns true, false, or unknown. | |
5682 | (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p. | |
5683 | Handle symbolic scevs. | |
5684 | (analyze_overlapping_iterations): Let symbolic affine scevs to be | |
5685 | analyzed. | |
5686 | (subscript_dependence_tester): Moved... | |
74fe790b | 5687 | (build_classic_dist_vector, build_classic_dir_vector): Don't use |
0ff4040e SP |
5688 | lambda_vector_clear on newly allocated vectors. Get nb_loops from |
5689 | DDR_SIZE_VECT instead of getting it in parameter. | |
74fe790b | 5690 | (subscript_dependence_tester): ... here. Take as a parameter |
0ff4040e SP |
5691 | loop_nest_depth. Call build_classic_dist_vector and |
5692 | build_classic_dir_vector. | |
74fe790b ZW |
5693 | (compute_affine_dependence): Update subscript_dependence_tester |
5694 | parameters. Update datadep_stats counters. Call | |
0ff4040e | 5695 | compute_subscript_distance. |
74fe790b | 5696 | (compute_self_dependence): Save the dist and dir vectors. Call |
0ff4040e SP |
5697 | compute_subscript_distance. |
5698 | (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved... | |
5699 | (compute_all_dependences): Reorder parameters as they were before | |
5700 | conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call | |
74fe790b | 5701 | compute_subscript_distance. Update the use of |
0ff4040e SP |
5702 | compute_affine_dependence and initialize_data_dependence_relation. |
5703 | (find_data_references_in_loop): Handle COMPONENT_REF. | |
5704 | (compute_data_dependences_for_loop): Initialize dependence_stats. | |
5705 | Don't call build_classic_dist_vector and build_classic_dir_vector. | |
74fe790b | 5706 | Update the parameters of initialize_data_dependence_relation and |
0ff4040e SP |
5707 | compute_all_dependences. Print the statistics from datadep_stats. |
5708 | (analyze_all_data_dependences): Static. Not used until the pass for | |
5709 | checking the data dependences is contributed. | |
5710 | * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p), | |
5711 | DEF_VEC_ALLOC_P(ddr_p,heap)): ... here. | |
74fe790b | 5712 | (initialize_data_dependence_relation, compute_affine_dependence, |
0ff4040e SP |
5713 | analyze_all_data_dependences, compute_subscript_distance): Removed. |
5714 | (print_direction_vector): New. | |
5715 | * lambda.h (gcd): ... here. | |
5716 | (lambda_vector_gcd): Moved here from gcd_vector. | |
5717 | * lambda-code.c (gcd, gcd_vector): Removed. | |
5718 | (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting. | |
5719 | * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H. | |
5720 | ||
643519b7 DN |
5721 | 2006-02-20 Diego Novillo <dnovillo@redhat.com> |
5722 | ||
5723 | * ipa-type-escape.c: Tidy some comments and white space. | |
5724 | * tree-ssa-operands.c: Likewise. | |
5725 | ||
406f9d5e AP |
5726 | 2006-02-20 Andrew Pinski <pinskia@physics.uc.edu> |
5727 | ||
5728 | PR tree-opt/25879 | |
5729 | * tree-pretty-print.c (debug_tree_chain): Walk the chains. | |
5730 | (dump_decl_name): Do not walk the decl tree chains. | |
5731 | * tree-pass.h (TDF_CHAIN): Remove. | |
5732 | ||
5733 |