]>
Commit | Line | Data |
---|---|---|
395a40e0 JH |
1 | 2007-04-22 Jan Hubicka <jh@suse.cz> |
2 | ||
3 | * final.c (rest_of_handle_final): Call | |
4 | targetm.asm_out.constructor/targetm.asm_out.destructor | |
5 | * cgraphunit.c (cgraph_build_static_cdtor): Don't do it here; set | |
6 | proper priority via decl_*_priority_insert. | |
7 | * c-common.c (c_expand_body): Likewise. | |
8 | ||
e0a60731 RG |
9 | 2007-04-22 Richard Guenther <rguenther@suse.de> |
10 | ||
11 | PR tree-optimization/29789 | |
12 | * tree-ssa-loop-im.c (stmt_cost): Adjust cost of shifts. | |
13 | (rewrite_reciprocal): New helper split out from | |
14 | determine_invariantness_stmt. | |
15 | (rewrite_bittest): Likewise. | |
16 | (determine_invariantness_stmt): Rewrite (A >> B) & 1 to | |
17 | A & (1 << B) if (1 << B) is loop invariant but (A >> B) | |
18 | is not. | |
19 | ||
76fd2caa RE |
20 | 2007-04-22 Revital Eres <eres@il.ibm.com> |
21 | ||
b7716a8e ZD |
22 | * loop-unroll.c (var_to_expand): New field to support also |
23 | insns of the form x = something + x. | |
24 | (analyze_insn_to_expand_var): Use it. | |
25 | (expand_var_during_unrolling): Likewise. | |
76fd2caa | 26 | |
f06b0a10 ZD |
27 | 2007-04-21 Zdenek Dvorak <dvorakz@suse.cz> |
28 | ||
29 | * predict.c: Include pointer-set.h. | |
30 | (bb_predictions): New variable. | |
31 | (tree_predicted_by_p, tree_predict_edge, | |
32 | remove_predictions_associated_with_edge): Use bb_predictions map | |
33 | instead of bb->predictions. | |
34 | (clear_bb_predictions, assert_is_empty): New functions. | |
35 | (combine_predictions_for_bb): Use bb_predictions map. Call | |
36 | clear_bb_predictions. | |
37 | (tree_estimate_probability): Create and free bb_predictions map. | |
38 | * Makefile.in (predict.o): Add pointer-set.h dependency. | |
39 | * basic-block.h (struct basic_block_def): Remove predictions | |
40 | field. | |
41 | * cfgrtl.c (rtl_verify_flow_info_1): Do not check bb->predictions. | |
42 | ||
e919dfe2 KK |
43 | 2007-04-21 Kaz Kojima <kkojima@gcc.gnu.org> |
44 | ||
45 | PR target/31480 | |
46 | * config/sh/sh.md (length): Check if prev_nonnote_insn (insn) | |
47 | is null. | |
48 | ||
7be97ac7 AP |
49 | 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com> |
50 | ||
51 | * timevar.c (timevar_print): Change reference of --disable-checking to | |
52 | --enable-checking=release. Also warn if assert checking is disabled. | |
53 | ||
c8a0a219 AP |
54 | 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com> |
55 | ||
56 | PR C/30265 | |
57 | * c-gimplifier.c (gimplify_compound_literal_expr): Mark the | |
58 | decl as addressable if the compound literal was marked as | |
59 | addressable. | |
60 | Mark the decl as a gimple register if it is a complex or | |
61 | vector decl and does not live in memory. | |
62 | ||
3d95caa4 AP |
63 | 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com> |
64 | ||
65 | * tree.h (GIMPLE_TUPLE_P): Also true for PHI_NODEs. | |
66 | (GENERIC_NEXT): New function macro. | |
67 | (PHI_CHAIN): Use phi_node's new chain variable. | |
68 | (tree_phi_node): Change tree_common to tree_base | |
69 | and add the chain field. | |
70 | * tree-phinodes.c (make_phi_node): Don't set | |
71 | TREE_TYPE on the new node. | |
72 | * c-decl.c (lang_tree_node): Use GENERIC_NEXT | |
73 | instead of checking GIMPLE_TUPLE_P in chain_next. | |
74 | * tree-vect-transform.c | |
75 | (get_initial_def_for_induction): Look at | |
76 | PHI_RESULT_TREE for the type of the phi node. | |
77 | (update_vuses_to_preheader): Use PHI_CHAIN | |
78 | instead of TREE_CHAIN on the phi node. | |
79 | * tree-ssa-structalias.c (compute_points_to_sets): | |
80 | Likewise. | |
81 | (ipa_pta_execute): Likewise. | |
82 | ||
84ece8ef RG |
83 | 2007-04-21 Richard Guenther <rguenther@suse.de> |
84 | ||
85 | PR middle-end/31136 | |
86 | * fold-const.c (fold_unary): Call fold_convert_const on the | |
87 | original tree. | |
88 | ||
1071bcbd AO |
89 | 2007-04-21 Alexandre Oliva <aoliva@redhat.com> |
90 | ||
91 | * gcse.c (store_killed_in_insn): Handle PARALLELs. | |
92 | (store_killed_in_pat): New. | |
93 | ||
c7a2139b RH |
94 | 2007-04-20 Richard Henderson <rth@redhat.com> |
95 | ||
96 | PR target/31628 | |
97 | * config/i386/i386.c (type_has_variadic_args_p): Look for any | |
98 | TREE_LIST with a void_type_node value, not void_list_node exactly. | |
99 | ||
fda0adca DG |
100 | 2007-04-21 Douglas Gregor <doug.gregor@gmail.com> |
101 | ||
102 | * doc/standards.texi: Re-arrange into language-specific | |
103 | subsections. Add a C++ section, documenting which standards we | |
104 | support. | |
105 | ||
285463b5 ZD |
106 | 2007-04-21 Zdenek Dvorak <dvorakz@suse.cz> |
107 | ||
108 | * tree-ssa-structalias.c (delete_points_to_sets): Free graph->complex. | |
109 | * tree-ssa-operands.c (finalize_ssa_vuse_ops): Free new_ops. | |
110 | ||
860532df DJ |
111 | 2007-04-20 Daniel Jacobowitz <dan@codesourcery.com> |
112 | ||
113 | * config/rs6000/sysv4.h (STARTFILE_DEFAULT_SPEC): Include | |
114 | ecrti.o and crtbegin.o. | |
115 | (LIB_DEFAULT_SPEC): Include -lc. | |
116 | (ENDFILE_DEFAULT_SPEC): Include crtend.o and ecrtn.o. | |
117 | ||
60e93525 RH |
118 | 2007-04-20 Richard Henderson <rth@redhat.com> |
119 | ||
120 | PR target/28623 | |
121 | * config/alpha/alpha.c (get_unaligned_address): Remove extra_offset | |
122 | argument; update all callers. | |
123 | (get_unaligned_offset): New. | |
124 | * config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use | |
125 | get_unaligned_address, just pass on the address directly. | |
126 | (unaligned_extendqidi): Use gen_lowpart instead of open-coding | |
127 | the subreg in the helper patterns. | |
128 | (unaligned_extendqidi_le): Use get_unaligned_offset. | |
129 | (unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise. | |
130 | (unaligned_extendhidi_be): Likewise. | |
131 | (unaligned_extendhidi): Tidy. | |
132 | * config/alpha/alpha-protos.h: Update. | |
133 | ||
f326fd7a RH |
134 | 2007-04-20 Richard Henderson <rth@redhat.com> |
135 | ||
136 | * config/alpha/alpha.h (CPP_SPEC, CPP_SUBTARGET_SPEC): Remove. | |
137 | (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove. | |
138 | * config/alpha/linux.h (CPP_SPEC): Undef before redefine. | |
139 | * config/alpha/linux-elf.h (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS. | |
140 | * config/alpha/freebsd.h (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS. | |
141 | (CPP_SPEC): Don't include %(cpp_subtarget). | |
142 | * config/alpha/netbsd.h (CPP_SPEC): Rename CPP_SUBTARGET_SPEC. | |
143 | (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS. | |
144 | * config/alpha/osf.h (CPP_SPEC, EXTRA_SPECS): Similarly. | |
145 | ||
86122f72 JJ |
146 | 2007-04-20 Jakub Jelinek <jakub@redhat.com> |
147 | ||
a5b9afd1 JJ |
148 | * config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED |
149 | for __builtin_ia32_cmpordss. | |
150 | ||
86122f72 JJ |
151 | PR tree-optimization/31632 |
152 | * fold-const.c (fold_binary): Use op0 and op1 instead of arg0 | |
153 | and arg1 for optimizations of comparison against min/max values. | |
154 | Fold arg0 to arg1's type for optimizations of comparison against | |
155 | min+1 and max-1 values. | |
156 | ||
c1673e1b BS |
157 | 2007-04-19 Bernd Schmidt <bernd.schmidt@analog.com> |
158 | ||
159 | * reload.c (combine_reloads): When trying to use a dying register, | |
160 | check whether it's uninitialized and don't use if so. | |
161 | ||
db136335 BM |
162 | 2007-04-19 Brooks Moses <brooks.moses@codesourcery.com> |
163 | ||
164 | * fold-const.c: Remove prototypes for native_encode_expr and | |
165 | native_interpret_expr. | |
166 | (native_encode_expr): Make non-static. | |
167 | (native_interpret_expr): Likewise. | |
168 | * tree.h: Add prototypes for the above. | |
169 | ||
b6fda43f JM |
170 | 2007-04-19 Joseph Myers <joseph@codesourcery.com> |
171 | ||
b6fda43f JM |
172 | * config/rs6000/spe.md (*frob_tf_ti, *frob_ti_tf, *frob_ti_tf_2, |
173 | *mov_si<mode>_e500_subreg0, *mov_si<mode>_e500_subreg0_2, | |
174 | *mov_sitf_e500_subreg8, *mov_sitf_e500_subreg8_2, spe_extenddftf2, | |
175 | spe_fix_trunctfsi2_internal, spe_negtf2_internal, cmptfeq_gpr, | |
176 | tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr, tsttflt_gpr): | |
177 | Add length attributes. | |
178 | ||
589dd995 JJ |
179 | 2007-04-19 Janis Johnson <janis187@us.ibm.com> |
180 | ||
93167356 JJ |
181 | * ginclude/float.h: Check that __STDC_WANT_DEC_FP__ is defined, |
182 | not that it is 1. | |
183 | ||
589dd995 JJ |
184 | * c-cppbuiltin.c (c_cpp_builtins): Remove definition of |
185 | __STDC_WANT_DEC_FP__. | |
186 | ||
f7cc5390 JM |
187 | 2007-04-19 Joseph Myers <joseph@codesourcery.com> |
188 | ||
189 | * configure.ac: Allow both powerpc*-*-linux* and powerpc*-*-gnu* | |
190 | for long double compatibility. | |
191 | * configure: Regenerate. | |
192 | ||
d47a8b83 EB |
193 | 2007-04-19 Eric Botcazou <ebotcazou@libertysurf.fr> |
194 | ||
195 | PR rtl-optimization/29841 | |
196 | * cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional | |
197 | trap instructions. | |
198 | * sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions | |
199 | that may cause control flow transfer from being moved. | |
200 | ||
8d5d5865 JH |
201 | 2007-04-18 Jan Hubicka <jh@suse.cz> |
202 | ||
203 | * fold-const.c (div_if_zero_remainder): Do signed divide for pointer | |
204 | types. | |
205 | ||
316fbf19 | 206 | 2007-04-18 Eric Christopher <echristo@apple.com> |
5083912d | 207 | |
316fbf19 EC |
208 | * config/rs6000/darwin.md (load_macho_picbase): Use link register |
209 | only. Update operands. | |
210 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Update caller. | |
211 | * config/rs6000/rs6000.md (builtin_setjmp_receiver): Ditto. Move from | |
212 | link register to pic register. | |
5083912d | 213 | |
05fb69e4 DM |
214 | 2007-04-18 Dirk Mueller <dmueller@suse.de> |
215 | ||
216 | PR diagnostic/31227 | |
217 | * tree-vrp.c (search_for_addr_array): New. | |
218 | (check_array_bounds): Suppress warning about | |
219 | address taken of array refs if its not de-referenced. | |
220 | ||
28e44f4f DN |
221 | 2007-04-18 Dorit Nuzman <dorit@il.ibm.com> |
222 | ||
223 | * tree-vectorizer.c (destroy_loop_vec_info): Set loop->aux to NULL. | |
224 | * tree-vect-analyze.c (vect_analyze_loop_form): Set loop->aux. | |
225 | ||
226 | * tree-vectorizer.h (NITERS_KNOWN_P): New. | |
316fbf19 | 227 | * tree-vect-analyze.c (vect_analyze_loop_form): Call NITERS_KNOWN_P |
28e44f4f DN |
228 | instead of LOOP_VINFO_INT_NITERS to avoid having to geneate loop_info. |
229 | ||
316fbf19 | 230 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Add |
28e44f4f DN |
231 | dump print. |
232 | (vect_analyze_operations): Fix indenetation. Fix a comment. Fix a | |
233 | print message. | |
234 | (vect_analyze_scalar_cycles): Fix indentation. | |
235 | (vect_enhance_data_refs_alignment): Fix check in case of peeling. | |
236 | (vect_mark_relevant): Include phis in relevance analysis. | |
237 | ||
238 | * tree-vect-transform.c (vect_transform_loop): Add an assert. | |
239 | ||
3639b3fa AS |
240 | 2007-04-18 Anatoly Sokolov <aesok@post.ru> |
241 | ||
242 | * config/avr/avr.c (ptrreg_to_str): Replace error() with | |
243 | output_operand_lossage(). | |
244 | ||
f7c1d73d DN |
245 | 2007-04-18 Dorit Nuzman <dorit@il.ibm.com> |
246 | ||
247 | * tree-vect-transform.c (get_initial_def_for_reduction): Clean away | |
248 | the unused code for reduction without adjust-in-epilog to simplify the | |
249 | function. | |
250 | ||
638e37c2 WG |
251 | 2007-04-18 Wolfgang Gellerich <gellerich@de.ibm.com> |
252 | ||
253 | * config/s390/s390.h (S390_TDC_POSITIVE_ZERO): New constant. | |
254 | (S390_TDC_NEGATIVE_ZERO): New constant. | |
255 | (S390_TDC_POSITIVE_NORMALIZED_NUMBER): New constant. | |
256 | (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): New constant. | |
257 | (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): New constant. | |
258 | (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): New constant. | |
259 | (S390_TDC_POSITIVE_INFINITY): New constant. | |
260 | (S390_TDC_NEGATIVE_INFINITY): New constant. | |
261 | (S390_TDC_POSITIVE_QUIET_NAN): New constant. | |
262 | (S390_TDC_NEGATIVE_QUIET_NAN): New constant. | |
263 | (S390_TDC_POSITIVE_SIGNALING_NAN): New constant. | |
264 | (S390_TDC_NEGATIVE_SIGNALING_NAN): New constant. | |
265 | (S390_TDC_INFINITY): New constant. | |
266 | * config/s390/s390.c (s390_canonicalize_comparison): Renamed | |
267 | UNSPEC_CMPINT to UNSPEC_CCU_TO_INT, added a UNSPEC_CCU_TO_INT-like | |
268 | optimization for UNSPEC_CCZ_TO_INT. | |
269 | * config/s390/s390.md ("*TDC_insn_<mode>"): New insn. | |
270 | ("*ccz_to_int"): New insn. | |
271 | ("isinf<mode>2"): New insn. | |
272 | (UNSPEC_CMPINT): Renamed to UNSPEC_CCU_TO_INT. | |
273 | (UNSPEC_CCU_TO_INT): New constant, replaces UNSPEC_CMPINT. | |
274 | (UNSPEC_CCZ_TO_INT): New constant. | |
275 | ||
3b48ccbc RG |
276 | 2007-04-18 Richard Guenther <rguenther@suse.de> |
277 | ||
278 | PR tree-optimization/19431 | |
279 | PR tree-optimization/21463 | |
280 | * tree-pass.h (pass_phiprop): Declare. | |
281 | * passes.c (init_optimization_passes): New phiprop pass. | |
282 | * tree-ssa-forwprop.c (struct phiprop_d): New structure. | |
283 | (phivn_valid_p): New helper function. | |
284 | (phiprop_insert_phi): Likewise. | |
285 | (propagate_with_phi): Likewise. | |
286 | (tree_ssa_phiprop): New propagator propagating loads | |
287 | through phi nodes if profitable. | |
288 | ||
8cf81ddf DN |
289 | 2007-04-18 Dorit Nuzman <dorit@il.ibm.com> |
290 | ||
291 | * tree-vect-analyze.c (process_use): New function. | |
292 | (vect_mark_stmts_to_be_vectorized): Factor out code to process_use. | |
293 | Check phis in all bbs. | |
294 | * tree-vectorizer.c (vect_is_simple_use): Remove a no longer relavant | |
295 | assert. | |
296 | ||
7c11b28c BS |
297 | 2007-04-18 Bernd Schmidt <bernd.schmidt@analog.com> |
298 | ||
299 | * reload1.c (eliminte_regs_in_insn): Use REG_EQUIV notes the same way | |
300 | we use REG_EQUAL. | |
301 | ||
5594a6c8 AS |
302 | 2007-04-17 Anatoly Sokolov <aesok@post.ru> |
303 | ||
304 | PR target/30483 | |
305 | * config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with | |
306 | error(). | |
307 | ||
ce217d75 L |
308 | 2007-04-17 H.J. Lu <hongjiu.lu@intel.com> |
309 | ||
310 | * config/i386/sse.md (sse_vmaddv4sf3): Use register_operand | |
311 | on "0". | |
312 | (sse_vmmulv4sf3): Likewise. | |
313 | (sse2_vmaddv2df3): Likewise. | |
314 | (sse2_vmmulv2df3): Likewise. | |
315 | ||
a154b43a ZD |
316 | 2007-04-17 Zdenek Dvorak <dvorakz@suse.cz> |
317 | ||
318 | PR rtl-optimization/31360 | |
319 | * cfgloopanal.c (target_small_cost, target_pres_cost): Removed. | |
320 | (target_reg_cost): New. | |
321 | (init_set_costs): Initialize target_reg_cost. Add comments | |
322 | regarding the rationale of the costs. | |
323 | (global_cost_for_size): Renamed to... | |
324 | (estimate_reg_pressure_cost): ... and simplify. Decrease importance | |
325 | of register pressure. | |
326 | * tree-ssa-loop-ivopts.c (ivopts_global_cost_for_size): Use | |
327 | estimate_reg_pressure_cost. Add number of ivs. | |
328 | (determine_set_costs): Dump target_reg_cost. | |
329 | * loop-invariant.c (gain_for_invariant): Use | |
330 | estimate_reg_pressure_cost. Removed n_inv_uses argument. | |
331 | (best_gain_for_invariant, find_invariants_to_move): Remove | |
332 | n_inv_uses. | |
333 | * cfgloop.h (target_small_cost, target_pres_cost): Removed. | |
334 | (target_reg_cost): Declare. | |
335 | (global_cost_for_size): Declaration removed. | |
336 | (estimate_reg_pressure_cost): Declare. | |
337 | ||
c092b045 PB |
338 | 2007-04-17 Peter Bergner <bergner@vnet.ibm.com> |
339 | ||
340 | * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Force TDmode | |
341 | regnos into even/odd register pairs. | |
342 | * config/rs6000/rs6000.h [SLOW_UNALIGNED_ACCESS]: Treat DDmode and | |
343 | TDmode similar to the other floating point modes. | |
344 | [SECONDARY_MEMORY_NEEDED]: Treat DDmode similar to DFmode. | |
345 | * config/rs6000/dfp.md (negdd2, absdd2, negtd2, abstd2): New | |
346 | define_expand's. | |
347 | (negdd2_fpr, absdd2_fpr, nabsdd2_fpr, negtd2_fpr, abstd2_fpr, | |
348 | nabstd2_fpr, movdd_hardfloat64_mfpgpr): New define_insn's. | |
349 | (movdd_hardfloat64): Use TARGET_MFPGPR. | |
350 | ||
f2eb49dc BS |
351 | 2007-04-17 Bernd Schmidt <bernd.schmidt@analog.com> |
352 | ||
353 | * reload1.c (delete_output_reload): Don't count output in n_inherited. | |
354 | ||
355 | Revert | |
356 | 2005-01-05 Richard Henderson <rth@redhat.com> | |
357 | PR rtl-opt/10692 | |
358 | * reload1.c (do_input_reload): Restrict the optimization deleteing | |
359 | a previous output reload to RELOAD_FOR_INPUT. | |
360 | ||
cd38ca7f DN |
361 | 2007-04-17 Dorit Nuzman <dorit@il.ibm.com> |
362 | ||
363 | * tree-vectorizer.h (stmt_vec_info_type): Add enum value | |
364 | induc_vec_info_type. | |
365 | (vectorizable_induction): New function declaration. | |
366 | * tree-vect-transform.c (get_initial_def_for_induction): No need to | |
367 | check if already vectorized. Find first place in BB where new stmts | |
368 | can be inserted. Takes only one argument. | |
369 | (vectorizable_induction): New function. | |
370 | (vect_transform_stmt): Add case for induc_vec_info_type to call | |
371 | vectorizable_induction. | |
372 | (vect_transform_loop): Consider phis for vectorization. | |
373 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Simplify | |
374 | condition. | |
316fbf19 | 375 | (analyze_operations): Call vectorizable_induction when analyzing phis. |
cd38ca7f DN |
376 | Fix comment. |
377 | (vect_mark_stmts_to_be_vectorized): Remove redundant checks. | |
378 | (vect_mark_relevant): Include phis in relevance analysis. | |
379 | (vect_mark_stmts_to_be_vectorize): Likewise. | |
380 | * tree-vect-patterns.c (widened_name_p): Remove obsolete asserts. | |
381 | ||
39ef6592 LC |
382 | 2007-04-16 Lawrence Crowl <crowl@google.com> |
383 | ||
384 | * doc/invoke.texi (Debugging Options): Add documentation for the | |
385 | -femit-struct-debug options -femit-struct-debug-baseonly, | |
386 | -femit-struct-debug-reduced, and | |
387 | -femit-struct-debug-detailed[=...]. | |
388 | ||
389 | * c-opts.c (c_common_handle_option): Add | |
390 | OPT_femit_struct_debug_baseonly, OPT_femit_struct_debug_reduced, | |
391 | and OPT_femit_struct_debug_detailed_. | |
392 | * c.opt: Add specifications for | |
393 | -femit-struct-debug-baseonly, -femit-struct-debug-reduced, | |
394 | and -femit-struct-debug-detailed[=...]. | |
395 | * opts.c (set_struct_debug_option): Parse the | |
396 | -femit-struct-debug-... options. | |
397 | * opts.c (matches_main_base, main_input_basename, | |
398 | main_input_baselength, base_of_path, matches_main_base): Add | |
399 | variables and functions to compare header base name to compilation | |
400 | unit base name. | |
401 | * opts.c (should_emit_struct_debug): Add to determine to emit a | |
402 | structure based on the option. | |
403 | (dump_struct_debug) Also disabled function to debug this | |
404 | function. | |
405 | * opts.c (handle_options): Save the base name of the | |
406 | compilation unit. | |
407 | ||
408 | * langhooks-def.h (LANG_HOOKS_GENERIC_TYPE_P): Define. | |
c7a2139b | 409 | (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add. |
39ef6592 LC |
410 | This hook indicates if a type is generic. Set it by default |
411 | to "never generic". | |
412 | * langhooks.h (struct lang_hooks_for_types): Add a new hook | |
413 | to determine if a struct type is generic or not. | |
414 | * cp/cp-tree.h (class_tmpl_impl_spec_p): Declare a C++ hook. | |
415 | * cp/tree.c (class_tmpl_impl_spec_p): Implement the C++ hook. | |
416 | * cp/cp-lang.c (LANG_HOOKS_GENERIC_TYPE_P): Override null C hook | |
417 | with live C++ hook. | |
418 | ||
419 | * flags.h (enum debug_info_usage): Add an enumeration to describe | |
420 | a program's use of a structure type. | |
421 | * dwarf2out.c (gen_struct_or_union_type_die): Add a new parameter | |
422 | to indicate the program's usage of the type. Filter structs based | |
423 | on the -femit-struct-debug-... specification. | |
424 | (gen_type_die): Split into two routines, gen_type_die and | |
425 | gen_type_die_with_usage. gen_type_die is now a wrapper | |
426 | that assumes direct usage. | |
427 | (gen_type_die_with_usage): Replace calls to gen_type_die | |
428 | with gen_type_die_with_usage adding the program usage of | |
429 | the referenced type. | |
430 | (dwarf2out_imported_module_or_decl): Suppress struct debug | |
431 | information using should_emit_struct_debug when appropriate. | |
432 | ||
5a0ed003 ILT |
433 | 2007-04-16 Ian Lance Taylor <iant@google.com> |
434 | ||
fc6827fe ILT |
435 | PR tree-optimization/31522 |
436 | * tree-vrp.c (vr_phi_edge_counts): New static variable. | |
437 | (vrp_initialize): Allocate vr_phi_edge_counts. | |
438 | (vrp_visit_phi_node): Don't push to infinity if we saw a new | |
439 | executable edge. Drop test for all constants. | |
440 | (vrp_finalize): Free vrp_phi_edge_counts. | |
441 | ||
4075e231 ILT |
442 | * doc/cpp.texi (Common Predefined Macros): Clarify description of |
443 | __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__. | |
444 | ||
5a0ed003 ILT |
445 | * tree-ssa-propagate.c (cfg_blocks_add): Insert blocks with fewer |
446 | predecessors at head rather than tail. | |
447 | ||
bdede2ac MK |
448 | 2007-04-16 Matthias Klose <doko@debian.org> |
449 | ||
86122f72 JJ |
450 | * config/alpha/linux.h (CPP_SPEC): Define. |
451 | * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend. | |
bdede2ac | 452 | |
52d412e7 AH |
453 | 2007-04-16 Aldy Hernandez <aldyh@redhat.com> |
454 | ||
c7a2139b | 455 | * function.h: Remove sequence_stack extern declaration. |
52d412e7 | 456 | |
72120463 KH |
457 | 2007-04-16 Kazu Hirata <kazu@codesourcery.com> |
458 | ||
459 | * config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Change to 64 on | |
460 | TARGET_FIDOA. | |
461 | (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Change to 64 if __mfido__ is | |
462 | defined. | |
463 | ||
14683174 AS |
464 | 2007-04-16 Anatoly Sokolov <aesok@post.ru> |
465 | ||
466 | * config/avr/avr.c (avr_arch_types): Rearranging array. | |
467 | (enum avr_arch): Add. | |
316fbf19 | 468 | (avr_mcu_types): Use avr_arch enumeration constants instead of |
14683174 AS |
469 | numbers. |
470 | * config/avr/avr.h (LINK_SPEC): Simplify. | |
471 | ||
8d989403 KH |
472 | 2007-04-16 Kazu Hirata <kazu@codesourcery.com> |
473 | ||
474 | * config/m68k/m68k.c (m68k_libcall_value, | |
475 | m68k_function_value): Use macros for register names more. | |
476 | ||
de41203b KH |
477 | * config/m68k/m68k.h (FRAME_POINTER_REGNUM): Use A6_REG |
478 | instead. | |
479 | (M68K_REGNAME): Use A6_REG. | |
480 | * config/m68k/m68k.md (FP_REG): Rename to A6_REG. | |
481 | ||
bdbf40a5 MK |
482 | 2007-04-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
483 | ||
484 | PR middle-end/28071 | |
485 | * sched-int.h (struct deps): Split field 'pending_lists_length' into | |
486 | 'pending_read_list_length' and 'pending_write_list_length'. Update | |
487 | comment. | |
488 | * sched-deps.c (add_insn_mem_dependence): Change signature. Update | |
489 | to handle two length counters instead of one. Update all uses. | |
490 | (flush_pending_lists, sched_analyze_1, init_deps): Update to handle | |
491 | two length counters instead of one. | |
492 | * sched-rgn.c (propagate_deps): Update to handle two length counters | |
493 | instead of one. | |
494 | ||
7bb4a6be L |
495 | 2007-04-16 H.J. Lu <hongjiu.lu@intel.com> |
496 | ||
497 | PR target/31582 | |
498 | * config/i386/i386.c (ix86_expand_vec_set_builtin): Make a | |
499 | copy of source, pass it to ix86_expand_vector_set and return | |
500 | it as target. | |
501 | ||
8dd58f01 | 502 | 2007-04-16 David Ung <davidu@mips.com> |
7bb4a6be | 503 | Joseph Myers <joseph@codesourcery.com> |
8dd58f01 DU |
504 | |
505 | * config/mips/mips.h (PROCESSOR_74KC, PROCESSOR_74KF, | |
506 | PROCESSOR_74KX, TUNE_74K, GENERATE_MADD_MSUB): Define. | |
507 | * config/mips/mips.c (mips_cpu_info_table, mips_rtx_cost_data): | |
508 | Add 74K processor information. | |
509 | * config/mips/mips.md: Include 74k.md. | |
510 | (cpu): Add 74kc,74kf,74kx. | |
511 | (ISA_HAS_MADD_MSUB): Change to GENERATE_MADD_MSUB throughout. | |
512 | * config/mips/74k.md: New. | |
513 | * doc/invoke.texi (MIPS Options): Document 74K support. | |
514 | ||
60555ced DN |
515 | 2007-04-16 Dorit Nuzman <dorit@il.ibm.com> |
516 | ||
517 | * tree-vect-analyze.c (vect_analyze_operations): Reorganize calls to | |
518 | vectorizable_* functions. | |
519 | * tree-vect-transform.c (vectorizable_call): Add check for | |
520 | STMT_VINFO_RELEVANT_P, STMT_VINFO_DEF_TYPE and STMT_VINFO_LIVE_P. | |
521 | (vectorizable_store): likewise. | |
522 | (vectorizable_conversion): Add check for STMT_VINFO_DEF_TYPE. | |
523 | Add comments. | |
524 | (vectorizable_operation, vectorizable_type_demotion): Likewise. | |
525 | (vectorizable_type_promotion, vectorizable_load): Likewise. | |
526 | (vectorizable_live_operation, vectorizable_condition): Likewise. | |
527 | (vectorizable_assignment): Add check for STMT_VINFO_DEF_TYPE and | |
528 | STMT_VINFO_LIVE_P. | |
529 | (vect_transform_stmt): Reorganize calls to vectorizable_* functions. | |
530 | ||
3bfe36dc KH |
531 | 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
532 | ||
533 | * config/m68k/linux.h (FUNCTION_VALUE_REGNO_P): Use macros for | |
534 | register numbers more. | |
535 | * config/m68k/m68k.h (STACK_POINTER_REGNUM, | |
536 | FRAME_POINTER_REGNUM, STATIC_CHAIN_REGNUM, | |
537 | M68K_STRUCT_VALUE_REGNUM, FUNCTION_VALUE, LIBCALL_VALUE, | |
538 | FUNCTION_VALUE_REGNO_P): Likewise. | |
539 | * config/m68k/m68kelf.h (M68K_STRUCT_VALUE_REGNUM, | |
540 | STATIC_CHAIN_REGNUM): Likewise. | |
541 | * config/m68k/m68kemb.h (FUNCTION_VALUE_REGNO_P): Likewise. | |
542 | * config/m68k/netbsd-elf.h (M68K_STRUCT_VALUE_REGNUM, | |
543 | STATIC_CHAIN_REGNUM, FUNCTION_VALUE_REGNO_P): Likewise. | |
544 | * config/m68k/m68k.md (FP_REG): New. | |
545 | ||
e3e093ec KH |
546 | 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
547 | ||
548 | * config/m68k/m68k.h (PREFERRED_STACK_BOUNDARY): Prefer 32-bit | |
549 | alignment on fido. | |
550 | ||
7fa7289d KH |
551 | 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
552 | ||
553 | * config/i386/i386.c, config/s390/s390.c, config/s390/s390.md, | |
554 | tree-ssa-loop-niter.c, tree-ssa-structalias.c, tree-vrp.c: Fix | |
555 | comment typos. | |
556 | ||
2732d767 ZD |
557 | 2007-04-11 Zdenek Dvorak <dvorakz@suse.cz> |
558 | ||
559 | * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Ignore | |
560 | cold loops. | |
561 | ||
aa24028d AP |
562 | 2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com> |
563 | ||
564 | PR c/31520 | |
c7a2139b | 565 | * c-decl.c (finish_decl): Grab the type of the decl after the call |
aa24028d AP |
566 | to store_init_value. |
567 | ||
2ca2b607 SB |
568 | 2007-04-14 Steven Bosscher <steven@gcc.gnu.org> |
569 | ||
570 | * common.opt (fforward-propagate): Fix "Optimization" annotation. | |
571 | ||
b1483e87 JJ |
572 | 2007-04-14 Jakub Jelinek <jakub@redhat.com> |
573 | ||
574 | PR c++/25874 | |
575 | * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators, | |
576 | post dominators and cleanup cfg before returning. | |
577 | ||
4d4f2837 BS |
578 | 2007-04-14 Bernd Schmidt <bernd.schmidt@analog.com> |
579 | ||
580 | * config/bfin/bfin.h (MODES_TIEABLE_P): Allow more modes to be tied. | |
581 | * config/bfin/bfin.md (movsi_insn): Delete two unused alternatives. | |
582 | ||
7d33c31d KH |
583 | 2007-04-14 Kazu Hirata <kazu@codesourcery.com> |
584 | ||
585 | * config.gcc: Recognize fido. | |
586 | * config/m68k/m68k-devices.def (fidoa): New. | |
587 | * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define | |
588 | __mfido__. | |
589 | (FL_FIDOA, TARGET_FIDOA): New. | |
590 | * config/m68k/m68k.opt (mfidoa): New. | |
591 | ||
2a6acff7 JDA |
592 | 2007-04-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
593 | ||
594 | PR middle-end/31322 | |
595 | * dwarf2out.c (output_call_frame_info): Call assemble_external_libcall | |
596 | when a personality function is used. | |
597 | ||
ec3643e8 BW |
598 | 2007-04-13 Bob Wilson <bob.wilson@acm.org> |
599 | ||
600 | * config/xtensa/xtensa.c (xtensa_expand_builtin): Use CALL_EXPR_FN. | |
601 | ||
c40ce8f3 MS |
602 | 2007-04-13 Mike Stump <mrs@apple.com> |
603 | ||
604 | * config/darwin-c.c (handle_c_option): Handle -fapple-kext here so | |
605 | we can... | |
606 | * config/darwin.opt (fapple-kext): Make C++ only. | |
607 | * config/darwin.c (darwin_override_options): Remove code to ensure | |
608 | -fapple-kext is given for C++ only. | |
609 | ||
d1138d8e RS |
610 | 2007-04-13 Richard Sandiford <richard@codesourcery.com> |
611 | ||
612 | * config/mips/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define. | |
613 | * config/mips/mips.c (override_options): Call | |
614 | SUBTARGET_OVERRIDE_OPTIONS, if defined. | |
615 | ||
c33104d6 L |
616 | 2007-04-13 H.J. Lu <hongjiu.lu@intel.com> |
617 | ||
618 | * config/i386/i386.opt (msvr3-shlib): Removed. | |
619 | ||
620 | * doc/invoke.texi: Remove -msvr3-shlib. | |
621 | ||
b194a08c L |
622 | 2007-04-13 H.J. Lu <hongjiu.lu@intel.com> |
623 | ||
624 | * config/i386/i386.opt (mpopcnt): Replace "popcount" instruction | |
625 | with "popcnt" instruction. | |
626 | ||
9bb6aa43 RG |
627 | 2007-04-13 Richard Guenther <rguenther@suse.de> |
628 | ||
629 | PR tree-optimization/21258 | |
630 | * tree-vrp.c (compare_case_labels): New helper. | |
631 | (find_switch_asserts): New function. | |
632 | (find_assert_locations): Call it for SWITCH_EXPRs. | |
633 | ||
27ac40e2 UB |
634 | 2007-04-13 Uros Bizjak <ubizjak@gmail.com> |
635 | ||
636 | * config/i386/i386.h (X87_FLOAT_MODE_P): Check for TARGET_80387. | |
637 | * config/i386/i386.md (*cmpfp0): Remove check for TARGET_80387, this | |
638 | check is now implied in X87_FLOAT_MODE_P. | |
639 | (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto. | |
640 | (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto. | |
641 | (fix_trunc<mode>_i386_fisttp): Ditto. | |
642 | (fix_trunc<mode>_i387_fisttp_with_temp): Ditto. | |
643 | (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto. | |
644 | (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto. | |
645 | (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto. | |
646 | (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto. | |
647 | (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto. | |
648 | (unnamed_splitters): Ditto. | |
649 | * config/i386/i386.c (function_value_32): Generate FIRST_FLOAT_REG | |
650 | for X87_FLOAT_MODE_P mode. Override FIRST_FLOAT_REG with | |
651 | FIRST_SSE_REG for local functions when SSE math is enabled or | |
652 | for functions with sseregparm attribute. | |
653 | (standard_80387_constant_p): Return -1 if mode is not | |
654 | X87_FLOAT_MODE_P. | |
655 | (ix86_cc_mode): Assert that scalar mode is not DECIMAL_FLOAT_MODE_P. | |
656 | (ix86_expand_compare): Ditto. | |
657 | (ix86_expand_carry_flag_compare): Ditto. | |
658 | (ix86_expand_int_movcc): Check for SCALAR_FLOAT_MODE_P instead | |
659 | of FLOAT_MODE_P for cmp_mode and assert that cmp_mode is not | |
660 | DECIMAL_FLOAT_MODE_P. | |
661 | (ix86_preferred_output_reload_class): Use X87_FLOAT_MODE_P instead | |
662 | of SCALAR_FLOAT_MODE_P. | |
663 | (ix86_rtx_costs) [PLUS] Remove FLOAT_MODE_P and fall through to ... | |
664 | [MINUS]: ... here. Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P | |
665 | checks before FLOAT_MODE_P. | |
666 | [MULT]: Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P checks | |
667 | before FLOAT_MODE_P. | |
668 | [DIV]: Ditto. | |
669 | [NEG]: Ditto. | |
670 | [ABS]: Ditto. | |
671 | [SQRT]: Ditto. | |
672 | [FLOAT_EXTEND]: Use SSE_FLOAT_MODE_P. | |
673 | ||
be0fe523 | 674 | 2007-04-12 Paolo Bonzini <bonzini@gnu.org> |
c7a2139b | 675 | Charles Wilson <libtool@cwilson.fastmail.fm> |
be0fe523 PB |
676 | |
677 | * Makefile.in (stamp-as, stamp-collect-ld, stamp-nm): Remove. | |
678 | (libgcc.mvars): Don't depend on them. | |
679 | * configure.ac (as, collect-ld, nm): Create from exec-tool.in. | |
680 | * exec-tool.in: New. | |
681 | ||
06a97569 BM |
682 | 2007-04-12 Brooks Moses <brooks.moses@codesourcery.com> |
683 | ||
684 | * doc/invoke.text (--help): Document --help=common. | |
685 | ||
4557bf49 TN |
686 | 2007-04-12 Thomas Neumann <tneumann@users.sourceforge.net> |
687 | ||
688 | * stub-objc.c (objc_build_keyword_decl): Avoid C++ keywords. | |
689 | ||
8cb6400c RS |
690 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
691 | ||
692 | * Makefile.in (insn-emit.o): Depend on $(INTEGRATE_H). | |
693 | * genemit.c (main): Emit #include "integrate.h". | |
694 | * config/mips/mips-protos.h (SYMBOL_HALF): New mips_symbol_type. | |
695 | (LOADGP_RTP): New mips_loadgp_style. | |
696 | * config/mips/mips.h: Include config/vxworks-dummy.h. | |
697 | (TARGET_RTP_PIC): New macro. | |
698 | (TARGET_USE_GOT): Return true for TARGET_RTP_PIC. | |
699 | (TARGET_USE_PIC_FN_ADDR_REG): Return true for TARGET_VXWORKS_RTP. | |
700 | (ASM_OUTPUT_ADDR_DIFF_ELT): Emit function-relative case tables | |
701 | for TARGET_RTP_PIC. | |
702 | * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Define. Pass down | |
703 | -mvxworks-pic when using -mrtp and a PIC option. | |
704 | * config/mips/mips.c (mips_classify_symbol): Return SYMBOL_GOT_DISP | |
705 | for RTP PIC. | |
706 | (mips_symbolic_constant_p, mips_symbolic_address_p) | |
707 | (mips_symbol_insns): Handle SYMBOL_HALF. | |
708 | (override_options): Warn about -G and -mrtp being used together. | |
709 | Initialize mips_lo_relocs[SYMBOL_HALF]. | |
710 | (mips_current_loadgp_style): Return LOADGP_RTP for RTP PIC. | |
711 | (mips_emit_loadgp): Handle LOADGP_RTP. | |
712 | (mips_in_small_data_p): Return false for TARGET_VXWORKS_RTP. | |
713 | * config/mips/mips.md (loadgp_rtp): New insn and splitter. | |
714 | (tablejump): Handle function-relative case table entries if | |
715 | TARGET_RTP_PIC. | |
716 | * config/mips/predicates.md (symbol_ref_operand): New predicate. | |
717 | ||
f28d8062 RS |
718 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
719 | ||
720 | * config/mips/mips.md (load_call<mode>): Allow any general register. | |
721 | destination. | |
722 | (sibcall_value_internal, sibcall_value_multiple_internal) | |
723 | (call_value_internal, call_value_split, call_value_multiple_internal) | |
724 | (call_value_multiple_split): Remove constraints from operand 0. | |
725 | ||
dc7750b1 RS |
726 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
727 | ||
728 | * config/mips/mips-protos.h: In comments, refer to loadgp_absolute | |
729 | rather than loadgp_noshared. | |
730 | * config/mips/mips.c (mips_emit_loadgp): Use gen_loadgp_absolute | |
731 | instead of gen_loadgp_noshared. Use gen_loadgp_newabi instead of | |
732 | gen_loadgp. | |
733 | * config/mips/mips.md (loadgp): Rename to... | |
734 | (loadgp_newabi): ...this. | |
735 | (loadgp_noshared): Rename to... | |
736 | (loadgp_absolute): ...this. | |
737 | ||
006257dc RS |
738 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
739 | ||
740 | * config/mips/mips.c (mips_ok_for_lazy_binding_p): Always return | |
741 | false for locally-binding symbols. | |
742 | (mips_dangerous_for_la25_p): Check mips_global_symbol_p. | |
743 | ||
08e7ceb3 RS |
744 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
745 | ||
746 | * config/mips/mips-protos.h (SYMBOL_GOT_LOCAL): Rename to... | |
747 | (SYMBOL_GOT_PAGE_OFST): ...this. | |
748 | (SYMBOL_GOT_GLOBAL): Rename to... | |
749 | (SYMBOL_GOT_DISP): ...this. | |
750 | (SYMBOL_GOTOFF_GLOBAL): Rename to... | |
751 | (SYMBOL_GOTOFF_DISP): ...this. Update comments accordingly. | |
752 | * config/mips/mips.c (mips_global_symbol_p): New function. | |
753 | (mips_symbol_binds_local_p): Likewise. | |
754 | (mips_classify_symbol): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP | |
755 | and SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST. Use mips_global_symbol_p | |
756 | and mips_symbol_binds_local_p. | |
757 | (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns) | |
758 | (override_options): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP, | |
759 | SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST and SYMBOL_GOTOFF_GLOBAL to | |
760 | SYMBOL_GOTOFF_DISP. | |
761 | (mips_ok_for_lazy_binding_p): New function. | |
762 | (mips_load_call_address, mips_expand_call): Use it. | |
763 | (mips_dangerous_for_la25_p): Likewise. | |
764 | * config/mips/mips.md (*xgot_hi<mode>, *xgot_lo<mode>) | |
765 | (*got_disp<mode>): Use got_disp_operand instead of | |
766 | global_got_operand. Use SYMBOL_GOTOFF_DISP instead of | |
767 | SYMBOL_GOTOFF_GLOBAL. | |
768 | (*got_page<mode>): Use got_page_ofst_operand instead of | |
769 | local_got_operand. | |
770 | * config/mips/predicates.md (const_call_insn_operand): Use | |
771 | SYMBOL_GOT_DISP instead of SYMBOL_GOT_GLOBAL. | |
772 | (global_got_operand): Rename to... | |
773 | (got_disp_operand): ...this and use SYMBOL_GOT_DISP instead of | |
774 | SYMBOL_GOT_GLOBAL. | |
775 | (local_got_operand): Rename to... | |
776 | (got_page_ofst_operand): ...this and use SYMBOL_GOT_PAGE_OFST instead | |
777 | of SYMBOL_GOT_LOCAL. | |
778 | ||
14976818 RS |
779 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
780 | ||
781 | * config/mips/mips.h (TARGET_SPLIT_CALLS): Check | |
782 | TARGET_CALL_CLOBBERED_GP. | |
783 | (TARGET_SIBCALLS): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
784 | (TARGET_USE_GOT, TARGET_CALL_CLOBBERED_GP): New macros. | |
785 | (TARGET_CALL_SAVED_GP, TARGET_USE_PIC_FN_ADDR_REG): Likewise. | |
786 | (STARTING_FRAME_OFFSET): Check TARGET_CALL_CLOBBERED_GP instead | |
787 | of TARGET_ABICALLS && !TARGET_NEWABI. | |
788 | (MIPS_CALL): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
789 | * config/mips/mips.c (mips_load_call_address): Check | |
790 | TARGET_CALL_SAVED_GP instead of TARGET_NEWABI. | |
791 | (mips_global_pointer): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
792 | Check TARGET_CALL_SAVED_GP instead of TARGET_NEWABI. | |
793 | (mips_save_reg_p): Check TARGET_CALL_SAVED_GP instead of | |
794 | TARGET_ABICALLS && TARGET_NEWABI. | |
795 | (mips_current_loadgp_style): Check TARGET_USE_GOT instead of | |
796 | TARGET_ABICALLS. | |
797 | (mips_expand_prologue): Check TARGET_OLDABI instead of !TARGET_NEWABI. | |
798 | (mips_expand_epilogue): Check TARGET_CALL_SAVED_GP instead of | |
799 | TARGET_ABICALLS && TARGET_NEWABI. | |
800 | (mips_output_mi_thunk): Check TARGET_USE_GOT instead of | |
801 | TARGET_ABICALLS. Check TARGET_CALL_SAVED_GP instead of | |
802 | TARGET_NEWABI. Use TARGET_USE_PIC_FN_ADDR_REG to decide | |
803 | whether indirect calls must use $25. | |
804 | (mips_extra_live_on_entry): Check TARGET_GOT instead of | |
805 | TARGET_ABICALLS. | |
806 | * config/mips/mips.md (jal_macro): Check flag_pic and | |
807 | TARGET_CALL_CLOBBERED_GP instead of TARGET_ABICALLS and TARGET_NEWABI. | |
808 | (builtin_setjmp_setup, builtin_longjmp): Check TARGET_USE_GOT | |
809 | instead of TARGET_ABICALLS. | |
810 | (exception_receiver): Check TARGET_CALL_CLOBBERED_GP instead of | |
811 | TARGET_ABICALLS && TARGET_OLDABI. | |
812 | (load_call<mode>): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
813 | (sibcall): In the comment above the define_insn, mention | |
814 | TARGET_USE_PIC_FN_ADDR_REG instead of TARGET_ABICALLS. | |
815 | * config/mips/constraints.md (c): Check TARGET_USE_PIC_FN_ADDR_REG | |
816 | instead of TARGET_ABICALLS. | |
817 | ||
3efd5670 BS |
818 | 2007-04-12 Bernd Schmidt <bernd.schmidt@analog.com> |
819 | ||
820 | * doc/md.texi (Blackfin family constraints): Document PA and PB. | |
821 | * config/bfin/bfin.h (CONST_OK_FOR_P): Handle PA and PB. | |
822 | (MACFLAGS_MATCH_P): New macro. | |
823 | * config/bfin/bfin.c (print_operand): Handle MACFLAG_IS_M. | |
824 | (bfin_secondary_reload): Treat EVEN_AREGS and ODD_AREGS like AREGS. | |
825 | * config/bfin/bfin.md (MACFLAG_IS_M): New constant. Renumber some of | |
826 | the other MACFLAG constants. | |
827 | (sum_of_accumulators, lshrpdi3, ashrpdi3): New patterns. | |
828 | (flag_machi): Tighten constraints. Renumber some of the operands. | |
829 | (flag_machi_acconly): Tighten constraints. Correct operand numbers in | |
830 | output template. | |
831 | (flag_machi_parts_acconly): New pattern. | |
832 | (flag_macinithi): Tighten constraints. Allow any accumulator to be | |
833 | used. | |
834 | (flag_macinit1hi): Tighten constraints. | |
835 | (flag_mul_macv2hi_parts_acconly): New pattern. | |
836 | ||
3fbee523 BS |
837 | * config/bfin/lib1funcs.asm (___umulsi3_highpart, __smulsi3_highpart): |
838 | Use a more efficient implementation. | |
839 | * config/bfin/bfin.md (umulsi3_highpart, smulsi3_highpart): Emit | |
840 | inline sequences when not optimizing for size. | |
841 | ||
2d3649b2 BS |
842 | * config/bfin/bfin.md (movhi_low2high, movhi_high2high, movhi_low2low, |
843 | movhi_high2low): Delete, merge functionality into... | |
844 | (packv2hi): ... this pattern. | |
845 | ||
9d3f9aa3 BS |
846 | 2007-02-11 Jie Zhang <jie.zhang@analog.com> |
847 | * config/bfin/bfin.opt (msim): New option. | |
848 | (mcpu=): New option. | |
849 | * config/bfin/bfin-protos.h (enum bfin_cpu): New. | |
850 | (bfin_cpu_t): Typedef of enum bfin_cpu. | |
851 | (bfin_cpu_type): New declaration. | |
852 | * config/bfin/elf.h (STARTFILE_SPEC): Add support for | |
853 | -msim and -mcpu= options. | |
854 | (LIB_SPEC): Likewise. | |
855 | * config/bfin/bfin.c (bfin_cpu_type): Define. | |
856 | (bfin_handle_option): Handle -mcpu= option. | |
857 | * config/bfin/bfin.h (DEFAULT_CPU_TYPE): Define as BFIN_CPU_BF532. | |
858 | (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF531__, __ADSPBF532__, | |
859 | __ADSPBF533__ or __ADSPBF537__ according to the cpu type. | |
860 | ||
f4de8ba6 RS |
861 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
862 | ||
863 | * config.gcc (*-*-vxworks*): Don't add to tm_files in this stanza. | |
864 | (arm-wrs-vxworks, mips-wrs-vxworks, powerpc-wrs-vxworks) | |
865 | (powerpc-wrs-vxworksae): Use ${tm_file}. | |
866 | (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add svr4.h | |
867 | after elfos.h. Remove i386/sysv4.h and add i386/vx-common.h. | |
868 | * config/i386/vx-common.h: New file. | |
869 | ||
b83b15da RS |
870 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
871 | ||
872 | * config/vxworks.h (VXWORKS_STARTFILE_SPEC): Use -l:crt0.o instead | |
873 | of crt0.o%s. | |
874 | ||
bf259a77 AK |
875 | 2007-04-12 Andreas Krebbel <krebbel1@de.ibm.com> |
876 | ||
877 | * config/s390/s390.md ("trunctddd2"): Use TDmode for the target of | |
878 | ldxtr. | |
879 | ||
95764818 DG |
880 | 2007-04-12 Douglas Gregor <doug.gregor@gmail.com> |
881 | ||
882 | PR c++/31078 | |
883 | PR c++/31103 | |
884 | * c-common.c (c_build_qualified_type): Set canonical type | |
316fbf19 | 885 | appropriately. |
95764818 | 886 | |
a670437d RG |
887 | 2007-04-12 Richard Guenther <rguenther@suse.de> |
888 | ||
889 | * tree-pretty-print.c (dump_generic_node): Print ARRAY_REF | |
890 | lower bound and element size if lower bound is not zero | |
891 | or either of the ARRAY_REF operands is set. | |
892 | ||
5852948c RG |
893 | 2007-04-12 Richard Guenther <rguenther@suse.de> |
894 | ||
895 | PR tree-optimization/24689 | |
896 | PR tree-optimization/31307 | |
897 | * fold-const.c (operand_equal_p): Compare INTEGER_CST array | |
898 | indices by value. | |
899 | * gimplify.c (canonicalize_addr_expr): To be consistent with | |
900 | gimplify_compound_lval only set operands two and three of | |
901 | ARRAY_REFs if they are not gimple_min_invariant. This makes | |
902 | it never at this place. | |
903 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise. | |
904 | ||
8c5e065b JDA |
905 | 2007-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
906 | ||
907 | * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not | |
908 | null before emitting a .nsubspa directive. | |
909 | ||
0de107cf DN |
910 | 2007-04-11 Diego Novillo <dnovillo@redhat.com> |
911 | ||
912 | * tree-ssa-alias.c (dump_mem_ref_stats): Do not call | |
913 | need_to_partition_p if there are no memory statements in the | |
914 | function. | |
915 | ||
55a700ac ZD |
916 | 2007-04-11 Zdenek Dvorak <dvorakz@suse.cz> |
917 | ||
918 | * tree-data-ref.c (chrec_steps_divide_constant_p): Removed. | |
919 | (gcd_of_steps_may_divide_p): New function. | |
920 | (analyze_miv_subscript): Use gcd_of_steps_may_divide_p. | |
921 | ||
0f4b25a3 BS |
922 | 2007-04-11 Bernd Schmidt <bernd.schmidt@analog.com> |
923 | ||
924 | * reload.c (find_reloads_toplev, find_reloads_address, | |
925 | find_reloads_address_1, find_reloads_subreg_address): Use rtx_equal_p, | |
926 | not a pointer equality test, to decide if we need to call | |
927 | push_reg_equiv_alt_mem. | |
928 | ||
1baf2906 SP |
929 | 2007-04-11 Sebastian Pop <sebastian.pop@inria.fr> |
930 | ||
931 | * tree-data-ref.c (affine_function_zero_p, constant_access_functions, | |
932 | insert_innermost_unit_dist_vector, add_distance_for_zero_overlaps): New. | |
933 | (build_classic_dist_vector): Call add_distance_for_zero_overlaps. | |
934 | ||
55a700ac | 935 | 2007-04-11 Zdenek Dvorak <dvorakz@suse.cz> |
0ca2faee ZD |
936 | |
937 | * tree-data-ref.c (add_multivariate_self_dist): Force the distance | |
938 | vector to be positive. | |
939 | ||
e9e0aa2c DN |
940 | 2007-04-11 Diego Novillo <dnovillo@redhat.com> |
941 | ||
942 | PR 30735 | |
943 | PR 31090 | |
944 | * doc/invoke.texi: Document --params max-aliased-vops and | |
945 | avg-aliased-vops. | |
946 | * tree-ssa-operands.h (get_mpt_for, dump_memory_partitions, | |
947 | debug_memory_partitions): Move to tree-flow.h | |
948 | * params.h (AVG_ALIASED_VOPS): Define. | |
949 | * tree-ssa-alias.c (struct mp_info_def): Remove. Update all | |
950 | users. | |
951 | (mp_info_t): Likewise. | |
952 | (get_mem_sym_stats_for): New. | |
953 | (set_memory_partition): Move from tree-flow-inline.h. | |
954 | (mark_non_addressable): Only clear the set of symbols for the | |
955 | partition if it exists. | |
956 | (dump_memory_partitions): Move from tree-ssa-operands.c | |
957 | (debug_memory_partitions): Likewise. | |
958 | (need_to_partition_p): New. | |
959 | (dump_mem_ref_stats): New. | |
960 | (debug_mem_ref_stats): New. | |
961 | (dump_mem_sym_stats): New. | |
962 | (debug_mem_sym_stats): New. | |
963 | (update_mem_sym_stats_from_stmt): New. | |
964 | (compare_mp_info_entries): New. | |
965 | (mp_info_cmp): Call it. | |
966 | (sort_mp_info): Change argument to a list of mem_sym_stats_t | |
967 | objects. | |
968 | (get_mpt_for): Move from tree-ssa-operands.c. | |
969 | (find_partition_for): New. | |
970 | (create_partition_for): Remove. | |
971 | (estimate_vop_reduction): New. | |
972 | (update_reference_counts): New. | |
973 | (build_mp_info): New. | |
974 | (compute_memory_partitions): Refactor. | |
975 | Document new heuristic. | |
976 | Call build_mp_info, update_reference_counts, | |
977 | find_partition_for and estimate_vop_reduction. | |
978 | (compute_may_aliases): Populate virtual operands before | |
979 | calling debugging dumps. | |
980 | (delete_mem_sym_stats): New. | |
981 | (delete_mem_ref_stats): New. | |
982 | (init_mem_ref_stats): New. | |
983 | (init_alias_info): Call it. | |
984 | (maybe_create_global_var): Remove alias_info argument. | |
985 | Get number of call sites and number of pure/const call sites | |
986 | from gimple_mem_ref_stats(). | |
987 | (dump_alias_info): Call dump_memory_partitions first. | |
988 | (dump_points_to_info_for): Show how many times a pointer has | |
989 | been dereferenced. | |
990 | * opts.c (decode_options): For -O2 set --param | |
991 | max-aliased-vops to 500. | |
992 | For -O3 set --param max-aliased-vops to 1000 and --param | |
993 | avg-aliased-vops to 3. | |
994 | * fortran/options.c (gfc_init_options): Remove assignment to | |
995 | MAX_ALIASED_VOPS. | |
996 | * tree-flow-inline.h (gimple_mem_ref_stats): New. | |
997 | * tree-dfa.c (dump_variable): Dump memory reference | |
998 | statistics. | |
999 | Dump NO_ALIAS* settings. | |
1000 | (referenced_var_lookup): Tidy. | |
1001 | (mem_sym_stats): New. | |
1002 | * tree-ssa-copy.c (may_propagate_copy): Return true if DEST | |
1003 | and ORIG are different SSA names for a memory partition. | |
1004 | * tree-ssa.c (delete_tree_ssa): Call delete_mem_ref_stats. | |
1005 | * tree-flow.h (struct mem_sym_stats_d): Define. | |
1006 | (mem_sym_stats_t): Define. | |
1007 | (struct mem_ref_stats_d): Define. | |
1008 | (struct gimple_df): Add field mem_ref_stats. | |
1009 | (enum noalias_state): Define. | |
1010 | (struct var_ann_d): Add bitfield noalias_state. | |
1011 | (mem_sym_stats, delete_mem_ref_stats, dump_mem_ref_stats, | |
1012 | debug_mem_ref_stats, debug_memory_partitions, | |
1013 | debug_mem_sym_stats): Declare. | |
1014 | * tree-ssa-structalias.c (update_alias_info): Update call | |
1015 | sites, pure/const call sites and asm sites in structure | |
1016 | returned by gimple_mem_ref_stats. | |
1017 | Remove local variable IS_POTENTIAL_DEREF. | |
1018 | Increase NUM_DEREFS if the memory expression is a potential | |
1019 | dereference. | |
1020 | Call update_mem_sym_stats_from_stmt. | |
1021 | If the memory references memory, call | |
1022 | update_mem_sym_stats_from_stmt for all the direct memory | |
1023 | symbol references found. | |
1024 | (intra_create_variable_infos): Set noalias_state field for | |
1025 | pointer arguments according to the value of | |
1026 | flag_argument_noalias. | |
1027 | * tree-ssa-structalias.h (struct alias_info): Remove fields | |
1028 | num_calls_found and num_pure_const_calls_found. | |
1029 | (update_mem_sym_stats_from_stmt): Declare. | |
1030 | * params.def (PARAM_MAX_ALIASED_VOPS): Change description. | |
1031 | Set default value to 100. | |
1032 | (PARAM_AVG_ALIASED_VOPS): Define. | |
1033 | ||
4bf371ea RG |
1034 | 2007-04-11 Richard Guenther <rguenther@suse.de> |
1035 | ||
1036 | PR middle-end/31530 | |
1037 | * simplify-rtx.c (simplify_binary_operation_1): Do not simplify | |
1038 | a * -b + c as c - a * b if we honor sign dependent rounding. | |
1039 | ||
266d11d8 BS |
1040 | 2007-04-11 Bernd Schmidt <bernd.schmidt@analog.com> |
1041 | ||
1042 | * config/bfin/bfin-protos.h (bfin_expand_movmem): Renamed from | |
1043 | bfin_expand_strmov. | |
1044 | * config/bfin/bfin.c (bfin_expand_prologue, bfin_delegitimize_address, | |
1045 | bfin_function_ok_for_sibcall, split_load_immediate): Remove unused | |
1046 | variables. | |
1047 | (initialize_trampoline): Don't use old-style function definition. | |
1048 | (bfin_secondary_reload): Mark IN_P argument as unused. | |
1049 | ||
e9793dae SP |
1050 | 2007-04-10 Sebastian Pop <sebastian.pop@inria.fr> |
1051 | ||
1052 | PR tree-optimization/31343 | |
1053 | * tree-chrec.h (chrec_zerop): Moved before build_polynomial_chrec. | |
1054 | (build_polynomial_chrec): Return a scalar when the evolution is zero. | |
1055 | * testsuite/gcc.dg/vect/pr31343.c: New. | |
1056 | ||
54a88090 EC |
1057 | 2007-04-10 Eric Christopher <echristo@apple.com> |
1058 | ||
1059 | * config/i386/i386.h (X87_FLOAT_MODE_P): New. | |
1060 | * config/i386/i386.md (*cmpfp0): Use. | |
1061 | (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto. | |
1062 | (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto. | |
1063 | (fix_trunc<mode>_i386_fisttp): Ditto. | |
1064 | (fix_trunc<mode>_i387_fisttp_with_temp): Ditto. | |
1065 | (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto. | |
1066 | (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto. | |
1067 | (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto. | |
1068 | (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto. | |
1069 | (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto. | |
1070 | (unnamed_splitters): Ditto. | |
1071 | * config/i386/i386.c (output_fix_trunc): Assert that | |
1072 | we're not being passed a TFmode operand. | |
1073 | ||
7c57be85 ZD |
1074 | 2007-04-10 Zdenek Dvorak <dvorakz@suse.cz> |
1075 | ||
1076 | PR tree-optimization/31526 | |
1077 | * tree-inline.c (copy_cfg_body): Use last_basic_block instead of | |
1078 | n_basic_blocks to find newly added blocks. | |
1079 | ||
0218c012 UB |
1080 | 2007-04-10 Uros Bizjak <ubizjak@gmail.com> |
1081 | ||
1082 | * config/i386/i386.md (fix_trunc<mode>di_sse): Remove "x" from "xm" | |
1083 | alternative. | |
1084 | (fix_trunc<mode>si_sse): Ditto. | |
1085 | (*floatsisf2_mixed, *floatsisf2_sse): Ditto. | |
1086 | (*floatsidf2_mixed, *floatsidf2_sse): Ditto. | |
1087 | (*floatdisf2_mixed, *floatdisf2_sse): Ditto. | |
1088 | (*floatdidf2_mixed, *floatdidf2_sse): Ditto. | |
1089 | (floathi<mode>2): Rename from floathisf2 and floathidf2. Macroize | |
1090 | expander using SSEMODEF mode macro. | |
1091 | (floatsi<mode>2): Rename from floatsisf2 and floashidf2. Macroize | |
1092 | expander using SSEMODEF mode macro. | |
1093 | (*floathi<mode>2_i387): Rename from *floathisf2_i387 and | |
1094 | *floathidf2_i387. Macroize insn using X87MODEF12 mode macro. | |
1095 | (*floatsi<mode>2_i387): Rename from *floatsisf2_i387 and | |
1096 | *floatsidf2_i387. Macroize insn using X87MODEF12 mode macro. | |
1097 | (*floatdi<mode>2_i387): Rename from *floatdisf2_i387 and | |
1098 | *floatdidf2_i387. Macroize insn using X87MODEF12 mode macro. | |
1099 | (float<mode>xf2): Rename from floathixf2, floatsixf2 and floatdixf2. | |
1100 | Macroize insn using X87MODEF mode macro. | |
1101 | ||
3117d1b5 L |
1102 | 2007-04-09 H.J. Lu <hongjiu.lu@intel.com> |
1103 | ||
1104 | * config/i386/sse.md (sse2_pinsrw): Removed. | |
1105 | (sse2_pextrw): Renamed to ... | |
1106 | (*sse2_pextrw): This. | |
1107 | ||
c141e499 JH |
1108 | 2007-04-09 Jan Hubicka <jh@suse.cz> |
1109 | ||
1110 | PR target/27869 | |
1111 | * config/i386/sse.md | |
1112 | (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier. | |
1113 | (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove. | |
1114 | (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier. | |
1115 | (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove. | |
1116 | ||
6e6e19cb JH |
1117 | 2007-04-09 Jan Hubicka <jh@suse.cz> |
1118 | ||
1119 | * tree-ssa-ccp (maybe_fold_offset_to_component_ref): Recurse into | |
1120 | multiple fields of union. | |
1121 | ||
c7b852c8 ZD |
1122 | 2007-04-09 Zdenek Dvorak <dvorakz@suse.cz> |
1123 | ||
1124 | * cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge. | |
1125 | (create_preheaders): Check that loops are available. | |
1126 | (fix_loop_structure): Clean up, improve comments. | |
1127 | * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): | |
1128 | Check that loops are available. Set LOOP_CLOSED_SSA to the loops | |
1129 | state flags. | |
1130 | * tree-scalar-evolution.c (scev_finalize): Clear scalar_evolution_info. | |
1131 | * predict.c (tree_estimate_probability): Do not call | |
1132 | calculate_dominance_info. Call create_preheaders. | |
1133 | * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Only call | |
1134 | rewrite_into_loop_closed_ssa if LOOP_CLOSED_SSA is set in loops state | |
1135 | flags. | |
1136 | * cfgloop.c (loop_preheader_edge): Assert that loops have preheaders. | |
1137 | * cfgloop.h (LOOP_CLOSED_SSA): New constant. | |
1138 | * tree-cfg.c (tree_split_edge): Make an assert more precise. | |
1139 | * tree-ssa-threadedge.c (thread_across_edge): Comment the function | |
1140 | arguments. | |
1141 | ||
c586d32a JH |
1142 | 2007-04-08 Jan Hubicka <jh@suse.cz> |
1143 | ||
1144 | * tree.h (maybe_fold_offset_to_component_ref): Declare. | |
1145 | * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Export. | |
1146 | * fold-const.c (fold_unary): Use it. | |
1147 | ||
136cdb22 AP |
1148 | 2007-04-08 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1149 | ||
1150 | * varasm.c (assemble_variable): Remove call to | |
1151 | lang_hooks.decls.prepare_assemble_variable. | |
1152 | * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill. | |
1153 | (LANG_HOOKS_DECLS): Remove LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE. | |
1154 | * langhooks.h (lang_hooks_for_decls): Remove | |
1155 | prepare_assemble_variable. | |
1156 | ||
77c1632f MS |
1157 | 2007-04-08 Mike Stump <mrs@apple.com> |
1158 | ||
1159 | * config/i386/i386.c: Use inc/dec on Core2. | |
1160 | ||
cb9c159d SB |
1161 | 2007-04-08 Steven Bosscher <steven@gcc.gnu.org> |
1162 | ||
1163 | * langhooks.c (lhd_tree_inlining_add_pending_fn_decls, | |
1164 | lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining, | |
1165 | lhd_tree_inlining_end_inlining): Remove. | |
1166 | * langhooks.h (struct lang_hooks_for_tree_inlining): Remove then | |
1167 | add_pending_fn_decls, anon_aggr_type_p, start_inlining, and | |
1168 | end_inlining hooks. | |
1169 | * langhooks-def.h (lhd_tree_inlining_add_pending_fn_decls, | |
1170 | lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining, | |
1171 | lhd_tree_inlining_end_inlining): Remove prototypes. | |
1172 | (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS, | |
1173 | LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P, | |
1174 | LANG_HOOKS_TREE_INLINING_START_INLINING, | |
1175 | LANG_HOOKS_TREE_INLINING_END_INLINING): Remove. | |
1176 | ||
1177 | * c-objc-common.h (LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do | |
1178 | not set it. | |
1179 | ||
d8a1f0fb AS |
1180 | 2007-04-08 Anatoly Sokolov <aesok@post.ru> |
1181 | ||
1182 | PR target/29932 | |
1183 | * config/avr/predicates.md (io_address_operand): Delete predicate. | |
1184 | (low_io_address_operand): Don't use 'mode' argument. | |
1185 | (higth_io_address_operand): Rename ... | |
1186 | (high_io_address_operand): ... to this. Don't use 'mode' argument. | |
1187 | * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust | |
1188 | for above change. | |
1189 | ||
270c60bb DB |
1190 | 2007-04-07 Daniel Berlin <dberlin@dberlin.org> |
1191 | ||
1192 | Revert change removing staticp. | |
1193 | ||
ee57a661 AS |
1194 | 2007-04-07 Anatoly Sokolov <aesok@post.ru> |
1195 | ||
1196 | PR target/30289 | |
54a88090 | 1197 | * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as |
ee57a661 AS |
1198 | earlyclobber. |
1199 | ||
ca178f85 BK |
1200 | 2007-04-07 Bruce Korb <bkorb@gnu.org> |
1201 | ||
1202 | * c.opt: Add -Wformat-contains-nul. | |
1203 | * c-format.c (set_Wformat): Set warn_format_contains_nul to the | |
1204 | -Wformat setting. | |
1205 | (check_format_info_main): Check OPT_Wformat_contains_nul before emitting | |
1206 | the NUL byte warning. | |
1207 | ||
594dc048 L |
1208 | 2007-04-07 H.J. Lu <hongjiu.lu@intel.com> |
1209 | ||
1210 | * config/i386/i386.c (ix86_handle_option): Handle SSSE3. | |
1211 | ||
1df918ac DB |
1212 | 2007-04-06 Daniel Berlin <dberlin@dberlin.org> |
1213 | ||
1214 | * tree.c (staticp): No longer use staticp langhook. | |
1215 | * langhooks.c (lhd_staticp): Removed. | |
1216 | * langhooks.h (struct lang_hooks): Remove staticp. | |
1217 | * c-common.c (c_staticp): Remove. | |
1218 | * c-common.h (c_staticp): Ditto. | |
1219 | * langhooks-defs.h (lhd_staticp): Ditto. | |
1220 | (LHD_HOOKS_STATICP): Ditto | |
1221 | * tree.h (gcc_assert_lowered): New macro. | |
1222 | ||
ac84e05e ZD |
1223 | 2007-04-06 Zdenek Dvorak <dvorakz@suse.cz> |
1224 | ||
1225 | * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use | |
1226 | argument "reliable". | |
1227 | (infer_loop_bounds_from_ref, infer_loop_bounds_from_array): | |
1228 | Add argument "reliable". Propagate it through calls. | |
1229 | (infer_loop_bounds_from_undefined): Derive number of iterations | |
1230 | estimates from references in blocks that do not dominate loop latch. | |
1231 | (gcov_type_to_double_int): New function. | |
1232 | (estimate_numbers_of_iterations_loop): Use gcov_type_to_double_int | |
1233 | and expected_loop_iterations_unbounded. | |
1234 | * cfgloopanal.c (expected_loop_iterations_unbounded): New function. | |
1235 | (expected_loop_iterations): Use expected_loop_iterations_unbounded. | |
1236 | * tree-data-ref.c (estimated_loop_iterations): Export. | |
1237 | (get_references_in_stmt): Fix -- do not return addresses of local | |
1238 | objects. | |
1239 | * cfgloop.h (expected_loop_iterations_unbounded, | |
1240 | estimated_loop_iterations): Declare. | |
1241 | ||
4de5c5d3 AT |
1242 | 2007-04-06 Andreas Tobler <a.tobler@schweiz.org> |
1243 | ||
1244 | * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift. | |
1245 | ||
a344e3cb UB |
1246 | 2007-04-06 Uros Bizjak <ubizjak@gmail.com> |
1247 | ||
1248 | * config/i386/i386.md (extend<mode>xf2): Rename from extendsfxf2 | |
1249 | and extenddfxf2. Macroize expander using X87MODEF12 mode macro. | |
1250 | (*truncdfsf_mixed, *truncdfsf_i387, *truncdfsf2_i387_1): | |
1251 | Use output_387_reg_move(). | |
1252 | (*truncxf<mode>2): Rename from *truncxfsf2 and truncxfdf2. Macroize | |
1253 | expander using X87MODEF12 mode macro. | |
1254 | (*truncxfsf2_mixed): Combine alternatives, ignore "r" alternative when | |
1255 | choosing register preferences. Use output_387_reg_move(). | |
1256 | (*truncxfdf2_mixed): Combine alternatives, use "r" alternative | |
1257 | instead of "x". Use output_387_reg_move(). | |
1258 | (*truncxf<mode>2_i387_noop): Rename from *truncxfsf2_i387_noop and | |
1259 | *truncxfdf2_i387_noop. Macroize insn using X87MODEF12 mode macro. | |
1260 | (*truncxf<mode>2_i387): Rename from *truncxfsf2_i387 and | |
1261 | *truncxfdf2_i387. Macroize insn using X87MODEF12 mode macro. | |
1262 | Use output_387_reg_move(). | |
1263 | (*truncxf?f_mixed splitter): Macroize splitter using X87MODEF12 | |
1264 | mode macro. | |
1265 | (*truncxf?f_i387 splitter): Ditto. | |
1266 | ||
9c269bf8 DB |
1267 | 2007-04-06 Daniel Berlin <dberlin@dberlin.org> |
1268 | ||
1269 | * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove | |
1270 | LANG_HOOKS_SAFE_FROM_P. | |
1271 | * expr.c (safe_from_p): Remove langhook call. | |
1272 | * langhooks.h (lang_hooks): Remove safe_from_p. | |
1273 | (lhd_safe_from_p): Remove prototype. | |
1274 | * langhooks.c (lhd_safe_from_p): Remove. | |
54a88090 | 1275 | |
b521dcbe JH |
1276 | 2007-04-06 Jan Hubicka <jh@suse.cz> |
1277 | ||
1278 | * cgraphunit.c (decide_is_function_needed): Do not keep always_inline | |
1279 | functions. | |
1280 | ||
d869c351 UB |
1281 | 2007-04-06 Uros Bizjak <ubizjak@gmail.com> |
1282 | ||
1283 | * config/i386/i386.c (output_387_reg_move): Handle memory operand[0]. | |
1284 | * config/i386/i386.md (*movsf_1, *movdf_nointeger, | |
1285 | *movdf_integer_rex64, *movdf_integer, *movxf_nointeger, | |
1286 | *movxf_integer): Use output_387_reg_move() for x87 reg->mem | |
1287 | alternative. | |
1288 | (*extendsfdf2_mixed, *extendsfdf2_i387, *extendsfxf2_i387, | |
1289 | *extenddfxf2_i387, *truncdfsf_fast_mixed): Ditto. | |
1290 | ||
e4bec638 RH |
1291 | 2007-04-05 Richard Henderson <rth@redhat.com> |
1292 | ||
1293 | * config/alpha/alpha.c (print_operand) [+]: Remove. | |
1294 | (alpha_end_function): Print nop if call at end of function. | |
1295 | * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Remove +. | |
1296 | * config/alpha/alpha.md (UNSPEC_LDGP1): New. | |
1297 | (call_osf_1_er_noreturn, call_value_osf_1_er_noreturn): New. | |
1298 | (call_osf_2_er_nogp, call_value_osf_2_er_nogp): New. | |
1299 | (call_osf_2_er, call_value_osf_2_er): Merge the ldgp highpart into | |
1300 | the call pattern. Update peepholes to match. | |
1301 | ||
44aea9ac JJ |
1302 | 2007-04-05 Janis Johnson <janis187@us.ibm.com> |
1303 | ||
1304 | * doc/extend.texi (Other Builtins): Add decimal float variants | |
1305 | of signbit. | |
1306 | * builtins.def: Ditto. | |
1307 | * builtins.c (expand_builtin): Ditto. | |
1308 | ||
27120a59 UB |
1309 | 2007-04-05 Uros Bizjak <ubizjak@gmail.com> |
1310 | H.J. Lu <hongjiu.lu@intel.com> | |
1311 | ||
1312 | PR target/31478 | |
1313 | * config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead | |
1314 | of V8HImode when calling ix86_binary_operator_ok. | |
1315 | (sse2_pmaddwd): Call ix86_binary_operator_ok. | |
1316 | (sdot_prodv8hi): Operands 1 and 2 must be register. | |
1317 | ||
fa574e51 AO |
1318 | 2007-04-05 Alexandre Oliva <aoliva@redhat.com> |
1319 | ||
1320 | * tree-sra.c (try_instantiate_multiple_fields): Needlessly | |
1321 | initialize align to silence bogus warning. | |
1322 | ||
dc808df6 AO |
1323 | 2007-04-05 Alexandre Oliva <aoliva@redhat.com> |
1324 | ||
1325 | PR middle-end/22156 | |
1326 | * tree-sra.c (struct sra_elt): Add in_bitfld_block. Remove | |
1327 | all_no_warning. | |
1328 | (struct sra_walk_fns): Remove use_all parameter from use. | |
1329 | (sra_hash_tree): Handle BIT_FIELD_REFs. | |
1330 | (sra_elt_hash): Don't hash bitfld blocks. | |
1331 | (sra_elt_eq): Skip them in parent compares as well. Handle | |
1332 | BIT_FIELD_REFs. | |
1333 | (sra_walk_expr): Don't maintain or pass down use_all_p. | |
1334 | (scan_use): Remove use_all parameter. | |
1335 | (scalarize_use): Likewise. Re-expand assignment to | |
1336 | BIT_FIELD_REF of gimple_reg. De-scalarize before input or | |
1337 | output, and re-scalarize after output. Don't mark anything | |
1338 | for no warning. | |
1339 | (scalarize_ldst): Adjust. | |
1340 | (scalarize_walk_gimple_modify_statement): Likewise. | |
1341 | (build_element_name_1): Handle BIT_FIELD_REFs. | |
1342 | (instantiate_element): Don't warn for any element whose parent | |
1343 | is used as a whole. | |
1344 | (instantiate_missing_elements_1): Return the sra_elt. | |
1345 | (canon_type_for_field): New. | |
1346 | (try_instantiate_multiple_fields): New. | |
1347 | (instantiate_missing_elemnts): Use them. | |
1348 | (mark_no_warning): Removed. | |
1349 | (generate_one_element_ref): Handle BIT_FIELD_REFs. | |
1350 | (REPLDUP, sra_build_elt_assignment): New. | |
1351 | (generate_copy_inout): Use them. | |
1352 | (generate_element_copy): Likewise. Handle bitfld differences. | |
1353 | (generate_element_zero): Don't recurse for blocks. Use | |
1354 | sra_build_elt_assignment. | |
1355 | (generate_one_element_int): Take elt instead of var. Use | |
1356 | sra_build_elt_assignment. | |
1357 | (generate_element_init_1): Adjust. | |
1358 | (scalarize_use, scalarize_copy): Use REPLDUP. | |
1359 | (scalarize_ldst): Move assert before dereference. | |
1360 | (dump_sra_elt_name): Handle BIT_FIELD_REFs. | |
1361 | ||
21f7aaa4 SB |
1362 | 2007-04-05 Steven Bosscher <steven@gcc.gnu.org> |
1363 | ||
1364 | * regmove.c: Fix unused variable warnings due to previous commit. | |
1365 | ||
a78f3e71 SB |
1366 | 2007-04-05 Steven Bosscher <steven@gcc.gnu.org> |
1367 | ||
1368 | * regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize. | |
1369 | (regmove_bb_head): Remove. | |
1370 | (copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD. | |
1371 | (regmove_optimize): Don't do unnecessary CFG fixes for non-existing | |
1372 | problems with fixup_match_1. | |
1373 | Don't initialize/free regmove_bb_head. | |
1374 | ||
1375 | (reg_is_remote_constant_p): If an insn is in the same basic block | |
1376 | but not before INSN, consider it remote, too. | |
1377 | ||
f9ca0dee AS |
1378 | 2007-04-05 Anatoly Sokolov <aesok@post.ru> |
1379 | ||
1380 | PR target/25448 | |
54a88090 | 1381 | * config/avr/avr.c (avr_handle_fndecl_attribute): Use the |
f9ca0dee AS |
1382 | DECL_ASSEMBLER_NAME, not the DECL_NAME. |
1383 | ||
7706ca5d L |
1384 | 2007-04-05 H.J. Lu <hongjiu.lu@intel.com> |
1385 | ||
1386 | * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Reformat. | |
1387 | (CONDITIONAL_REGISTER_USAGE): Likewise. | |
1388 | ||
51a6c5b3 RH |
1389 | 2007-04-04 Richard Henderson <rth@redhat.com> |
1390 | ||
1391 | * config/alpha/lib1funcs.asm: Remove unused file. | |
1392 | ||
b5456e04 BM |
1393 | 2007-04-04 Brooks Moses <brooks.moses@codesourcery.com> |
1394 | ||
1395 | PR other/31356 | |
1396 | * opts.c (print_specific_help): Fix --help=<language> | |
1397 | header line. | |
1398 | (common_handle_option): Support --help=common. | |
1399 | ||
2c4c82dd BM |
1400 | 2007-04-04 Brooks Moses <brooks.moses@codesourcery.com> |
1401 | ||
1402 | PR other/31353 | |
1403 | * gcc.c (main): Do not run the linker if | |
1404 | print_subprocess_help indicates that it shouldn't be | |
1405 | run. | |
1406 | ||
5bb43e6d BM |
1407 | 2007-04-04 Brooks Moses <brooks.moses@codesourcery.com> |
1408 | ||
1409 | PR doc/31355 | |
1410 | * doc/invoke.texi (--help=): Document <languages> value, fix | |
1411 | formatting in tables of values. | |
1412 | ||
6acd8838 DS |
1413 | 2007-04-04 Danny Smith <dannysmith.users.sourceforge.net> |
1414 | ||
1415 | * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore | |
1416 | dllimport attribute of virtual methods. | |
1417 | ||
c6681463 CL |
1418 | 2007-04-04 Chen Liqin <liqin@sunnorth.com.cn> |
1419 | ||
c7a2139b RH |
1420 | * config/score/crti.asm: Change _bss_start to __bss_start. |
1421 | * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added. | |
1422 | (OUTGOING_REG_PARM_STACK_SPACE) update. | |
1423 | * config/score/score.opt: add options to make backend support | |
1424 | score5, score5u, score7 and score7d. | |
1425 | * config/score/score.md: Likewise. | |
1426 | * config/score/misc.md: Likewise. | |
1427 | * config/score/mac.md: Likewise. | |
1428 | * doc/invoke.texi: Likewise. | |
1429 | * doc/md.texi: update constraints define. | |
c6681463 | 1430 | |
fdd84500 RH |
1431 | 2007-04-03 Richard Henderson <rth@redhat.com> |
1432 | ||
1433 | * expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield | |
1434 | an appropriate type, use the mode instead. | |
1435 | ||
9200d6c8 RS |
1436 | 2007-04-03 Richard Sandiford <richard@codesourcery.com> |
1437 | ||
1438 | * config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file. | |
1439 | Set the default --with-arch setting to mips2. | |
1440 | * config/mips/t-vxworks (MULTILIB_OPTIONS, MULTILIB_MATCHES) | |
1441 | (MULTILIB_EXCEPTIONS): Redefine with new multilibs. | |
1442 | (MULTILIB_OSDIRNAMES): Delete. | |
1443 | (MULTILIB_DIRNAMES): Define. | |
1444 | * config/mips/vxworks.h (LINK_SPEC): Add VXWORKS_LINK_SPEC. | |
1445 | (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Define. | |
1446 | (TARGET_OS_CPP_BUILTINS): Incorporate old SUBTARGET_CPP_SPEC | |
1447 | definitions, except for _WRS_R3K_EXC_SUPPORT. Call | |
1448 | VXWORKS_OS_CPP_BUILTINS. | |
1449 | (SUBTARGET_CPP_SPEC): Redefine to VXWORKS_ADDITIONAL_CPP_SPEC. | |
1450 | (MIPS_DEBUGGING_INFO): Undefine. | |
1451 | (FUNCTION_PROFILER): Define to VXWORKS_FUNCTION_PROFILER. | |
1452 | ||
0a9430a8 JJ |
1453 | 2007-04-03 Jakub Jelinek <jakub@redhat.com> |
1454 | ||
1455 | PR middle-end/30704 | |
1456 | * fold-const.c (native_encode_real): Encode real.c provided longs | |
1457 | as a series of 32-bit native integers. | |
1458 | (native_interpret_real): Interpret buffer as a series of 32-bit | |
1459 | native integers. | |
1460 | ||
5be527d0 RG |
1461 | 2007-04-03 Richard Guenther <rguenther@suse.de> |
1462 | ||
1463 | * genpreds.c (write_insn_constraint_len): Write function | |
1464 | optimized for CONSTRAINT_LEN implementation. | |
1465 | (write_tm_preds_h): Output insn_constraint_len inline and | |
1466 | use it for CONSTRAINT_LEN. | |
1467 | (write_insn_preds_c): Don't output insn_constraint_len. | |
1468 | * doc/md.texi (define_register_constraint): Document multi-letter | |
1469 | constraints shall have the same length if they start with the same | |
1470 | letter. | |
1471 | ||
81e864cb UB |
1472 | 2007-04-03 Uros Bizjak <ubizjak@gmail.com> |
1473 | ||
1474 | PR target/31175 | |
1475 | * config/i386/i386.md (isinf<mode>2): Expand only when | |
1476 | TARGET_C99_FUNCTIONS is set. | |
1477 | ||
577565f9 UB |
1478 | 2007-04-03 Uros Bizjak <ubizjak@gmail.com> |
1479 | ||
1480 | * config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file. | |
1481 | (x86_64-*-linux*): Ditto. | |
1482 | * config/i386/i386.opt (mpc): New option. | |
1483 | * config/i386/i386.c (overrride_options): Handle | |
1484 | ix87_precision_string. | |
1485 | * config/i386/crtprec.c: New file. | |
1486 | * config/i386/t-crtpc: Ditto. | |
1487 | * config/i386/linux.h (ENDFILE_SPEC): Add handling of -mpc32, -mpc64 | |
1488 | and -mpc80 options. | |
1489 | * config/i386/linux64.h (ENDFILE_SPEC): Ditto. | |
1490 | * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add | |
1491 | crtprec32.o, crtprec64.o and crtprec80.o. | |
1492 | ||
1493 | * doc/invoke.texi (Machine Dependent Options): Add -mpc32, -mpc64 | |
1494 | and -mpc80 options. | |
1495 | (i386 and x86-64 Options): Document -mpc32, -mpc64 and -mpc80 options. | |
1496 | ||
cb7ad97b EC |
1497 | 2007-04-02 Eric Christopher <echristo@apple.com> |
1498 | ||
1499 | * doc/invoke.texi (i386 and x86-64 Options): Document -m64 | |
1500 | limitations on darwin. | |
1501 | ||
c8bbabf2 AS |
1502 | 2007-04-02 Anatoly Sokolov <aesok@post.ru> |
1503 | ||
1504 | PR target/31137 | |
1505 | * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements. | |
1506 | ||
f71e957e DK |
1507 | 2007-04-02 Dave Korn <dave.korn@artimi.com> |
1508 | ||
ae65d512 | 1509 | * doc/tm.texi (FUNCTION_MODE): Update and extend documentation. |
cb7ad97b | 1510 | |
c82476bf DK |
1511 | 2007-04-02 Dave Korn <dave.korn@artimi.com> |
1512 | ||
ae65d512 DK |
1513 | * libgcc2.h (exception_descriptor): Don't forward-declare. |
1514 | (__get_eh_table_language, __get_eh_table_version): Delete | |
c82476bf DK |
1515 | prototypes of long-dead functions. |
1516 | ||
53a853de DB |
1517 | 2007-04-01 Daniel Berlin <dberlin@dberlin.org> |
1518 | ||
1519 | * ebitmap.h: New file | |
1520 | * ebitmap.c: New file | |
1521 | * Makefile.in (ebitmap.o): New target. | |
1522 | ||
26cb3993 JH |
1523 | 2007-04-01 Jan Hubicka <jh@suse.cz> |
1524 | ||
1525 | * emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit | |
1526 | before very first instruction. | |
1527 | ||
1528 | 2007-04-01 Jan Hubicka <jh@suse.cz> | |
1529 | ||
1530 | * ggc-page.c (ggc_print_statistics): Fix formatting string to avoid | |
1531 | waring on 64bit hosts. | |
1532 | * bitmap.h: Fix typo in bitmap_head_def. | |
1533 | ||
5b52976b SB |
1534 | 2007-04-01 Steven Bosscher <steven@gcc.gnu.org> |
1535 | ||
1536 | PR rtl-optimization/31391 | |
1537 | * cfgcleanup.c (try_optimize_cfg): If a removed label is turned | |
1538 | into a DELETED_LABEL note, and the label is in an empty basic | |
1539 | block, update BB_END as well as BB_HEAD. | |
1540 | ||
af33044f RH |
1541 | 2007-04-01 Richard Henderson <rth@redhat.com> |
1542 | ||
1543 | PR tree-optimization/31169 | |
1544 | * tree-vrp.c (extract_range_from_binary_expr) <RSHIFT_EXPR>: Drop | |
1545 | to varying if the range is outside [0, prec-1]. | |
1546 | ||
1732457d RS |
1547 | 2007-04-01 Richard Sandiford <richard@codesourcery.com> |
1548 | ||
1549 | PR target/31388 | |
1550 | * config/mips/mips.md (load_const_gp): New insn. | |
1551 | * config/mips/mips.c (mips_split_symbol): Avoid using or creating | |
1552 | the MIPS16 GP pseudo register if no_new_pseudos. | |
1553 | (mips16_gp_pseudo_reg): Use gen_load_const_gp. | |
1554 | ||
ee05ef56 AP |
1555 | 2007-03-31 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1556 | ||
1557 | PR target/31364 | |
1558 | * config/rs6000/rs6000.md (call): Convert to LR hard reg for | |
1559 | secureplt. | |
1560 | (call_value): Likewise. | |
1561 | ||
c9516c38 | 1562 | 2007-03-31 Wolfgang Bangerth <bangerth@dealii.org> |
577565f9 | 1563 | Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
c9516c38 WB |
1564 | |
1565 | PR 14737 | |
1566 | * doc/invoke.texi: (optimization options): Reword description | |
1567 | of -ffast-math. Document its primary purpose. | |
cb7ad97b | 1568 | |
6be42dd4 RG |
1569 | 2007-03-31 Richard Guenther <rguenther@suse.de> |
1570 | ||
1571 | * omp-low.c (splay-tree.h): Include. | |
1572 | (lookup_decl): Replace splay-tree usage by pointer-map. | |
1573 | (maybe_lookup_decl): Likewise. | |
1574 | (new_omp_context): Likewise. | |
1575 | (delete_omp_context): Likewise. | |
1576 | * gimplify.c (splay-tree.h): Include. | |
1577 | * tree-inline.c (insert_decl_map): Replace splay-tree usage by | |
1578 | pointer-map. | |
1579 | (remap_ssa_name): Likewise. | |
1580 | (remap_decl): Likewise. | |
1581 | (remap_type_1): Likewise. | |
1582 | (remap_type): Likewise. | |
1583 | (copy_body_r): Likewise. | |
1584 | (expand_call_inline): Likewise. | |
1585 | (clone_body): Likewise. | |
1586 | (copy_tree_r): Likewise. | |
1587 | (remap_save_expr): Likewise. | |
1588 | (unsave_r): Likewise. | |
1589 | (unsave_expr_now): Likewise. | |
1590 | (tree_function_versioning): Likewise. | |
1591 | (build_duplicate_type): Likewise. | |
1592 | * tree-inline.h (pointer-set.h): Include instead of splay-tree.h. | |
1593 | (struct copy_body_data): Replace splay-tree by pointer-map. | |
1594 | * Makefile.in (TREE_INLINE_H): Depend on pointer-map.h, | |
1595 | not $(SPLAY_TREE_H). | |
1596 | (gimplify.o): Depend on $(SPLAY_TREE_H). | |
1597 | (omp-low.p): Likewise. | |
1598 | ||
d54a92b5 AS |
1599 | 2007-03-31 Anatoly Sokolov <aesok@post.ru> |
1600 | ||
cb7ad97b | 1601 | * config/avr/predicates.md (even_register_operand, |
d54a92b5 AS |
1602 | odd_register_operand): New predicates. |
1603 | * config/avr/avr.md (movw peephole2): New. | |
1604 | (movw_r peephole2): New. | |
1605 | ||
47ecd38d RAE |
1606 | 2007-03-30 Rafael Avila de Espindola <espindola@google.com> |
1607 | ||
1608 | * tree.h (get_signed_or_unsigned_type): New. | |
1609 | * fold-const.c (operand_equal_for_comparison_p): Use | |
1610 | get_signed_or_unsigned_type instead of | |
1611 | lang_hooks.types.signed_or_unsigned_type. | |
1612 | * expr.c (store_expr): Ditto. | |
1613 | * langhooks.c (get_signed_or_unsigned_type): New. | |
1614 | (lhd_signed_or_unsigned_type): New. | |
1615 | * langhooks.h (lhd_signed_or_unsigned_type): New. | |
1616 | * langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Define. | |
1617 | ||
ccf8e764 RH |
1618 | 2007-03-30 Richard Henderson <rth@redhat.com> |
1619 | ||
1620 | * tree-ssa-loop-ivopts.c: Include target.h. | |
1621 | (produce_memory_decl_rtl): Pass the rtx through encode_section_info. | |
1622 | (get_address_cost): Force SYMBOL_FLAG_LOCAL set. | |
1623 | (force_expr_to_var_cost): Use produce_memory_decl_rtl. | |
1624 | * Makefile.in (tree-ssa-loop-ivopts.o): Depend on TARGET_H. | |
1625 | ||
1626 | 2007-03-30 Richard Henderson <rth@redhat.com> | |
1627 | Kai Tietz <kai.tietz@onevision.com> | |
1628 | ||
1629 | * config/i386/cygming.h (DWARF2_DEBUGGING_INFO): Enable by | |
1630 | default for 64-bit. | |
1631 | (PREFERRED_DEBUGGING_TYPE): Prefer dwarf2 for 64-bit. | |
1632 | (TARGET_64BIT_MS_ABI): New. | |
1633 | (DBX_REGISTER_NUMBER): Handle 64-bit. | |
1634 | (SIZE_TYPE, PTRDIFF_TYPE): Use long long for 64-bit. | |
1635 | (LONG_TYPE_SIZE): Force to 32. | |
1636 | (REG_PARM_STACK_SPACE): New. | |
1637 | (OUTGOING_REG_PARM_STACK_SPACE): New. | |
1638 | (REGPARM_MAX, SSE_REGPARM_MAX): New. | |
1639 | (HANDLE_PRAGMA_PUSH_POP_MACRO): New. | |
1640 | (STACK_BOUNDARY): Use 128 for 64-bit. | |
1641 | * config/i386/cygwin.asm: Use push/ret to preserve call stack. | |
1642 | Add 64-bit implementation. | |
1643 | * config/i386/gthr-win32.c (__gthr_win32_key_create): Mark dtor | |
1644 | argument unused. | |
1645 | * config/i386/i386.c (x86_64_ms_abi_int_parameter_registers): New. | |
1646 | (override_options): Set ix86_cmodel for TARGET_64BIT_MS_ABI. | |
1647 | Warn for -mregparm, -mrtd in 64-bit mode; force ix86_regparm | |
1648 | for 64-bit; use TARGET_SUBTARGET64_DEFAULT. | |
1649 | (ix86_handle_cconv_attribute): Don't warn when ignoring if | |
1650 | TARGET_64BIT_MS_ABI. | |
1651 | (ix86_function_arg_regno_p): Handle TARGET_64BIT_MS_ABI. | |
1652 | (ix86_pass_by_reference): Likewise. | |
1653 | (ix86_function_value_regno_p): Likewise. | |
1654 | (ix86_build_builtin_va_list): Likewise. | |
1655 | (ix86_va_start, ix86_gimplify_va_arg): Likewise. | |
1656 | (function_arg_advance_ms_64): New. | |
1657 | (function_arg_advance): Call it. | |
1658 | (function_arg_ms_64): New. | |
1659 | (function_arg): Call it. | |
1660 | (function_value_ms_64): New. | |
1661 | (ix86_function_value_1): Call it. | |
1662 | (return_in_memory_ms_64): New. | |
1663 | (ix86_return_in_memory): Call it. | |
1664 | (setup_incoming_varargs_ms_64): New. | |
1665 | (ix86_setup_incoming_varargs): Call it. | |
1666 | (ix86_expand_prologue): Handle 64-bit stack probing. | |
1667 | (legitimize_pic_address): Handle TARGET_64BIT_MS_ABI. | |
1668 | (output_pic_addr_const): Likewise. | |
1669 | (x86_this_parameter): Likewise. | |
1670 | (x86_output_mi_thunk): Likewise. | |
1671 | (x86_function_profiler): Likewise. | |
1672 | (TARGET_STRICT_ARGUMENT_NAMING): New. | |
1673 | * config/i386/i386.h (TARGET_SUBTARGET64_DEFAULT): New. | |
1674 | (TARGET_64BIT_MS_ABI): New. | |
1675 | (CONDITIONAL_REGISTER_USAGE): Handle TARGET_64BIT_MS_ABI. | |
1676 | * config/i386/i386.md (allocate_stack_worker): Remove. | |
1677 | (allocate_stack_worker_32): Rename from allocate_stack_worker_1; | |
1678 | describe the clobber of eax without a match_scratch. | |
1679 | (allocate_stack_worker_postreload): Remove. | |
1680 | (allocate_stack_worker_64): Rename from allocate_stack_worker_rex64; | |
1681 | describe the clobbers of rax, r10, r11 properly; use __chkstk symbol. | |
1682 | (allocate_stack_worker_rex64_postreload): Remove. | |
1683 | (allocate_stack): Handle 64-bit. | |
1684 | * config/i386/i386elf (TARGET_SUBTARGET_DEFAULT): Remove. | |
1685 | * config/i386/mingw32.h (TARGET_VERSION): Set correctly for 64-bit. | |
1686 | (EXTRA_OS_CPP_BUILTINS): Handle 64-bit. | |
1687 | (STANDARD_INCLUDE_DIR): Handle TARGET_64BIT_DEFAULT. | |
1688 | (STANDARD_STARTFILE_PREFIX_1): Likewise. | |
1689 | * config/i386/unix.h (TARGET_SUBTARGET64_DEFAULT): New. | |
1690 | * config.build (x86_64-*-mingw*): New host. | |
1691 | * config.host (x86_64-*-mingw*): New host. | |
1692 | * config.gcc (x86_64-*-mingw*): New target. | |
1693 | * gthr-win32.h (__gthread_key_create): Mark dtor unused. | |
1694 | ||
121de39f RH |
1695 | 2007-03-30 Richard Henderson <rth@redhat.com> |
1696 | Kai Tietz <kai.tietz@onevision.com> | |
1697 | ||
1698 | * c-pragma.c (struct def_pragma_macro_value): New. | |
1699 | (struct def_pragma_macro): New. | |
1700 | (pushed_macro_table): New. | |
1701 | (dpm_hash, dpm_eq): New. | |
1702 | (handle_pragma_push_macro, handle_pragma_pop_macro): New. | |
1703 | (init_pragma): Install them. | |
1704 | * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): New. | |
1705 | ||
6c7ac15d AS |
1706 | 2007-03-30 Anatoly Sokolov <aesok@post.ru> |
1707 | ||
cb7ad97b | 1708 | * config/avr/avr.c (avr_override_options): Clear |
6c7ac15d AS |
1709 | 'flag_delete_null_pointer_checks'. |
1710 | ||
cb68ec50 PC |
1711 | 2007-03-30 Paolo Carlini <pcarlini@suse.de> |
1712 | ||
1713 | PR c++/26099 | |
1714 | * c-common.h (enum rid): Add RID_HAS_NOTHROW_ASSIGN, | |
1715 | RID_HAS_NOTHROW_CONSTRUCTOR, RID_HAS_NOTHROW_COPY, | |
1716 | RID_HAS_TRIVIAL_ASSIGN, RID_HAS_TRIVIAL_CONSTRUCTOR, | |
1717 | RID_HAS_TRIVIAL_COPY, RID_HAS_TRIVIAL_DESTRUCTOR, | |
1718 | RID_HAS_VIRTUAL_DESTRUCTOR, RID_IS_ABSTRACT, RID_IS_BASE_OF, | |
1719 | RID_IS_CONVERTIBLE_TO, RID_IS_CLASS, RID_IS_EMPTY, RID_IS_ENUM, | |
1720 | RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_UNION, as | |
1721 | C++ extensions. | |
1722 | * doc/extend.texi (Extensions to the C++ Language): Add Type Traits. | |
1723 | ||
c7a0240a SB |
1724 | 2007-03-30 Steven Bosscher <steven@gcc.gnu.org> |
1725 | ||
1726 | * regmove.c: Move all of pass_stack_adjustments from here... | |
1727 | * combine-stack-adj.c: ...to this new file. | |
1728 | * Makefile.in: Add rules for combine-stack-adj.o. | |
1729 | ||
f86289d5 ZD |
1730 | 2007-03-30 Zdenek Dvorak <dvorakz@suse.cz> |
1731 | ||
1732 | PR tree-optimization/31383 | |
1733 | * tree-data-ref.c (affine_function_equal_p): Do not require the vectors | |
1734 | to have the same length. | |
1735 | ||
4f40bddf JH |
1736 | 2007-03-30 Jan Hubicka <jh@suse.cz> |
1737 | ||
59af4391 | 1738 | PR middle-end/30700 |
cb7ad97b | 1739 | * dwarf2out.c (reference_to_unused): Ask cgraph for functions |
4f40bddf JH |
1740 | availablility; add more sanity checking; ask varpool only about |
1741 | VAR_DECL. | |
1742 | ||
58c11467 RH |
1743 | 2007-03-29 Richard Henderson <rth@redhat.com> |
1744 | ||
1745 | * unwind-generic.h (_sleb128_t, _uleb128_t): Don't use HAVE_LONG_LONG | |
1746 | to decide, but __SIZEOF_LONG_LONG__. | |
1747 | ||
5b77de89 RH |
1748 | 2007-03-29 Richard Henderson <rth@redhat.com> |
1749 | ||
1750 | * emutls.c (struct __emutls_array): New. | |
1751 | (emutls_destroy): Use it instead of casting element 0 from void*. | |
1752 | (__emutls_get_address): Likewise. | |
1753 | ||
da489f73 RH |
1754 | 2007-03-29 Richard Henderson <rth@redhat.com> |
1755 | ||
1756 | * varasm.c (initializer_constant_valid_p): Don't deny | |
1757 | DECL_DLLIMPORT_P on functions. | |
1758 | ||
1759 | * config/i386/cygming.h: Remove function declarations. | |
1760 | (SUBTARGET_ENCODE_SECTION_INFO): Don't undef first. | |
1761 | (ASM_OUTPUT_LABELREF): Remove. | |
1762 | (COMMON_ASM_OP): Remove. | |
1763 | (ASM_OUTPUT_COMMON): Remove. | |
1764 | (ASM_OUTPUT_ALIGNED_DECL_COMMON): New. | |
1765 | (ASM_DECLARE_OBJECT_NAME): Use i386_pe_maybe_record_exported_symbol. | |
1766 | (ASM_DECLARE_FUNCTION_NAME): Likewise. | |
1767 | * config/i386/i386-interix.h (SUBTARGET_ENCODE_SECTION_INFO): | |
1768 | Rename from TARGET_ENCODE_SECTION_INFO. | |
1769 | * config/i386/netware.h: Likewise. | |
1770 | * config/i386/i386-protos.h: Update. | |
1771 | * config/i386/i386.c (ix86_function_ok_for_sibcall): Turn ifdef | |
1772 | of TARGET_DLLIMPORT_DECL_ATTRIBUTES into straight if. | |
1773 | (legitimate_constant_p): Reject dllimports. | |
1774 | (dllimport_map, get_dllimport_decl): New. | |
1775 | (legitimize_dllimport_symbol): New. | |
1776 | (legitimize_address, ix86_expand_move): Use it. | |
1777 | (TARGET_BINDS_LOCAL_P): Redefine for TARGET_DLLIMPORT_DECL_ATTRIBUTES. | |
1778 | * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Remove. | |
1779 | (SYMBOL_FLAG_DLLIMPORT, SYMBOL_REF_DLLIMPORT_P): New. | |
1780 | (SYMBOL_FLAG_DLLEXPORT, SYMBOL_REF_DLLEXPORT_P): New. | |
1781 | * config/i386/predicates.md (constant_call_address_operand): Only | |
1782 | accept symbols; reject dllimport_p symbols. | |
1783 | * config/i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Use | |
1784 | i386_pe_maybe_record_exported_symbol. | |
1785 | * config/i386/winnt.c (DLL_IMPORT_PREFIX, DLL_EXPORT_PREFIX): Remove. | |
1786 | (i386_pe_determine_dllexport_p): Rename from i386_pe_dllexport_p. | |
1787 | (i386_pe_determine_dllimport_p): Rename from i386_pe_dllimport_p; | |
1788 | trust the setting of DECL_DLLIMPORT_P. | |
1789 | (i386_pe_dllexport_name_p, i386_pe_dllimport_name_p): Remove. | |
1790 | (i386_pe_mark_dllexport, i386_pe_mark_dllimport): Remove. | |
1791 | (gen_stdcall_or_fastcall_suffix): Return NULL if no change required; | |
1792 | tidy the argument scanning loop. | |
1793 | (i386_pe_encode_section_info): Set SYMBOL_FLAG_DLLIMPORT and | |
1794 | SYMBOL_FLAG_DLLEXPORT in SYMBOL_REF_FLAGS. | |
1795 | (i386_pe_strip_name_encoding): Remove. | |
1796 | (i386_pe_binds_local_p): New. | |
1797 | (i386_pe_strip_name_encoding_full): Use default_strip_name_encoding. | |
1798 | (i386_pe_output_labelref): Remove. | |
1799 | (i386_pe_asm_output_aligned_decl_common): New. | |
1800 | (i386_pe_maybe_record_exported_symbol): Rename from | |
1801 | i386_pe_record_exported_symbol; check for dllexported symbols. | |
1802 | ||
311e3ff0 ZW |
1803 | 2007-03-29 Zack Weinberg <zack@mrtock.ucsd.edu> |
1804 | ||
1805 | * gengtype.c (oprintf): Mostly revert changes from 2007-03-26; | |
1806 | add comment explaining why vsnprintf cannot be used. | |
1807 | ||
e89886a0 DG |
1808 | 2007-03-29 Douglas Gregor <doug.gregor@gmail.com> |
1809 | ||
1810 | PR tree-optimization/30666 | |
1811 | * tree.c (build_complex_type): When creating type names for DWARF2 | |
1812 | debug info, create TYPE_DECLs for TYPE_NAME instead of | |
1813 | IDENTIFIER_NODEs. | |
1814 | (build_common_tree_nodes_2): Use build_complex_type when building | |
1815 | predefined complex types, to preserve canonical types. | |
1816 | ||
cab6e771 SB |
1817 | 2007-03-29 Steven Bosscher <steven@gcc.gnu.org> |
1818 | ||
1819 | * ifcvt.c (struct noce_if_info): Add then_else_reversed field. | |
1820 | (noce_get_alt_condition): Look at it to determine whether to | |
1821 | reverse the condition or not. | |
1822 | (noce_get_condition): Substitute the truth for lies. | |
1823 | (noce_find_if_block): Set the then_else_reversed field. | |
1824 | ||
ed31d14c LP |
1825 | 2007-03-29 Lars Poeschel <larsi@wh2.tu-dresden.de> |
1826 | ||
1827 | * config/fr30/fr30.md (movdi): Do not accept immediates as the | |
1828 | destination of this insn. | |
1829 | * config/fr30/fr30.c (fr30_move_double): Use emit_move_insn rather | |
1830 | than calling gen_rtx_SET directly. Use r0 to hold the value of | |
1831 | 'address + 4' rather than a stack based temporary which can be | |
1832 | mis-optimized away. | |
cb7ad97b | 1833 | |
833cd70a AK |
1834 | 2007-03-29 Andreas Krebbel <krebbel1@de.ibm.com> |
1835 | ||
1836 | * config/s390/s390.c (s390_secondary_input_reload_class, | |
1837 | s390_secondary_output_reload_class): Functions removed. | |
1838 | (s390_secondary_reload): New function. | |
1839 | (TARGET_SECONDARY_RELOAD): Target macro defined. | |
1840 | * config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS, | |
1841 | SECONDARY_OUTPUT_RELOAD_CLASS): Macro definitions removed. | |
1842 | * config/s390/s390.md ("reload_outti", "reload_outdi", | |
1843 | "reload_indi", "reload_insi", "reload_out<mode>", "reload_in<mode>", | |
1844 | "reload_out<mode>"): Expanders removed. | |
1845 | ("reload<mode>_plus", "reload<mode>_nonoffmem_in", | |
1846 | "reload<mode>_nonoffmem_out"): Expanders added. | |
1847 | ||
040f69eb AK |
1848 | 2007-03-29 Andreas Krebbel <krebbel1@de.ibm.com> |
1849 | ||
1850 | * regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair action if | |
1851 | SRC->DEST replacement failed anyway. | |
1852 | ||
4beb5c4b MS |
1853 | 2007-03-28 Mike Stump <mrs@apple.com> |
1854 | ||
1855 | * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add. | |
1856 | * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix. | |
ab1da110 | 1857 | * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef. |
4beb5c4b | 1858 | |
aafc814c DR |
1859 | 2007-03-28 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
1860 | ||
1861 | * config.gcc: Accept barcelona as a variant of amdfam10. | |
1862 | * config/i386/i386.c (override_options): Likewise. | |
1863 | * doc/invoke.texi: Likewise. | |
cb7ad97b | 1864 | |
8975ae22 EB |
1865 | 2007-03-28 Eric Botcazou <ebotcazou@adacore.com> |
1866 | ||
1867 | * tree-dfa.c (get_ref_base_and_extent): Do not expect positive | |
1868 | offsets for BIT_FIELD_REF and COMPONENT_REF. | |
1869 | ||
1c2e50d8 RG |
1870 | 2007-03-28 Richard Guenther <rguenther@suse.de> |
1871 | ||
1872 | * tree.c (is_global_var): Move ... | |
1873 | * tree-flow-inline.h (is_global_var): ... here. | |
1874 | * tree.h (is_global_var): Remove declaration. | |
1875 | ||
a646aded UB |
1876 | 2007-03-28 Uros Bizjak <ubizjak@gmail.com> |
1877 | ||
1878 | * config/i386/i386.h (X86_TUNE_PROMOTE_HIMODE_IMUL): New tuning | |
1879 | option. | |
1880 | (TARGET_TUNE_PROMOTE_HIMODE_IMUL): New define. Use new tuning option. | |
1881 | * config/i386/i386.c (ix86_tune_features): Initialize new | |
1882 | tuning option. | |
1883 | * config/i386/predicates.md (promotable_binary_operator): Use | |
1884 | TARGET_TUNE_PROMOTE_HIMODE_IMUL. | |
1885 | ||
e701c05c GZ |
1886 | 2007-03-28 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com> |
1887 | ||
1888 | PR target/31380 | |
1889 | * config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX. | |
1890 | ||
446347f9 | 1891 | 2007-03-28 Lars Poeschel <larsi@wh2.tu-dresden.de> |
08937250 LP |
1892 | |
1893 | * config/fr30/fr30.md (movsi_internal): Change destination | |
cb7ad97b | 1894 | constraint from m to V and add m to the end. |
08937250 | 1895 | |
52618376 CB |
1896 | 2007-03-28 Christian Bruel <christian.bruel@st.com> |
1897 | ||
1898 | * config/sh/sh.md (movsi_i): Fix type attribute. | |
1899 | ||
446347f9 | 1900 | 2007-03-28 Christian Bruel <christian.bruel@st.com> |
bbccf908 CB |
1901 | |
1902 | * config/sh/sh.md (movsi_ie): Fix memory constraints attribute length. | |
1903 | (movsf_ie): Likewise. | |
1904 | ||
27a0ce7d CB |
1905 | 2007-03-28 Christian Bruel <christian.bruel@st.com> |
1906 | ||
1907 | * config.gcc: Add sh4-300 to multilib. | |
1908 | * config/sh/t-mlib-sh4-300: New file. | |
1909 | ||
99cd7dd0 AK |
1910 | 2007-03-28 Andreas Krebbel <krebbel1@de.ibm.com> |
1911 | ||
1912 | * config/s390/s390.md ("fix_trunc<mode>di2"): New expander. | |
1913 | ("fix_trunc<DFP:mode>di2_dfp"): New insn definition renamed from | |
1914 | fix_trunc<mode>di2. | |
cb7ad97b | 1915 | ("fixuns_truncdddi2", "fixuns_trunctddi2"): Use |
99cd7dd0 AK |
1916 | fix_trunc<DFP:mode>di2_dfp instead of fix_trunc<mode>di2. |
1917 | ("fix_truncdfsi2", "fix_truncsfsi2", "fixuns_truncdddi2", | |
1918 | "fixuns_trunctddi2"): Whitespace fix. | |
1919 | ||
e318fc8f KK |
1920 | 2007-03-28 Kaz Kojima <kkojima@gcc.gnu.org> |
1921 | ||
1922 | * config/sh/sh.h (CALL_COOKIE_RET_TRAMP_SHIFT): Move after | |
1923 | the definition of struct sh_args. | |
1924 | (CALL_COOKIE_RET_TRAMP, CALL_COOKIE_STACKSEQ_SHIFT, | |
1925 | CALL_COOKIE_INT_REG_GET): Likewise. | |
1926 | ||
96647293 SB |
1927 | 2007-03-28 Steven Bosscher <steven@gcc.gnu.org> |
1928 | ||
1929 | * ifcvt.c (cond_exec_find_if_block): Return FALSE if no | |
1930 | transformations are applied successfully. | |
1931 | ||
00ffc97c DG |
1932 | 2007-03-27 Douglas Gregor <doug.gregor@gmail.com> |
1933 | ||
1934 | * tree.c (tree_contains_struct): Permit 512 tree codes. | |
1935 | * tree.h (tree_contains_struct): Ditto. | |
1936 | (MAX_TREE_CODES): Ditto. | |
1937 | (struct tree_base): Make CODE 16 bits, instead of 8 bits. Add | |
1938 | SPARE member to store remaining padding bits. | |
1939 | ||
39418b53 AS |
1940 | 2007-03-27 Anatoly Sokolov <aesok@post.ru> |
1941 | ||
cb7ad97b | 1942 | * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' |
39418b53 AS |
1943 | architecture. |
1944 | ||
a3bba767 JJ |
1945 | 2007-03-27 Janis Johnson <janis187@us.ibm.com> |
1946 | ||
0d74c0ee JJ |
1947 | * configure.ac: Fix assembler test for powerpc*-linux decimal float. |
1948 | * configure: Regenerate. | |
1949 | ||
a3bba767 JJ |
1950 | * configure: Regenerate using the correct version of autoconf. |
1951 | ||
1952 | 2007-03-27 Anatoly Sokolov <aesok@post.ru> | |
2cd11105 AS |
1953 | |
1954 | * config/avr/avr.c (avr_hard_regno_mode_ok): Disallow QImode in stack | |
1955 | pointer regs. | |
1956 | * config/avr/avr.h (REGISTER_NAMES): Rename "__SPL__" and "__SPH__" | |
1957 | regs to "__SP_L__" and "__SP_H__". | |
1958 | ||
c21c775a RG |
1959 | 2007-03-27 Richard Guenther <rguenther@suse.de> |
1960 | ||
1961 | * tree-dfa.c (get_ref_base_and_extent): Replace bit_offset and | |
cb7ad97b | 1962 | computations with it with a HOST_WIDE_INT variable. |
c21c775a | 1963 | |
6b692a83 MS |
1964 | 2007-03-26 Mike Stump <mrs@apple.com> |
1965 | ||
1966 | * config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Add | |
1967 | objective-c-header, objective-c++-header and objc++-cpp-output | |
1968 | support. | |
1969 | * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Likewise. | |
1970 | ||
24bfafbc RH |
1971 | 2007-03-26 Richard Henderson <rth@redhat.com> |
1972 | ||
a646aded UB |
1973 | PR target/31361 |
1974 | * config/i386/i386.c (IX86_BUILTIN_PSLLDQ128, IX86_BUILTIN_PSLLW128, | |
1975 | IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, IX86_BUILTIN_PSRAW128, | |
1976 | IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, IX86_BUILTIN_PSRLD128, | |
1977 | IX86_BUILTIN_PSRLQ128): New. | |
1978 | (ix86_init_mmx_sse_builtins): Add them. | |
1979 | (ix86_expand_builtin): Expand them. | |
1980 | * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make | |
1981 | operand 2 be TImode. | |
1982 | * config/i386/emmintrin.h (_mm_slli_epi64, _mm_srai_epi16, | |
1983 | _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32, | |
1984 | _mm_srli_epi64): Mark __B const. | |
1985 | (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions. | |
1986 | (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16, | |
cb7ad97b | 1987 | _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use |
a646aded | 1988 | new two-vector shift builtins. |
24bfafbc | 1989 | |
fa633851 ILT |
1990 | 2007-03-26 Ian Lance Taylor <iant@google.com> |
1991 | ||
1992 | PR tree-optimization/31345 | |
1993 | * tree-vrp.c (extract_range_from_binary_expr): Turn ranges like | |
1994 | [+INF, +INF(OVF)] into VARYING. | |
1995 | ||
cff4720f ZW |
1996 | 2007-03-26 Zack Weinberg <zackw@panix.com> |
1997 | ||
01d419ae ZW |
1998 | * gengtype-parse.c: New file. |
1999 | * gengtype-yacc.y: Delete. | |
2000 | * gengtype-lex.l: Don't include gengtype-yacc.h. | |
2001 | Define YY_DECL and yyterminate appropriately for recursive | |
2002 | descent parser. yylval is now a string out-parameter to yylex. | |
2003 | (HWS, EOID): New shorthand. | |
2004 | (IWORD): Add a couple more types. | |
2005 | (yylex): Add a setup stanza. Remove the complex rules for | |
2006 | detecting GTY'ed types and typedefs; replace with simple | |
2007 | keyword detectors. Adjust everything for the changed | |
2008 | definition of yylval. Ignore all pp-directives, not just #define. | |
2009 | (yyerror): Delete. | |
2010 | (parse_file): Rename yybegin; do not call yyparse. | |
2011 | (yyend): New. | |
2012 | * gengtype.c (xasprintf): Export again. | |
2013 | (this_file): New. Use everywhere __FILE__ was being used. | |
2014 | (get_lang_bitmap): Special case types defined in gengtype.c. | |
2015 | (do_typedef, new_structure): Suppress definition of certain types. | |
2016 | (new_structure): Improve diagnostics of duplicate definitions. | |
2017 | Make sure location_s is associated with input.h. | |
2018 | (nreverse_pairs, define_location_structures): New functions. | |
2019 | (main): Improve tagging of kludge types. Remove old kludges | |
2020 | for input.h types; use define_location_structures. | |
2021 | * gengtype.h: Update prototypes. Define token codes here. | |
2022 | * Makefile.in: Remove all references to gengtype-yacc. | |
2023 | Add rules for gengtype-parse.o. Adjust rules for gengtype-lex.o | |
2024 | and gengtype. | |
2025 | * bitmap.h (struct bitmap_head_def): Coalesce definitions, | |
2026 | add GTY((skip)) to the field that's only conditionally there. | |
2027 | * doc/install.texi: Document that Bison is no longer required | |
2028 | unless building treelang. | |
2029 | ||
11a67599 ZW |
2030 | * gengtype.c: Don't include gtyp-gen.h. |
2031 | (srcdir): Declare here. | |
2032 | (base_files, lang_dir_names): Allocate dynamically. | |
2033 | (gt_files, num_gt_files, num_lang_dirs): New globals. | |
2034 | (measure_input_list, read_input_line, read_input_list) | |
2035 | (set_lang_bitmap): New functions. | |
2036 | (get_base_file_bitmap): Rename get_lang_bitmap and drastically | |
2037 | simplify, relying on read_input_list to set up the bitmaps. | |
2038 | (main): Arguments are no longer unused. Check for correct number | |
2039 | of command line arguments, set srcdir and srcdir_len, then call | |
2040 | read_input_list, before doing anything else. No need to worry | |
2041 | about duplicates in main loop. | |
2042 | * configure.ac: Simplify the calculation of all_gtfiles. | |
2043 | Put language tags in there. Don't set or substitute | |
2044 | all_gtfiles_files_langs or all_gtfiles_files_frags. | |
2045 | * Makefile.in: Revamp the way gengtype is invoked, now that it | |
2046 | takes a file on its command line with a much simpler format. | |
2047 | Remove or replace with gtyp-input.list all references to gtyp-gen.h. | |
2048 | (GTFILES): Remove duplicates and C source files. | |
2049 | * c-config-lang.in, cp/config-lang.in, objc/config-lang.in | |
2050 | * objcp/config-lang.in: Add c-pragma.h to gtfiles. | |
2051 | * configure: Regenerate. | |
2052 | ||
065ae611 ZW |
2053 | * gengtype.h: Remove all type definitions to gengtype.c; leave |
2054 | only definitions of options_p, type_p, and pair_p as opaque | |
2055 | pointers. Update prototypes. | |
2056 | * gengtype.c: Many type definitions moved here from gengtype.h. | |
2057 | Consolidate type definitions at the top of the file. | |
2058 | (xvasprintf): Delete. | |
2059 | (xasprintf): Make static. | |
2060 | (create_nested_pointer_option): Add 'next' parameter. | |
2061 | (create_field_all, create_field_at): New functions. | |
2062 | (create_field): Now a thin wrapper around create_field_all. | |
2063 | (create_optional_field): Rename create_optional_field_ and add | |
2064 | line argument. Original name is now a macro which supplies | |
2065 | __LINE__. | |
2066 | (oprintf): Use vsnprintf directly. | |
2067 | (close_output_files): Use fatal rather than perror/exit. | |
2068 | (note_def_vec, note_def_vec_alloc): Use create_field_at. | |
2069 | (main): Set progname. Don't use exit. | |
2070 | * gengtype-yacc.y (struct_fields): Use create_field_at. | |
2071 | (option, optionseqopt): Delete. | |
2072 | (optionseq): Consolidate productions from option here so we | |
2073 | can use the first argument to create_option. | |
2074 | ||
17defa6a ZW |
2075 | * gengtype-lex.l: Distinguish unions from structures in the |
2076 | token type. Don't call find_structure; return the tag as a string. | |
2077 | * gengtype-yacc.y: Add new token types ENT_TYPEDEF_UNION and ENT_UNION. | |
2078 | Type of these, ENT_TYPEDEF_STRUCT, and ENT_STRUCT is string. | |
2079 | Reorganize typedef_struct production accordingly. | |
2080 | Use create_nested_ptr_option. | |
2081 | * gengtype.c (create_nested_ptr_option): New function. | |
2082 | * gengtype.h: Declare it. | |
2083 | ||
95161faf ZW |
2084 | * gengtype.h (struct type): Replace 'sc' with boolean, scalar_is_char. |
2085 | (string_type): Don't declare. | |
2086 | (do_scalar_typedef): Declare. | |
2087 | (create_scalar_type): Update prototype. | |
2088 | * gengtype.c (string_type): Make static. | |
2089 | (scalar_nonchar, scalar_char): New. | |
2090 | (do_scalar_typedef): Export. Always use scalar_nonchar for the type. | |
2091 | (resolve_typedef): Use scalar_nonchar for error recovery. | |
2092 | (create_scalar_type): Remove name_len field. Return scalar_char | |
2093 | or scalar_nonchar as appropriate. | |
2094 | (adjust_field_type): Look at scalar_is_char boolean to decide whether | |
2095 | to use string_type. | |
2096 | (throughout): Use scalar_nonchar instead of calling create_scalar_type, | |
2097 | whenever possible. | |
2098 | (main): Initialize scalar_char and scalar_nonchar before calling | |
2099 | gen_rtx_next. | |
2100 | * gengtype-lex.l: Adjust for removal of second argument to | |
2101 | create_scalar_type. Use yylval.s instead of yylval.t when | |
2102 | returning SCALAR. | |
2103 | * gengtype-yacc.y: Type of SCALAR is string. Call | |
2104 | create_scalar_type from type:SCALAR rule. Adjust for removal of | |
2105 | second argument to create_scalar_type. | |
2106 | ||
4a399aef ZW |
2107 | * vec.h: Remove all #if IN_GENGTYPE blocks. |
2108 | Add comment saying that changes may require adjustments to gengtype. | |
2109 | * gengtype.c: Don't include coretypes.h or tm.h. | |
2110 | Add comment to inclusion of errors.h. | |
2111 | (note_def_vec, note_def_vec_alloc): New functions. | |
2112 | * gengtype.h: Declare new functions. | |
2113 | * gengtype-lex.l: Don't include coretypes.h. | |
2114 | (YY_INPUT, macro_input, push_macro_expansion, mangle_macro_name): | |
2115 | Delete. | |
2116 | (update_lineno): Remove unnecessary prototype. | |
2117 | (DEF_VEC_* rules): Simplify using note_def_vec / note_def_vec_alloc. | |
2118 | (VEC rule): Just return VEC_TOKEN. | |
2119 | * gengtype-yacc.y (VEC_TOKEN): New token type. | |
2120 | (type): Add a production for VEC(a,b). | |
2121 | * Makefile.in: Update dependencies. | |
2122 | ||
d287ace6 ZW |
2123 | * gengtype-lex.l: Remove rules for parsing pointer-to-function |
2124 | typedefs that use the old PARAMS macro. | |
2125 | ||
cff4720f ZW |
2126 | * gengtype-lex.l: Remove all rules and states relating to yacc |
2127 | input files. | |
2128 | * gengtype-yacc.y: Similarly. | |
2129 | * gengtype.c (note_yacc_type): Delete function. | |
2130 | * gengtype.h: Update prototypes. | |
2131 | ||
71175bf3 JM |
2132 | 2007-03-26 Joseph Myers <joseph@codesourcery.com> |
2133 | ||
2134 | * tree-pretty-print.c (dump_generic_node): Report precision of | |
2135 | unnamed integer types. | |
2136 | ||
93242b9c SB |
2137 | 2007-03-26 Steven Bosscher <steven@gcc.gnu.org> |
2138 | ||
2139 | * ifcvt.c (noce_try_store_flag_constants): Don't check | |
2140 | no_new_pseudos here. | |
2141 | (noce_try_store_flag_constants): Don't check no_new_pseudos. | |
2142 | (noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove_arith, | |
2143 | noce_try_cmove_arith, noce_try_minmax, noce_try_abs, | |
2144 | noce_try_sign_mask): Likewise. | |
2145 | (if_convert): Check no_new_pseudos here. | |
2146 | ||
2147 | (cond_exec_process_if_block, noce_process_if_block, find_if_block): | |
2148 | Remove prototypes. | |
2149 | (struct noce_if_info): Add then_bb, else_bb, join_bb members. | |
2150 | (noce_get_condition): Handle new then_else_reversed argument. | |
2151 | (noce_init_if_info): Remove, fold into noce_find_if_block. | |
2152 | (noce_process_if_block): Take a struct noce_if_info as the | |
2153 | argument. Don't set up one based on ce_if_info. Update pointer | |
2154 | references accordingly. | |
2155 | (cond_move_process_if_block): Likewise. | |
2156 | (process_if_block): Removed. | |
2157 | (find_if_block): Removed. Move functionality two new functions, | |
2158 | noce_find_if_block and cond_exec_find_if_block. | |
2159 | (noce_find_if_block): New function. Be aware of IF-THEN-JOIN | |
2160 | blocks and the symmetric IF-ELSE-JOIN case. | |
2161 | (cond_exec_find_if_block): Also new function mostly based on old | |
2162 | find_if_block and process_if_block. | |
2163 | (find_if_header): Replace find_if_block call with separately | |
2164 | guarded calls to noce_find_if_block and cond_exec_find_if_block. | |
2165 | (find_cond_trap): Update noce_get_condition call. | |
2166 | (dead_or_predicable): Likewise. | |
2167 | ||
85acef0e JJ |
2168 | 2007-03-26 Jakub Jelinek <jakub@redhat.com> |
2169 | ||
2170 | * config/i386/i386.c (IX86_BUILTIN_CMPNEPD, IX86_BUILTIN_CMPNESD): | |
2171 | Remove. | |
2172 | (IX86_BUILTIN_PSLLW128, IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, | |
2173 | IX86_BUILTIN_PSRAW128, IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, | |
2174 | IX86_BUILTIN_PSRLD128, IX86_BUILTIN_PSRLQ128): Remove. | |
2175 | (ix86_init_mmx_sse_builtins): Remove v8hi_ftype_v8hi_v2di and | |
a646aded | 2176 | v4si_ftype_v4si_v2di. Remove __builtin_ia32_psllw128, |
85acef0e JJ |
2177 | __builtin_ia32_pslld128, __builtin_ia32_psllq128, |
2178 | __builtin_ia32_psrlw128, __builtin_ia32_psrld128, | |
2179 | __builtin_ia32_psrlq128, __builtin_ia32_psraw128 and | |
2180 | __builtin_ia32_psrad128 builtins. | |
2181 | ||
8dde5924 UB |
2182 | 2007-03-26 Uros Bizjak <ubizjak@gmail.com> |
2183 | ||
2184 | * reg-stack.c (replace_reg): Use IN_RANGE macro in gcc_assert(). | |
2185 | * config/i386/constraints.md | |
2186 | (define_constraint "I"): Use IN_RANGE macro. | |
2187 | (define_constraint "J"): Ditto. | |
2188 | (define_constraint "K"): Ditto. | |
2189 | (define_constraint "M"): Ditto. | |
2190 | (define_constraint "N"): Ditto. | |
2191 | (define_constraint "O"): Ditto. | |
2192 | * config/i386/predicates.md | |
2193 | (define_predicate "register_no_elim_operand"): Use IN_RANGE macro. | |
2194 | (define_predicate "const_0_to_3_operand"): Ditto. | |
2195 | (define_predicate "const_0_to_7_operand"): Ditto. | |
2196 | (define_predicate "const_0_to_15_operand"): Ditto. | |
2197 | (define_predicate "const_0_to_63_operand"): Ditto. | |
2198 | (define_predicate "const_0_to_255_operand"): Ditto. | |
2199 | (define_predicate "const_1_to_31_operand"): Ditto. | |
2200 | (define_predicate "const_2_to_3_operand"): Ditto. | |
2201 | (define_predicate "const_4_to_7_operand"): Ditto. | |
2202 | ||
a5ad2017 DE |
2203 | 2007-03-25 David Edelsohn <edelsohn@gnu.org> |
2204 | ||
2205 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Always clobber LR | |
2206 | in SImode for save_world. | |
2207 | * config/rs6000/altivec.md (save_world, restore_world): Convert to | |
2208 | LR hard reg. | |
2209 | ||
5773afc5 DN |
2210 | 2007-03-25 Dorit Nuzman <dorit@il.ibm.com> |
2211 | ||
2212 | PR tree-optimization/30784 | |
2213 | * fold-const.c (fold_ternary): Handle CONSTRUCTOR in case | |
2214 | BIT_FIELD_REF. | |
2215 | ||
3ece6cc2 RE |
2216 | 2007-03-25 Revital Eres <eres@il.ibm.com> |
2217 | ||
cff4720f ZW |
2218 | * tree-if-conv.c (if_convertible_gimple_modify_stmt_p): |
2219 | Fold movement_possibility function into it. | |
3ece6cc2 | 2220 | |
e65a3857 DE |
2221 | 2007-03-25 David Edelsohn <edelsohn@gnu.org> |
2222 | ||
2223 | * config/rs6000/darwin.md (load_macho_picbase): Ignore operand 0. | |
2224 | (load_macho_picbase_{si,di}): Convert to LR hard reg. | |
2225 | (call_indirect_nonlocal_darwin64): Same. | |
2226 | (call_nonlocal_darwin64): Same. | |
2227 | (call_value_indirect_nonlocal_darwin64): Same. | |
2228 | (call_value_nonlocal_darwin64): Same. | |
2229 | (sibcall_nonlocal_darwin64): Same. | |
2230 | (sibcall_value_nonlocal_darwin64): Same. | |
2231 | (sibcall_symbolic_64): Same. | |
2232 | (sibcall_value_symbolic_64): Same. | |
2233 | * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Remove | |
2234 | LR pseudo. | |
2235 | (rs6000_emit_load_toc_table): Same. | |
2236 | * config/rs6000/altivec.md (restore_world): Convert to LR hard reg. | |
2237 | * config/rs6000/rs6000.md (mulh_call): Convert to LR hard reg. | |
2238 | (mull_call): Same. | |
2239 | (divss_call): Same. | |
2240 | (divus_call): Same. | |
2241 | (quoss_call): Same. | |
2242 | (quous_call): Same. | |
2243 | (load_toc_v4_pic_si): Same | |
2244 | (load_toc_v4_PIC_1): Same. | |
2245 | (load_toc_v4_PIC_1b): Same. | |
2246 | (call_indirect_aix{32,64}): Same. | |
2247 | (call_value_indirect_aix{32,64}): Same. | |
2248 | (call): Same. | |
2249 | (call_value): Same. | |
2250 | (call_local{32,64}): Same. | |
2251 | (call_value_local{32,64}): Same. | |
2252 | (call_indirect_nonlocal_aix{32,64}): Same. | |
2253 | (call_nonlocal_aix{32,64}): Same. | |
2254 | (call_value_indirect_nonlocal_aix{32,64}): Same. | |
2255 | (call_value_nonlocal_aix{32,64}): Same. | |
2256 | (call_indirect_nonlocal_sysv<mode>): Same. | |
2257 | (call_nonlocal_sysv<mode>): Same. | |
2258 | (call_value_indirect_nonlocal_sysv<mode>): Same. | |
2259 | (call_value_nonlocal_sysv<mode>): Same. | |
2260 | (sibcall): Same. | |
2261 | (sibcall_local{32,64}): Same. | |
2262 | (sibcall_value_local{32,64}): Same. | |
2263 | (sibcall_nonlocal_aix{32,64}): Same. | |
2264 | (sibcall_value_nonlocal_aix{32,64}): Same. | |
2265 | (sibcall_nonlocal_sysv<mode>): Same. | |
2266 | (sibcall_value): Same. | |
2267 | (sibcall_value_nonlocal_sysv<mode>): Same. | |
2268 | ||
3303be15 PB |
2269 | 2007-03-24 Paul Brook <paul@codesourcery.com> |
2270 | ||
2271 | * config/arm/lib1funcs.asm (div0): Use ARM_FUNC_START and do_push. | |
2272 | * config/arm/linux-eabi.h: Remove legacy syscall hack. | |
2273 | ||
13f70342 RH |
2274 | 2007-03-24 Richard Henderson <rth@redhat.com> |
2275 | ||
2276 | * config/ia64/constraints.md: New file. | |
2277 | * config/ia64/predicates.md: Replace CONST_OK_FOR_? with | |
2278 | satisfies_constraint_?. | |
2279 | * config/ia64/ia64.c (ia64_move_ok, ia64_legitimate_constant_p, | |
2280 | ia64_reload_gp, spill_restore_mem, ia64_expand_prologue, | |
2281 | ia64_expand_epilogue, ia64_split_return_addr_rtx, ia64_rtx_costs, | |
2282 | ia64_output_mi_thunk): Likewise. | |
2283 | (ia64_const_ok_for_letter_p): Remove. | |
2284 | (ia64_const_double_ok_for_letter_p): Remove. | |
2285 | (ia64_extra_constraint): Remove. | |
2286 | * config/ia64/ia64.h (REG_CLASS_FROM_LETTER): Remove. | |
2287 | (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_L, | |
2288 | CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O, CONST_OK_FOR_P, | |
2289 | CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_G, | |
2290 | CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT, | |
2291 | EXTRA_MEMORY_CONSTRAINT): Remove. | |
2292 | * config/ia64/ia64.md: Include constriants.md. Replace | |
2293 | CONST_OK_FOR_? with satisfies_constraint_?. | |
2294 | ||
79b87c74 MM |
2295 | 2007-03-23 Michael Meissner <michael.meissner@amd.com> |
2296 | H.J. Lu <hongjiu.lu@intel.com> | |
2297 | ||
2298 | * config/dfp-bit.h (DPD_BID_NAME): New macro to give either the | |
2299 | DPD or BID name. | |
2300 | (name macros): Use DPD_BID_NAME to convert names properly. | |
2301 | ||
2302 | * optabs.c (DECIMAL_PREFIX): Prefix string to use for the current | |
2303 | decimal floating point format. | |
2304 | (init_floating_libfuncs): Change decimal functions so that they | |
2305 | have a "bid_" prefix if the decimal system uses the BID format, | |
2306 | and "dpd_" prefix if the decimal system uses the DPD format. | |
2307 | (init_interclass_conv_libfuncs): Ditto. | |
2308 | (init_intraclass_conv_libfuncs): Ditto. | |
2309 | ||
2310 | * config.in (ENABLE_DECIMAL_BID_FORMAT): New macro to say we are | |
2311 | using the BID format. | |
2312 | ||
2313 | * configure.ac (ENABLE_DECIMAL_BID_FORMAT): Set to 1/0 to say | |
2314 | whether we are using the BID decimal format. | |
2315 | * configure: Regenerate. | |
2316 | ||
2317 | * c-cppbuiltin.c (c_cpp_builtins): Define __STDC_WANT_DEC_FP__ if | |
2318 | the compiler has decimal floating point enabled. Define | |
2319 | __DECIMAL_BID_FORMAT__ if BID decimal floating point is used | |
2320 | instead of DPD. | |
2321 | ||
2322 | * config.in (ENABLE_DECIMAL_BID_FORMAT): New macro to say we are | |
2323 | using the BID format. | |
2324 | ||
2325 | * configure.ac (ENABLE_DECIMAL_BID_FORMAT): Set to 1/0 to say | |
2326 | whether we are using the BID decimal format. | |
2327 | * configure: Regenerate. | |
2328 | ||
2329 | * c-cppbuiltin.c (c_cpp_builtins): Define __STDC_WANT_DEC_FP__ if | |
2330 | the compiler has decimal floating point enabled. Define | |
2331 | __DECIMAL_BID_FORMAT__ if BID decimal floating point is used | |
2332 | instead of DPD. | |
2333 | ||
2334 | * doc/install.texi (--enable-decimal-float): Document BID and DPD | |
2335 | options, and that it is enabled for i386/x86_64 systems. | |
2336 | ||
2337 | * Makefile.in (enable_decimal_float): New. | |
2338 | (DECNUMFMT): New. | |
2339 | (DECNUMINC): Add -I$(DECNUMFMT). | |
2340 | (DECNUM_H): Mov decimal32.h, decimal64.h and decimal128.h | |
2341 | to $(DECNUMFMT) from $(DECNUM). | |
2342 | ||
2343 | * configure.ac: Support * --enable-decimal-float={no,yes,bid,dpd}. | |
2344 | Substitute enable_decimal_float. | |
2345 | * configure: Regenerated. | |
2346 | ||
2347 | PR other/30529 | |
2348 | * config/dfp-bit.c (__dec_byte_swap): Use uint32_t instead of | |
2349 | unsigned long. | |
2350 | ||
2351 | * configure.ac: Enable decimal float for x86_64-*-linux*. | |
2352 | * configure: Regenerated. | |
2353 | ||
2354 | PR other/30530 | |
2355 | * dfp.c (decimal_real_arithmetic): Use decimal128FlipSign and | |
2356 | decimal128ClearSign to flip and clear the sign bit in decimal128. | |
2357 | (decimal_real_maxval): Set decimal128SetSign to set the sign | |
2358 | bit in decimal128. | |
2359 | ||
f870ab63 ILT |
2360 | 2007-03-23 Ian Lance Taylor <iant@google.com> |
2361 | ||
2362 | * fold-const.c (fold_binary): Correct warning for X - c >= X. | |
2363 | ||
ed3d212b ILT |
2364 | 2007-03-23 Ian Lance Taylor <iant@google.com> |
2365 | ||
2366 | * tree-dump.c (dump_files): Correct comment. | |
2367 | ||
c8539275 ILT |
2368 | 2007-03-23 Ian Lance Taylor <iant@google.com> |
2369 | ||
2370 | * tree-vrp.c (operand_less_p): Ignore fold overflow warnings. | |
2371 | ||
ad21dab7 SB |
2372 | 2007-03-23 Steven Bosscher <steven@gcc.gnu.org> |
2373 | ||
2374 | * tracer.c (tracer): Don't take FLAGS argument. Assert we are | |
2375 | in cfglayout mode. Don't go into and out of cfglayout mode. | |
2376 | Link the blocks in the order of the constructed traces. | |
2377 | (rest_of_handle_tracer): Adjust call to tracer. | |
2378 | * loop-init.c (rtl_loop_init): Assert we are in cfglayout mode. | |
2379 | Don't go into cfglayout mode. | |
2380 | (rtl_loop_done): Don't go out of cfglayout mode. | |
2381 | * cfglayout.c (relink_block_chain): New function, split out from... | |
2382 | (fixup_reorder_chain): ...here. Remove redundant checking. | |
2383 | (cfg_layout_finalize): Don't clear the header, footer, and aux | |
2384 | fields here, move the code to do so to relink_block_chain. Likewise | |
2385 | for free_original_copy_tables. | |
2386 | * rtl.h (tracer): Update prototype. | |
2387 | * bb-reorder.c (reorder_basic_blocks): Don't take FLAGS argument. | |
2388 | Assert we are in cfglayout mode. Don't go into and out of cfglayout | |
2389 | mode. Use relink_block_chain to serialize the CFG according to the | |
2390 | new basic block order. Move targetm.cannot_modify_jumps_p check from | |
2391 | here... | |
2392 | (gate_handle_reorder_blocks): ...to here. | |
2393 | (duplicate_computed_gotos): Move targetm.cannot_modify_jumps_p check | |
2394 | from here... | |
2395 | (gate_duplicate_computed_gotos): ...to here. | |
2396 | (rest_of_handle_reorder_blocks): Don't see if anything has changed, | |
2397 | something always changes when going into and out of cfglayout mode. | |
2398 | Perform an expensive cfg cleanup while going into cfglayout mode. | |
2399 | Always update liveness information on HAVE_conditional_execution | |
2400 | targets. Reserialize the basic blocks and go out of cfglayout mode. | |
2401 | * reg-stack.c: Include cfglayout.h. | |
2402 | (rest_of_handle_stack_regs): Go into and out of cfglayout mode around | |
2403 | the call to reorder_basic_blocks. | |
2404 | * basic-block.h (reorder_basic_blocks): Update prototype. | |
2405 | (relink_block_chain): New prototype. | |
2406 | * passes.c (pass_outof_cfg_layout_mode): Move after cse2. | |
2407 | ||
00f9e1ca JM |
2408 | 2007-03-23 Joseph Myers <joseph@codesourcery.com> |
2409 | ||
2410 | * config/mips/mips.md (type, hazard, *movdi_32bit, | |
2411 | *movdi_gp32_fp64, *movdi_64bit, *movsi_internal, movcc, | |
2412 | *movhi_internal, *movqi_internal, *movsf_hardfloat, | |
2413 | *movdf_hardfloat_64bit, *movdf_hardfloat_32bit, *movdf_softfloat, | |
2414 | movv2sf_hardfloat_64bit, load_df_low, load_df_high, store_df_high, | |
2415 | mthc1, mfhc1): Change xfer instruction type to mfc and mtc, as | |
2416 | applicable. | |
2417 | (movcc): Change first xfer to multi. | |
2418 | * config/mips/24k.md, config/mips/4100.md, config/mips/4300.md, | |
2419 | config/mips/5000.md, config/mips/5400.md, config/mips/5500.md, | |
2420 | config/mips/5k.md, config/mips/7000.md, config/mips/9000.md, | |
2421 | config/mips/generic.md: Change reservations using "xfer" to use | |
2422 | "mfc,mtc". | |
2423 | * config/mips/sb1.md (ir_sb1_mtxfer): Use "mtc" instead of | |
2424 | using match_operand. | |
2425 | (ir_sb1_mfxfer): Use "mfc" instead of using match_operand. | |
2426 | * config/mips/sr71k.md (ir_sr70_xfer_from): Use "mfc" instead of | |
2427 | examining mode. | |
2428 | (ir_sr70_xfer_to): Use "mtc" instead of examining mode. | |
2429 | ||
2ed941ec RH |
2430 | 2007-03-22 Richard Henderson <rth@redhat.com> |
2431 | ||
2432 | * config/i386/i386.c: Remove unnecessary function declarations. | |
2433 | Move targetm definition, and all related macros, to the end of | |
2434 | the file. Resort some functions to put definitions before uses. | |
2435 | (ix86_attribute_table): Make static. Move to end of file. | |
2436 | (ix86_gimplify_va_arg): Make static. | |
2437 | ||
ee2f65b4 RH |
2438 | 2007-03-22 Richard Henderson <rth@redhat.com> |
2439 | ||
2440 | * config/i386/i386.c (ix86_function_regparm): Early exit for 64-bit; | |
2441 | don't increase local_regparm with force_align_arg_pointer check. | |
2442 | (ix86_function_sseregparm): Assert 32-bit. | |
2443 | (type_has_variadic_args_p): New. | |
2444 | (ix86_return_pops_args): Early exit for 64-bit. Reindent; use | |
2445 | type_has_variadic_args_p. | |
2446 | (ix86_function_arg_regno_p): Use == 0 instead of ! test for eax. | |
2447 | (init_cumulative_args): Remove TARGET_DEBUG_ARG. Remove zero_cum; | |
2448 | use memset instead. Do maybe_vaarg check first; skip attribute | |
2449 | tests if true; skip attribute tests for 64-bit. | |
2450 | (construct_container): Remove TARGET_DEBUG_ARG. | |
2451 | (function_arg_advance_32, function_arg_advance_64): Split out ... | |
2452 | (function_arg_advance): ... from here. | |
2453 | (function_arg_32, function_arg_64): Split out ... | |
2454 | (function_arg): ... from here. | |
2455 | (ix86_pass_by_reference): Tidy. | |
2456 | (ix86_function_value_regno_p): Rearrange w/ switch on regno. | |
2457 | (function_value_32): New, from parts of ix86_function_value | |
2458 | and ix86_value_regno. | |
2459 | (function_value_64): New, from parts of ix86_function_value | |
2460 | and ix86_libcall_value. | |
2461 | (ix86_function_value_1): New. | |
2462 | (ix86_function_value, ix86_libcall_value): Use it. | |
2463 | (return_in_memory_32, return_in_memory_64): Split out ... | |
2464 | (ix86_return_in_memory): ... from here. | |
2465 | (ix86_struct_value_rtx): Skip for 64-bit. | |
2466 | (ix86_libcall_value, ix86_value_regno): Remove. | |
2467 | (setup_incoming_varargs_64): Split out ... | |
2468 | (ix86_setup_incoming_varargs): ... from here. | |
2469 | (ix86_va_start): Remove TARGET_DEBUG_ARG. | |
2470 | (legitimate_address_p, legitimize_address): Remove TARGET_DEBUG_ADDR. | |
2471 | * config/i386/i386-protos.h (ix86_function_value): Remove. | |
2472 | * config/i386/i386.opt (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Remove. | |
2473 | ||
92ef5cf9 MLI |
2474 | 2007-03-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
2475 | ||
2476 | PR other/23572 | |
2477 | * c-lex.c (interpret_float): On overflow, emit pedantic warning if | |
2478 | infinities not supported, otherwise emit warning if -Woverflow. On | |
2479 | underflow, emit warning if -Woverflow. | |
2480 | * real.c (real_from_string): Return -1 if underflow, +1 if overflow | |
2481 | and 0 otherwise. | |
2482 | * real.h (real_from_string): Update declaration | |
cff4720f | 2483 | |
ac294f0b KT |
2484 | 2007-03-22 Kai Tietz <kai.tietz@onevision.com> |
2485 | Richard Henderson <rth@redhat.com> | |
2486 | ||
2487 | * defaults.h (OUTGOING_REG_PARM_STACK_SPACE): Provide default. | |
2488 | * calls.c (compute_argument_block_size, expand_call, | |
2489 | emit_library_call_value_1): Don't ifdef OUTGOING_REG_PARM_STACK_SPACE. | |
2490 | * expr.c (block_move_libcall_safe_for_call_parm): Likewise. | |
2491 | * function.c (STACK_DYNAMIC_OFFSET): Likewise. | |
2492 | * doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Update. | |
2493 | * config/alpha/unicosmk.h, config/bfin/bfin.h, config/iq2000/iq2000.h, | |
2494 | config/mips/mips.h, config/mn10300/mn10300.h, config/mt/mt.h, | |
2495 | config/pa/pa.h, config/rs6000/rs6000.h, config/score/score.h, | |
2496 | config/spu/spu.h, config/v850/v850.h (OUTGOING_REG_PARM_STACK_SPACE): | |
2497 | Set to 1. | |
2498 | ||
9a200623 JM |
2499 | 2007-03-22 Joseph Myers <joseph@codesourcery.com> |
2500 | ||
2501 | * c-incpath.c (add_sysroot_to_chain): New. | |
2502 | (merge_include_chains): Add sysroot argument. Call | |
2503 | add_sysroot_to_chain if sysrooted. | |
2504 | (register_include_chains): Update call to merge_include_chains. | |
2505 | * doc/cppopts.texi: Document use of '=' in include directory | |
2506 | arguments. | |
2507 | ||
8766652c UB |
2508 | 2007-03-22 Uros Bizjak <ubizjak@gmail.com> |
2509 | ||
2510 | * config/i386/i386.md (cmp<mode>): Rename from cmpsf and cmpdf. | |
2511 | Macroize expander using SSEMODEF mode macro. Use SSE_FLOAT_MODE_P. | |
2512 | (*cmpfp_<mode>): Rename from *cmpfp_sf and *cmpfp_df. Macroize | |
2513 | insn pattern using X87MODEF12 mode macro. | |
cff4720f | 2514 | |
1e4c6dc5 SP |
2515 | 2007-03-21 Seongbae Park <seongbae.park@gmail.com> |
2516 | ||
2517 | * regmove.c (regmove_optimize): Use reg_mentioned_p | |
2518 | instead of reg_overlap_mentioned_p for DST. | |
2519 | ||
2cbac420 MS |
2520 | 2007-03-21 Mike Stump <mrs@apple.com> |
2521 | ||
2522 | * c.opt: Fixup for Objective-C/C++. | |
2523 | ||
8766652c | 2524 | 2007-03-21 Steve Ellcey <sje@cup.hp.com> |
17939c98 SE |
2525 | |
2526 | * explow.c (convert_memory_address): Fold memory reference when | |
2527 | POINTERS_EXTEND_UNSIGNED < 0 | |
2528 | ||
b5cf27d7 RH |
2529 | 2007-03-21 Richard Henderson <rth@redhat.com> |
2530 | ||
2531 | PR target/31245 | |
2532 | * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias. | |
2533 | * config/i386/mmintrin.h (__m64): Likewise. | |
2534 | * config/i386/xmmintrin.h (__m128): Likewise. | |
2535 | ||
cb717c40 RS |
2536 | 2007-03-21 Richard Sandiford <richard@codesourcery.com> |
2537 | ||
2538 | * config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options. | |
2539 | (VXWORKS_OS_CPP_BUILTINS): Define. | |
2540 | * config/i386/vxworks.h (VXWORKS_CPU_DEFINE): Fold into... | |
2541 | (TARGET_OS_CPP_BUILTINS): ...here. Use VXWORKS_OS_CPP_BUILTINS. | |
2542 | ||
2a450639 RS |
2543 | 2007-03-21 Richard Sandiford <richard@codesourcery.com> |
2544 | ||
2545 | * rtl.h (constant_pool_reference_p): Delete. | |
2546 | (find_constant_src): Declare. | |
2547 | * rtlanal.c (find_constant_src): New function. | |
2548 | * simplify-rtx.c (constant_pool_reference_p): Delete. | |
2549 | * config/i386/i386.md: Use find_constant_src instead of | |
2550 | constant_pool_reference_p/avoid_constant_pool_reference pairs. | |
2551 | ||
7c0ffd09 RS |
2552 | 2007-03-21 Richard Sandiford <richard@codesourcery.com> |
2553 | ||
2554 | * doc/invoke.texi (-fpie, -fPIE): Document __pie__ and __PIE__. | |
2555 | * c-cppbuiltin.c (c_cpp_builtins): Define them. | |
2556 | ||
9f296620 MM |
2557 | 2007-03-20 Mark Mitchell <mark@codesourcery.com> |
2558 | ||
2559 | * config/arm/elf.h (TARGET_ASM_DESTRUCTOR): Define. | |
2560 | * config/arm/arm.c (arm_elf_asm_cdtor): New function. | |
2561 | (arm_elf_asm_constructor): Use it. | |
2562 | (arm_elf_asm_destructor): New function. | |
2563 | ||
5dab4eb7 BS |
2564 | 2007-03-20 Bernd Schmidt <bernd.schmidt@analog.com> |
2565 | ||
2566 | * jump.c (mark_jump_label): Treat SEQUENCE specially. | |
2567 | ||
caaf5345 NS |
2568 | 2007-03-20 Nathan Sidwell <nathan@codesourcery.com> |
2569 | ||
2570 | * config/vxlib.c (tls_delete_hook): Use TCB for kernel tasks. | |
2571 | ||
2b312005 AH |
2572 | 2007-03-19 Andrew Haley <aph@redhat.com> |
2573 | ||
2574 | PR tree-optimization/31264 | |
2575 | * tree-vrp.c (register_edge_assert_for_1): Don't look though | |
2576 | VIEW_CONVERT_EXPRs. | |
2577 | ||
fb406162 PB |
2578 | 2007-03-19 Paolo Bonzini <bonzini@gnu.org> |
2579 | ||
2580 | PR rtl-optimization/30907 | |
2581 | * fwprop.c (forward_propagate_into): Never propagate inside a loop. | |
2582 | (fwprop_init): Always call loop_optimizer_initialize. | |
2583 | (fwprop_done): Always call loop_optimizer_finalize. | |
2584 | (fwprop): We always have loop info now. | |
2585 | (gate_fwprop_addr): Remove. | |
2586 | (pass_fwprop_addr): Use gate_fwprop as gate. | |
2587 | ||
2588 | PR rtl-optimization/30841 | |
2589 | * df-problems.c (df_ru_local_compute, df_rd_local_compute, | |
2590 | df_chain_alloc): Call df_reorganize_refs unconditionally. | |
2591 | * df-scan.c (df_rescan_blocks, df_reorganize_refs): Change | |
2592 | refs_organized to refs_organized_size. | |
2593 | (df_ref_create_structure): Use refs_organized_size instead of | |
2594 | bitmap_size if refs had been organized, and keep refs_organized_size | |
2595 | up-to-date. | |
2596 | * df.h (struct df_ref_info): Change refs_organized to | |
2597 | refs_organized_size. | |
2598 | (DF_DEFS_SIZE, DF_USES_SIZE): Use refs_organized_size instead of | |
2599 | bitmap_size. | |
2600 | ||
0a85ec2e MM |
2601 | 2007-03-19 Mark Mitchell <mark@codesourcery.com> |
2602 | ||
2603 | * except.c (output_function_exception_table): Do not reference the | |
2604 | EH personality routine for functions that do not require an | |
2605 | exception table. | |
2606 | ||
5d8a5434 JJ |
2607 | 2007-03-20 Jakub Jelinek <jakub@redhat.com> |
2608 | ||
79077aea JJ |
2609 | PR c/30762 |
2610 | * c-typeck.c (convert_for_assignment): Call comptypes for | |
2611 | RECORD_TYPE or UNION_TYPE. | |
2612 | ||
5d8a5434 JJ |
2613 | PR inline-asm/30505 |
2614 | * reload1.c (reload): Do invalid ASM checking after | |
2615 | cleanup_subreg_operands. | |
2616 | ||
1799efef JL |
2617 | 2007-03-19 Jeff Law <law@redhat.com> |
2618 | ||
2619 | * tree-cfg.c (find_taken_edge): Tighten conditions for | |
2620 | optimizing computed gotos. | |
2621 | ||
1e395249 MM |
2622 | 2007-03-19 Michael Matz <matz@suse.de> |
2623 | ||
2624 | * builtins.c (expand_builtin_sync_operation, | |
2625 | expand_builtin_compare_and_swap, | |
2626 | expand_builtin_lock_test_and_set): Care for extending CONST_INTs | |
2627 | correctly. | |
2628 | ||
2629 | * config/i386/sync.md (sync_double_compare_and_swapdi_pic, | |
2630 | sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint | |
2631 | for operand 3. | |
2632 | ||
17f6dbbf AK |
2633 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2634 | ||
2635 | * doc/tm.texi: Add brackets around the return type of | |
2636 | TARGET_SECONDARY_RELOAD. | |
2637 | ||
60e0af94 AP |
2638 | 2007-03-19 Andrew Pinski <andrew_pinski@playstation.sony.com> |
2639 | Richard Guenther <rguenther@suse.de> | |
2640 | ||
2641 | PR tree-optimization/31254 | |
2642 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): | |
2643 | Use handled_component_p () where appropriate. Continue | |
2644 | propagating into the rhs if we propagated into an INDIRECT_REF | |
2645 | on the lhs. | |
2646 | ||
609e7e80 AK |
2647 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2648 | ||
2649 | * config/s390/s390.md (op_type attribute): RRR instruction type added. | |
2650 | (FP, DFP, SD_SF, DD_DF, TD_TF): New mode macros. | |
2651 | (xde, xdee): Mode attributes adjusted to support DFP modes. | |
2652 | (RRer, f0, op1, Rf, bt, bfp, HALF_TMODE): New mode attributes added. | |
2653 | ("cmp<mode>", "*cmp<mode>_css_0", "*cmp<mode>_ccs", TF move splitters, | |
cff4720f | 2654 | DF move splitters, "floatdi<mode>2", "add<mode>3", "*add<mode>3", |
609e7e80 AK |
2655 | "*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3", "*sub<mode>3", |
2656 | "*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3", "*mul<mode>3", | |
2657 | "div<mode>3", "*div<mode>3", "*neg<mode>2_nocc", "*abs<mode>2_nocc", | |
cff4720f | 2658 | "*negabs<mode>2_nocc", "copysign<mode>3"): Adjusted to support DFP |
609e7e80 AK |
2659 | numbers. |
2660 | ("*movtf_64", "*movtf_31", "*movdf_64dfp", "*movdf_64", "*movdf_31", | |
2661 | "movsf"): Insn definitions removed. | |
2662 | ("*mov<mode>_64", "*mov<mode>_31", "mov<mode>", "*mov<mode>_64dfp", | |
2663 | "*mov<mode>_64", "*mov<mode>_31", "fix_trunc<DFP:mode>di2", | |
2664 | "trunctddd2", "truncddsd2", "extendddtd2", "extendsddd2"): Insn | |
2665 | definitions added. | |
2666 | ("fixuns_truncdddi2", "fixuns_trunctddi2", "mov<mode>", | |
2667 | "reload_in<mode>", "reload_out<mode>"): Expander added. | |
2668 | ("movtf", "movdf", "reload_outtf", "reload_outdf", "reload_intf"): | |
2669 | Expander removed. | |
2670 | ||
7b6baae1 AK |
2671 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2672 | ||
2673 | * config/s390/s390.md: Only non-functional changes. Renamed | |
2674 | FPR mode macro to BFP all over the file. | |
2675 | ||
85dae55a AK |
2676 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2677 | ||
2678 | * config/s390/s390.md (UNSPEC_COPYSIGN): New constant. | |
2679 | (op_type attribute): RRF instruction type added. | |
2680 | (fT0): New mode attribute. | |
2681 | ("*movdi_64dfp", "*movdf_64dfp", "*neg<mode>2_nocc", "*abs<mode>2_nocc", | |
2682 | "*negabs<mode>2_nocc", "copysign<mode>3"): Insn definitions added. | |
2683 | * config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Due to a new instruction | |
2684 | no secondary memory is needed when moving DFmode values between GPRs | |
2685 | and FPRs. | |
2686 | ||
3443392a AK |
2687 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2688 | ||
2689 | * config/s390/s390.opt ("mhard-float", "msoft-float"): Bit value | |
2690 | inverted and documentation adjusted. | |
2691 | ("mhard-dfp", "msoft-dfp"): New options. | |
2692 | * config/s390/s390.c (s390_handle_arch_option): New architecture | |
2693 | switch: z9-ec. | |
2694 | (override_options): Sanity checks for the new options added. | |
2695 | * config.gcc: New architecture switch: z9-ec. | |
2696 | * config/s390/s390.h (processor_flags): PF_DFP added. | |
2697 | (TARGET_CPU_DFP, TARGET_DFP): Macro definitions added. | |
2698 | (TARGET_DEFAULT): Due to the s390.opt changes hard float is enabled | |
2699 | when the bit is NOT set so remove it from the defaults. | |
2700 | ||
c413e1b5 AK |
2701 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2702 | ||
2703 | * genemit.c (main): Print include statement for dfp.h. | |
2704 | * dfp.h (decimal_real_arithmetic): Hide prototype if tree_code enum | |
2705 | is not available. | |
2706 | ||
1375006a HPN |
2707 | 2007-03-19 Hans-Peter Nilsson <hp@axis.com> |
2708 | ||
2709 | * config/cris/t-elfmulti (EXTRA_MULTILIB_PARTS): Do not define here. | |
2710 | ||
c6ac6e82 KK |
2711 | 2007-03-19 Kaz Kojima <kkojima@gcc.gnu.org> |
2712 | ||
2713 | PR target/31022 | |
2714 | * config/sh/sh.c (sh_adjust_cost): Use the result of single_set | |
2715 | instead of PATTERN. | |
2716 | ||
ecc418c4 JDA |
2717 | 2007-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2718 | ||
2719 | * pa.c (output_deferred_plabels, output_bb, output_millicode_call, | |
2720 | attr_length_call, output_call, output_indirect_call): Cleanup | |
2721 | formatting of targetm calls. | |
2722 | ||
c3271cd2 HPN |
2723 | 2007-03-19 Hans-Peter Nilsson <hp@axis.com> |
2724 | ||
2725 | * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1. | |
2726 | ||
d4f2728a JDA |
2727 | 2007-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2728 | ||
2729 | * pa.md: Add fpstore_load and store_fpload instruction types. Provide | |
2730 | reservation, bypass and anti-bypass descriptions for these instructions. | |
2731 | Update move patterns. | |
2732 | * pa.c (hppa_fpstore_bypass_p): Check for both TYPE_FPSTORE_LOAD and | |
2733 | TYPE_FPSTORE. | |
cff4720f | 2734 | |
f58e9734 DN |
2735 | 2007-03-18 Dorit Nuzman <dorit@il.ibm.com> |
2736 | ||
2737 | * tree-vect-transform.c (get_initial_def_for_induction): Replace | |
2738 | GET_MODE_NUNITS with TYPE_VECTOR_SUBPARTS. | |
2739 | (get_initial_def_for_reduction): Likewise. | |
2740 | ||
1e4816bc DB |
2741 | 2007-03-16 Daniel Berlin <dberlin@dberlin.org> |
2742 | ||
2743 | Fix PR tree-optimization/29922 | |
2744 | * tree-ssa-pre.c (bb_bitmap_sets): Remove RVUSE_* members. | |
2745 | (get_representative): Removed. | |
2746 | (value_dies_in_block_x): Update for rvuse removal. | |
2747 | (valid_in_sets): Update for renaming of vuses_dies_in_block_x. | |
2748 | (compute_antic_aux): Handle when PHI nodes appear in | |
cff4720f | 2749 | non-single-successors. |
1e4816bc DB |
2750 | (dump_bitmap_of_names): Removed. |
2751 | (compute_antic_safe): Renamed and removed rvuse calculation. | |
2752 | Calculate only antic safe. | |
2753 | (insert_into_preds_of_block): Remove assert. | |
2754 | (execute_pre): Update for renamed functions. | |
2755 | (defer_or_phi_translate_block): New function. | |
cff4720f | 2756 | |
44c7bd63 KH |
2757 | 2007-03-17 Kazu Hirata <kazu@codesourcery.com> |
2758 | ||
2759 | * config/arm/arm.c, config/arm/thumb2.md, config/m68k/m68k.c, | |
2760 | config/spu/spu.c, omega.h, passes.c, predict.c: Fix comment | |
2761 | typos. | |
2762 | * doc/cpp.texi, doc/extend.texi, doc/invoke.texi: Fix typos. | |
2763 | Follow spelling conventions. | |
2764 | ||
79b8aae8 KH |
2765 | * tree-data-ref.h: Remove the prototype for analyze_array. |
2766 | ||
c492dc9a DN |
2767 | 2007-03-17 Dorit Nuzman <dorit@il.ibm.com> |
2768 | ||
2769 | PR tree-optimization/31041 | |
2770 | * tree-vect-transform.c (get_initial_def_for_induction): Call | |
2771 | force_gimple_operand. | |
cff4720f | 2772 | |
44d974b5 | 2773 | 2007-03-17 Olga Golovanevsky <olga@il.ibm.com> |
cff4720f | 2774 | |
44d974b5 OG |
2775 | * ipa-type-escape.c (look_for_casts) : Revert code to use |
2776 | handled_component_p due to ada test a-numaux.adb. | |
2777 | ||
604e4ce3 KH |
2778 | 2007-03-17 Kazu Hirata <kazu@codesourcery.com> |
2779 | ||
2780 | * final.c (final_scan_insn): Alter the condition of a | |
2781 | conditional trap if we have nonstandard CC. | |
2782 | ||
cf0eb7a1 AO |
2783 | 2007-03-16 Alexandre Oliva <aoliva@redhat.com> |
2784 | ||
2785 | * configure.ac: Remove excess quoting from asm line 0 test. | |
2786 | * configure: Rebuilt. | |
2787 | ||
07231d4f MLI |
2788 | 2007-03-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
2789 | ||
2790 | * doc/invoke.texi (-Wconversion): Document warnings specific to C++. | |
2791 | * c-common.c (convert_and_check): Move warning logic to... | |
2792 | (warnings_for_convert_and_check): ...here. Define. | |
2793 | * c-common.h (warnings_for_convert_and_check): Declare. | |
cff4720f | 2794 | |
aefd2606 JDA |
2795 | 2007-03-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2796 | ||
2797 | * pa.c (attr_length_call): Partially revert change of 2007-03-09. | |
2798 | (output_call): Likewise. | |
2799 | ||
ad8577fd RS |
2800 | 2007-03-16 Richard Sandiford <richard@codesourcery.com> |
2801 | ||
2802 | * config/vxworks.h (SUPPORTS_INIT_PRIORITY): Define. | |
2803 | ||
d95d45fd RS |
2804 | 2007-03-16 Richard Sandiford <richard@codesourcery.com> |
2805 | ||
2806 | * config/vx-common.h (WINT_TYPE, WINT_TYPE_SIZE): Define. | |
2807 | ||
0935e091 UB |
2808 | 2007-03-16 Uros Bizjak <ubizjak@gmail.com> |
2809 | ||
2810 | * config/i386/i386.c (override_options): Add PTA_NO_SAHF to k8, | |
2811 | opteron, athlon-64 and athlon-fx processor_alias_table entries. | |
2812 | ||
a9549792 SP |
2813 | 2007-03-16 Sebastian Pop <sebastian.pop@inria.fr> |
2814 | ||
2815 | PR tree-optimization/31183 | |
cff4720f | 2816 | * tree-loop-linear.c (gather_interchange_stats, try_interchange_loops): |
a9549792 SP |
2817 | Use double_int instead of unsigned int for representing access_strides. |
2818 | * testsuite/gcc.dg/tree-ssa/pr31183.c: New. | |
2819 | ||
7b1737d0 RG |
2820 | 2007-03-16 Richard Guenther <rguenther@suse.de> |
2821 | ||
2822 | PR tree-optimization/31146 | |
2823 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Restructure | |
2824 | to allow recursion of forward_propagate_addr_expr. | |
2825 | (forward_propagate_addr_into_variable_array_index): Likewise. | |
2826 | (forward_propagate_addr_expr): Likewise. | |
2827 | (tree_ssa_forward_propagate_single_use_vars): Likewise. | |
2828 | (forward_propagate_addr_expr_1): Recurse on simple copies | |
2829 | instead of propagating into them. Do so for useless conversions | |
2830 | as well. | |
2831 | (forward_propagate_addr_expr): Clean up unused statements after | |
2832 | recursion. | |
2833 | ||
4c8a652e RG |
2834 | 2007-03-16 Richard Guenther <rguenther@suse.de> |
2835 | ||
2836 | * builtins.c (expand_builtin_cexpi): Use the right argument | |
2837 | for the expansion via cexp. | |
2838 | ||
43bc306a AO |
2839 | 2007-03-16 Alexandre Oliva <aoliva@redhat.com> |
2840 | ||
2841 | * configure.ac: Don't require ELF binutils to tolerate # 0 "". | |
2842 | * configure: Rebuilt. | |
2843 | ||
8857ae1c AO |
2844 | 2007-03-16 Alexandre Oliva <aoliva@redhat.com> |
2845 | ||
2846 | PR debug/29906 | |
2847 | * dwarf2out.c (force_type_die): Adjust comment. | |
2848 | (dwarf2out_imported_module_or_decl): Handle base AT_import types. | |
2849 | ||
ba502ad6 DD |
2850 | 2007-03-15 DJ Delorie <dj@redhat.com> |
2851 | ||
2852 | * config/frv/predicates.md (minmax_operator): Don't check operands | |
2853 | here. | |
2854 | ||
9bdb685e ZD |
2855 | 2007-03-15 Zdenek Dvorak <dvorakz@suse.cz> |
2856 | ||
2857 | * tree-ssa-loop-niter.c (record_estimate): Add "upper" argument. | |
2858 | Update constant estimates of number of iterations. | |
2859 | (record_nonwrapping_iv): Add "upper" argument. "data_size_bounds_p" | |
2860 | argument renamed to "realistic". | |
2861 | (compute_estimated_nb_iterations): Removed. | |
2862 | (record_niter_bound): New function. | |
2863 | (idx_infer_loop_bounds): For possible but unlikely tail arrays, | |
2864 | call record_nonwrapping_iv with upper = false. | |
2865 | (infer_loop_bounds_from_signedness): Pass upper argument to | |
2866 | record_nonwrapping_iv. | |
2867 | (estimate_numbers_of_iterations_loop): Do not call | |
2868 | compute_estimated_nb_iterations. Record estimate based on profile | |
2869 | information. Initialize the constant estimates of number of | |
2870 | iterations. | |
2871 | * tree-data-ref.c (estimated_loop_iterations): Return the recorded | |
2872 | estimates. | |
2873 | * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Add dump when | |
2874 | number of iterations is too small. | |
2875 | * cfgloop.h (struct nb_iter_bound): Remove "realistic" field. | |
2876 | (EST_NOT_AVAILABLE): Removed. | |
2877 | (struct loop): Replace estimated_nb_iterations by any_upper_bound, | |
2878 | nb_iterations_upper_bound, any_estimate and nb_iterations_estimate | |
2879 | fields. | |
2880 | ||
17b236ed ZD |
2881 | 2007-03-15 Zdenek Dvorak <dvorakz@suse.cz> |
2882 | ||
2883 | * tree-ssa-loop-niter.c (refine_bounds_using_guard, bound_difference): | |
2884 | Handle NE_EXPR guards. | |
2885 | ||
9b439fe1 MLI |
2886 | 2007-03-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
2887 | ||
2888 | PR c++/24924 | |
2889 | * c-opts.c (c_common_post_options): Handle C++ post-processing here. | |
2890 | Set also -pedantic-errors by default for the preprocessor unless | |
2891 | -fpermissive is given. | |
cff4720f | 2892 | |
34a24c11 RG |
2893 | 2007-03-15 Richard Guenther <rguenther@suse.de> |
2894 | ||
2895 | PR middle-end/29719 | |
2896 | PR middle-end/31161 | |
2897 | * builtins.c (expand_builtin_cexpi): As a fallback if we | |
2898 | don't have builtins for sincos or cexp create a function | |
2899 | declaration for cexp and expand to a call to that. | |
2900 | (expand_builtin_int_roundingfn): Always fall | |
2901 | back to floor/ceil and its variants even if they may be | |
2902 | not available. | |
2903 | ||
49ea3702 SB |
2904 | 2007-03-15 Steven Bosscher <steven@gcc.gnu.org> |
2905 | ||
2906 | PR middle-end/31159 | |
2907 | * cfglayout.c (fixup_reorder_chain): Postpone deleting dead | |
2908 | jump tables, move the call to delete_dead_jumptables from here... | |
2909 | (cfg_layout_finalize): ...to here. But rebuild jump labels first. | |
2910 | * cfgrtl.c (cfg_layout_can_merge_blocks_p): When not optimizing, | |
2911 | don't allow merging of blocks that try_redirect_by_replacing_jump | |
2912 | also does not handle when not optimizing. | |
2913 | ||
419452fe UB |
2914 | 2007-03-15 Uros Bizjak <ubizjak@gmail.com> |
2915 | Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
2916 | ||
2917 | * config/i386/i386.md (x86_sahf_1): Correctly handle | |
2918 | HAVE_AS_IX86_SAHF. | |
2919 | ||
68b8830a UB |
2920 | 2007-03-15 Uros Bizjak <ubizjak@gmail.com> |
2921 | ||
2922 | PR target/31167 | |
2923 | * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use | |
2924 | x86_64_general_operand as operand[2] predicate. Remove "iF" | |
2925 | from operand constraints and use "e" constraint instead. | |
2926 | (*subti3_1, *subti3_1 splitter): Ditto. | |
2927 | (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as | |
2928 | operand[1] predicate. | |
2929 | ||
c4d8f83b SP |
2930 | 2007-03-14 Sebastian Pop <sebastian.pop@inria.fr> |
2931 | ||
2932 | * tree-loop-linear.c (gather_interchange_stats): For multidimensional | |
2933 | arrays, multiply the access strides by the size of the sub-array. | |
2934 | * testsuite/gcc.dg/tree-ssa/ltrans-5.c: New. | |
2935 | ||
38ca3765 UB |
2936 | 2007-03-14 Uros Bizjak <ubizjak@gmail.com> |
2937 | ||
2938 | * configure.ac (HAVE_AS_IX86_SAHF): On x86 targets check whether | |
2939 | the configured assembler supports the sahf mnemonic. | |
2940 | * configure: Regenerate. | |
2941 | * config.in: Regenerate. | |
2942 | ||
2943 | * config/i386/i386.md (x86_sahf_1): Depending on HAVE_AS_IX86_SAHF, | |
2944 | emit "sahf" or ".byte\t0x9e" as asm template. | |
2945 | ||
e9f64629 MM |
2946 | 2007-03-14 Michael Meissner <michael.meissner@amd.com> |
2947 | ||
2948 | PR 31018 | |
2949 | * config/i386/i386.h (X86_TUNE_SHORTEN_X87_SSE): New tuning | |
2950 | option to replace hard coded TARGET_xxx in md file. | |
2951 | (X86_TUNE_AVOID_VECTOR_DECODE): Ditto. | |
2952 | (X86_TUNE_SLOW_IMUL_IMM32_MEM): Ditto. | |
2953 | (X86_TUNE_SLOW_IMUL_IMM8): Ditto. | |
2954 | (X86_TUNE_MOVE_M1_VIA_OR): Ditto. | |
2955 | (X86_TUNE_NOT_UNPAIRABLE): Ditto. | |
2956 | (X86_TUNE_NOT_VECTORMODE): Ditto. | |
2957 | (TUNE_SHORTEN_X87_SSE): Use new tuning option. | |
2958 | (TUNE_AVOID_VECTOR_DECODE): Ditto. | |
2959 | (TUNE_SLOW_IMUL_IMM32_MEM): Ditto. | |
2960 | (TUNE_SLOW_IMUL_IMM8): Ditto. | |
2961 | (TUNE_MOVE_M1_VIA_OR): Ditto. | |
2962 | (TUNE_NOT_UNPAIRABLE): Ditto. | |
2963 | (TUNE_NOT_VECTORMODE): Ditto. | |
cff4720f | 2964 | |
e9f64629 MM |
2965 | * config/i386/i386.c (ix86_tune_features): Fill in new tuning |
2966 | options. | |
2967 | ||
2968 | * config/i386/i386.md (fix_trunc?f?1_sse peephole2): Use new | |
2969 | tuning options instead of hard coded TARGET_xxx. | |
2970 | (fix ssemode peephole2's): Ditto. | |
2971 | (imul peephole2's): Ditto. | |
2972 | (movsi_or): Ditto. | |
2973 | (movdi_or_rex64): Ditto. | |
2974 | (move peephole2): Ditto. | |
2975 | (not peephole2's): Ditto. | |
2976 | ||
62e00e94 DM |
2977 | 2007-03-14 Dirk Mueller <dmueller@suse.de> |
2978 | ||
2979 | * c-common.h (empty_body_warning): Rename to empty_if_body_warning. | |
2980 | * c-common.c (empty_if_body_warning): Rephrase diagnostic message. | |
2981 | * c-parser.c (c_parser_if_body): Always add an empty statement in case | |
2982 | of empty body. | |
2983 | * c-parser.c (c_parser_do_statement): Warn about empty body in | |
2984 | do/while statement. | |
2985 | * c-typeck (c_finish_if_stmt): Call empty_if_body_warning. | |
2986 | * doc/invoke.texi (-Wempty-body): Update documentation. | |
2987 | ||
2e9cb75e MLI |
2988 | 2007-03-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
2989 | ||
2990 | PR c/21438 | |
2991 | * c-common.h (warn_for_div_by_zero): Declare. | |
2992 | * c-common.c (warn_for_div_by_zero): Define. | |
2993 | * c-typeck.c (build_binary_op): Call warn_for_div_zero instead of | |
2994 | warning. | |
2995 | ||
925af765 RS |
2996 | 2007-03-14 Richard Sandiford <richard@codesourcery.com> |
2997 | ||
2998 | * Makefile.in (PREPROCESSOR_DEFINES): Add directory terminators | |
2999 | to PREFIX and STANDARD_PREFIX. | |
3000 | ||
ac0d72f6 RS |
3001 | 2007-03-14 Richard Sandiford <richard@codesourcery.com> |
3002 | Phil Edwards <phil@codesourcery.com> | |
3003 | ||
3004 | * gthr-vxworks.h: Add an extern "C" wrapper for C++. | |
3005 | (__gthread_once_t): Remove busy field for RTPs. | |
3006 | (__GTHREAD_ONCE_INIT): Update accordingly. | |
3007 | ||
cd773ac4 RS |
3008 | 2007-03-14 Richard Sandiford <richard@codesourcery.com> |
3009 | ||
3010 | * doc/invoke.texi: Document VxWorks options. | |
3011 | ||
8c5fd59f UB |
3012 | 2007-03-14 Uros Bizjak <ubizjak@gmail.com> |
3013 | ||
3014 | * doc/invoke.texi (i386 and x86-64 Options): Clarify -msahf option. | |
3015 | ||
e31657e8 SP |
3016 | 2007-03-13 Seongbae Park <seongbae.park@gmail.com> |
3017 | ||
3018 | PR tree-optimization/30590 | |
3019 | * tree-nrv.c (tree_nrv): Check for the partial update of the | |
3020 | return value. | |
3021 | ||
403d4851 AO |
3022 | 2007-03-13 Alexandre Oliva <aoliva@redhat.com> |
3023 | ||
3024 | * flags.h (flag_random_seed): Remove declaration, in favor of... | |
3025 | * toplev.h (get_random_seed, set_random_seed): ... these. | |
3026 | * tree.c (get_file_function_name): Use the former. | |
3027 | * opts.c (common_handle_option): Use the latter. | |
3028 | * toplev.c | |
3029 | ||
481e0a49 AO |
3030 | 2007-03-13 Steven Bosscher <steven@gcc.gnu.org> |
3031 | ||
3032 | PR middle-end/31127 | |
3033 | * cse.c (cse_find_path): Do not bail out if a basic block that | |
3034 | we already visited now becomes part of a path that starts at a | |
3035 | different basic block. Just disallow this, to make sure we | |
3036 | visit each basic block at most once. | |
3037 | ||
4cdb798f JH |
3038 | 2007-03-13 Jan Hubicka <jh@suse.cz> |
3039 | ||
3040 | * ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes, | |
3041 | when profile esitmate is present, calls with very low frequency are | |
3042 | cold. | |
3043 | ||
b3ce5b6e ZD |
3044 | 2007-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
3045 | ||
3046 | PR tree-optimization/30730 | |
3047 | PR tree-optimization/26900 | |
3048 | * tree-ssa-loop-niter.c: Include gmp.h. | |
3049 | (bounds): New type. | |
3050 | (mpz_set_double_int, get_type_bounds, mpz_to_double_int, | |
3051 | split_to_var_and_offset, determine_value_range, | |
3052 | bound_difference_of_offsetted_base, refine_bounds_using_guard, | |
3053 | bound_difference, bounds_add, bounds_negate, | |
3054 | number_of_iterations_ne_max, dump_affine_iv): New functions. | |
3055 | (number_of_iterations_ne, number_of_iterations_lt_to_ne, | |
3056 | assert_loop_rolls_lt, assert_loop_rolls_le): Use bounds on the | |
3057 | difference of initial and final value of control iv to validate | |
3058 | results. | |
3059 | (number_of_iterations_cond): Add loop parameter. Determine bounds | |
3060 | on the difference of the extremes of the control iv. Add dumps. | |
3061 | (expand_simple_operations): Handle phi nodes. | |
3062 | (simplify_using_initial_conditions): Do not record used conditions. | |
3063 | (number_of_iterations_exit): Pass loop to number_of_iterations_cond. | |
3064 | Do not set additional_info. | |
3065 | (implies_nonnegative_p, implies_ge_p): Removed. | |
3066 | (derive_constant_upper_bound): Do not use parameter `additional'. | |
3067 | (record_estimate): Parameter `additional' removed. Parameter | |
3068 | `i_bound' added. Do not call derive_constant_upper_bound. | |
3069 | (record_nonwrapping_iv): Use derive_constant_upper_bound to | |
3070 | bound the number of iterations estimate. | |
3071 | (estimate_numbers_of_iterations_loop): Pass the estimate from | |
3072 | the number of iterations analysis to record_estimate. | |
3073 | * tree.h (multiple_of_p): Declare. | |
3074 | * tree-scalar-evolution.c (expression_expensive_p): Removed. | |
3075 | (scev_const_prop): Do not check expression_expensive_p. | |
3076 | * fold-const.c (multiple_of_p): Exported. | |
3077 | * double-int.c (double_int_mask): Exported. | |
3078 | * double-int.h (double_int_mask): Declare. | |
3079 | * tree-flow.h (struct tree_niter_desc): Removed additional_info | |
3080 | field. Added max field. | |
3081 | ||
3dfe046f DT |
3082 | 2007-03-13 David Taylor <taylor@candd.org> |
3083 | ||
3084 | PR driver/12448: | |
3085 | * gcc.c (cpp_unique_options): If -MT or -MQ is seen, don't pass | |
3086 | default -MQ. | |
3087 | ||
de94a581 JDA |
3088 | 2007-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
3089 | ||
dc92acbc | 3090 | PR target/31123 |
de94a581 JDA |
3091 | * pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for |
3092 | two unamed patterns. | |
cff4720f | 3093 | |
5be6cb59 UB |
3094 | 2007-03-13 Uros Bizjak <ubizjak@gmail.com> |
3095 | ||
3096 | * config/i386/i386.opt (mcx16, msahf): New options. | |
3097 | * config/i386/i386.c (x86_cmpxchg16b, x86_sahf): Remove. | |
3098 | (ix86_tune_features) [X86_TUNE_USE_SAHF]: Enable for m_GENERIC. | |
3099 | ||
3100 | * config/i386/driver-i386.c (bit_LAHF_LM): New define. | |
3101 | (host_detect_local_cpu): Detect cx16 and lahf_lm cpuid bits. | |
3102 | Output -mcx16 and -msahf options when corresponding bit is set. | |
3103 | ||
3104 | * doc/invoke.texi (i386 and x86-64 Options): Document -mcx16 | |
3105 | and -msahf options. | |
3106 | ||
03943c05 AO |
3107 | 2007-03-13 Alexandre Oliva <aoliva@redhat.com> |
3108 | ||
3109 | * configure.ac: Test for assembler tolerance to # 0 "". | |
3110 | * configure, config.in: Rebuilt. | |
3111 | * final.c (final_scan_insn): Emit it if HAVE_AS_LINE_ZERO. | |
3112 | ||
98312a9b GK |
3113 | 2007-03-13 Geoffrey Keating <geoffk@apple.com> |
3114 | ||
3115 | * doc/invoke.texi (Spec Files): Update for '%{,' spec. | |
49522de2 GK |
3116 | |
3117 | * config/rs6000/darwin-fallback.c: Compile file only on powerpc. | |
3118 | (handle_syscall): Handle direct system calls. | |
3119 | * config/rs6000/darwin.h (HAS_MD_FALLBACK_FRAME_STATE_FOR): Delete. | |
3120 | ||
7d07e4ea BM |
3121 | 2007-03-12 Brooks Moses <brooks.moses@codesourcery.com> |
3122 | ||
3123 | * doc/invoke.texi: Fix cpp.info cross-reference. | |
3124 | * doc/passes.texi: Fix gcc.info cross-reference. | |
3125 | ||
fbb0d4f8 ZD |
3126 | 2007-03-12 Zdenek Dvorak <dvorakz@suse.cz> |
3127 | ||
3128 | PR tree-optimization/30835 | |
3129 | * lambda-code.c (can_convert_to_perfect_nest): Check whether | |
3130 | bb_for_stmt is not NULL before accessing it. | |
3131 | ||
dc5bbad3 JM |
3132 | 2007-03-12 Joseph Myers <joseph@codesourcery.com> |
3133 | ||
3134 | * gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for | |
3135 | some multilibs. | |
3136 | ||
80ca80e9 BM |
3137 | 2007-03-12 Brooks Moses <brooks.moses@codesourcery.com> |
3138 | ||
3139 | PR 30635 | |
3140 | * doc/install.texi: Document --enable-stage1-languages | |
3141 | ||
dacb3cda SB |
3142 | 2007-03-12 Steven Bosscher <steven@gcc.gnu.org> |
3143 | ||
3144 | * tree-pass.h (pass_into_cfg_layout_mode, | |
3145 | pass_outof_cfg_layout_mode): Declare. | |
3146 | * cfglayout.c (into_cfg_layout_mode, outof_cfg_layout_mode, | |
3147 | pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode): New. | |
3148 | * passes.c (pass_into_cfg_layout_mode): Schedule before jump2. | |
3149 | (pass_outof_cfg_layout_mode): Schedule after pass_rtl_ifcvt. | |
3150 | ||
50d50fc7 SP |
3151 | 2007-03-12 Seongbae Park <seongbae.park@gmail.com> |
3152 | ||
3153 | * c-decl.c (warn_variable_length_array): New function. | |
3154 | Refactored from grokdeclarator to handle warn_vla | |
3155 | and handle unnamed array case. | |
3156 | (grokdeclarator): Refactored VLA warning case. | |
3157 | * c.opt (Wvla): New flag. | |
6da4bc4e | 3158 | * doc/invoke.texi (Wvla): New warning. |
50d50fc7 | 3159 | |
ae069803 RH |
3160 | 2007-03-12 Richard Henderson <rth@redhat.com> |
3161 | ||
3162 | * config/alpha/alpha.c (alpha_elf_section_type_flags): New. | |
3163 | (TARGET_SECTION_TYPE_FLAGS): New. | |
3164 | ||
24c78b3a RH |
3165 | 2007-03-12 Richard Henderson <rth@redhat.com> |
3166 | ||
fbb0d4f8 ZD |
3167 | * config/darwin.c (machopic_reloc_rw_mask): New. |
3168 | * config/darwin-protos.h (machopic_reloc_rw_mask): Declare. | |
3169 | * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New. | |
24c78b3a | 3170 | |
6d4817e3 MM |
3171 | 2007-03-12 Mark Mitchell <mark@codesourcery.com> |
3172 | ||
3173 | * cppdefault.c (cpp_EXEC_PREFIX): New variable. | |
3174 | * cppdefault.h (cpp_PREFIX): Document. | |
3175 | (cpp_PREFIX_len): Likewise. | |
3176 | (cpp_EXEC_PREFIX): New variable. | |
3177 | * Makefile.in (PREPROCESSOR_DEFINES): Add STANDARD_EXEC_PREFIX. | |
3178 | * c-incpath.c (add_standard_paths): Correct logic for relocating | |
3179 | paths within prefix. | |
3180 | ||
d8e3118a UB |
3181 | 2007-03-12 Uros Bizjak <ubizjak@gmail.com> |
3182 | ||
3183 | * config/i386/i386.md (fixuns_trunc<mode>hi2): Implement from | |
3184 | fixuns_truncsfhi2 and fixuns_truncdfhi2 using SSEMODEF | |
3185 | mode macro. | |
3186 | (fix_trunc<mode>di_sse): Implement from fix_truncsfdi_sse and | |
3187 | fix_truncdfdi_sse using SSEMODEF mode macro. | |
3188 | (fix_trunc<mode>si_sse): Implement from fix_truncsfsi_sse and | |
3189 | fix_truncdfsi_sse using SSEMODEF mode macro. | |
3190 | (fix_trunc?f?i_sse peephole2): Implement using SSEMODEF mode macro. | |
3191 | (fix_trunc?f?i_sse K8 peephole2): Fix register constraint. | |
3192 | ||
8906bbc0 RS |
3193 | 2007-03-12 Richard Sandiford <richard@codesourcery.com> |
3194 | ||
3195 | * config.gcc (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add | |
3196 | elfos.h to tm_file. | |
3197 | ||
d4e70294 | 3198 | 2007-03-12 Olga Golovanevsky <olga@il.ibm.com> |
cff4720f | 3199 | |
d4e70294 | 3200 | * tree.h : Add multiple_of_p declaration. |
cff4720f | 3201 | * fold-const.c (multiple_of_p): Make multiple_of_p public. |
d4e70294 OG |
3202 | * ipa-type-escape.c (results_of_malloc): Redundant. |
3203 | (visited_stmts): New. Visited stmt for walk_use_def_chains. | |
3204 | (cast_type): Extended with new members. | |
3205 | (check_cast): Returns cast_type. | |
3206 | (cast): New structure for data of walk_use_def_chains. | |
3207 | (is_malloc_result, is_cast_from_non_pointer_1, | |
cff4720f | 3208 | is_cast_from_non_pointer, |
d4e70294 OG |
3209 | is_array_access_through_pointer_and_index): New functions. |
3210 | (look_for_casts): Returns cast types. | |
3211 | (check_call): Returns void. | |
3212 | (okay_pointer_operation): Use support of pointer plus index, | |
3213 | pointer plus constant and allow all multiplications. | |
cff4720f | 3214 | |
13338552 RG |
3215 | 2007-03-11 Richard Guenther <rguenther@suse.de> |
3216 | ||
3217 | PR tree-optimization/31115 | |
3218 | * tree-vrp.c (extract_range_from_binary_expr): Make sure | |
3219 | the shift count is positive and non-anti-range for RSHIFT_EXPR. | |
3220 | A shift count of zero is not special as with *_DIV_EXPR. | |
3221 | (vrp_int_const_binop): Handle RSHIFT_EXPR for determining overflow | |
3222 | direction. | |
3223 | ||
d7419dec ILT |
3224 | 2007-03-11 Ian Lance Taylor <iant@google.com> |
3225 | ||
3226 | * tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and | |
3227 | the *_DIV_EXPR codes correctly with overflow infinities. | |
3228 | ||
e838422b IR |
3229 | 2007-03-11 Ira Rosen <irar@il.ibm.com> |
3230 | ||
cff4720f | 3231 | * tree-data-ref.c (analyze_offset): Add a return value (bool) to |
e838422b IR |
3232 | indicate success/failure of the analysis. Add negation to subtrahend |
3233 | in case of subtraction. Fail if both operands contain constants. | |
3234 | (create_data_ref): Fail if analyze_offset fails. | |
3235 | ||
acaaf0c6 UB |
3236 | 2007-03-11 Uros Bizjak <ubizjak@gmail.com> |
3237 | ||
3238 | * config/i386/i386.md (frndintxf2): Rename to ... | |
3239 | (rintxf2): ... this. Remove expander having same name. | |
3240 | (rintsf2, rintdf2): Implement using SSEMODEF macro. | |
3241 | (roundsf2, rounddf2): Ditto. | |
3242 | (lrint<mode>di2, lrint<mode>si2): Implement using SSEMODEI24 macro. | |
3243 | (lround<mode>di2, lround<mode>si2): Ditto. | |
3244 | ||
7984c787 SB |
3245 | 2007-03-11 Steven Bosscher <steven@gcc.gnu.org> |
3246 | ||
3247 | * lower-subreg.c: Include except.h. | |
3248 | (decompose_multiword_subregs): Verify that the only control flow | |
3249 | insns we can split are loads to multi-words pseudos. | |
3250 | Handle breaking such blocks after splitting, instead of calling | |
3251 | find_many_sub_basic_blocks. | |
3252 | ||
3253 | * loop-unroll.c (split_edge_and_insert): Don't set BB_SUPERBLOCK | |
3254 | on the new basic block. Add a lengthy comment explaining why we | |
3255 | thought this was necessary. | |
3256 | * cfglayout.c (cfg_layout_finalize): Don't break superblocks. | |
3257 | ||
222725d0 MM |
3258 | 2007-03-10 Mark Mitchell <mark@codesourcery.com> |
3259 | ||
ed574fe9 | 3260 | PR c++/30924 |
222725d0 MM |
3261 | * tree.c (walk_type_fields): Recurse into the element type of |
3262 | ARRAY_TYPEs if there is a pointer set. | |
3263 | ||
89132ebc DM |
3264 | 2007-03-10 Dirk Mueller <dmueller@suse.de> |
3265 | ||
3266 | * c-common.c (warn_logical_operator): Fix condition. | |
3267 | ||
4f648002 TS |
3268 |