]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
i386.md (addti3 splitter): Pass arrays of 3 operands to split_ti instead of three...
[gcc.git] / gcc / ChangeLog
CommitLineData
c2b814b9
UB
12008-04-17 Uros Bizjak <ubizjak@gmail.com>
2
3 * config/i386/i386.md (addti3 splitter): Pass arrays of 3 operands
4 to split_ti instead of three separate calls with single member arrays.
5 (subti3 splitter): Ditto.
6 (adddi3 splitter): Ditto with split_di.
7 (subdi3 splitter): Ditto.
8 (negti2 splitter): Pass arrays of 2 operands to split_ti instead of
9 two separate calls with single member arrays. Swap match_dup
10 operands 1 and 2 to better fit into the array.
11 (negdi2 splitter): Ditto with split_di.
12 (movdfcc splitter): Pass arrays of 2 operands to split_di instead of
13 two separate calls with single member arrays. Swap match_dup operands
14 6 and 7 to better fit into the array.
15
ec2e9a15
L
162008-04-17 H.J. Lu <hongjiu.lu@intel.com>
17
18 * config/i386/i386.c (sse_builtin_type): New.
19 (bdesc_sse_args): Likewise.
20 (bdesc_sse_3arg): Removed.
21 (bdesc_2arg): Remove IX86_BUILTIN_AESKEYGENASSIST128.
22 (bdesc_1arg): Remove IX86_BUILTIN_ROUNDPD and
23 IX86_BUILTIN_ROUNDPS.
24 (ix86_init_mmx_sse_builtins): Handle bdesc_sse_args. Remove
25 bdesc_sse_3arg. Remove IX86_BUILTIN_ROUNDPD and
26 IX86_BUILTIN_ROUNDPS.
27 (ix86_expand_sse_4_operands_builtin): Removed.
28 (ix86_expand_sse_operands_builtin): New.
29 (ix86_expand_unop_builtin): Remove CODE_FOR_sse4_1_roundpd
30 and CODE_FOR_sse4_1_roundps.
31 (ix86_expand_builtin): Remove IX86_BUILTIN_AESKEYGENASSIST128.
32 Handle bdesc_sse_args. Remove bdesc_sse_3arg.
33
e6477eaa
AM
342008-04-17 Alan Modra <amodra@bigpond.net.au>
35
36 PR target/35907
37 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Restore vr and vrsave
38 regs before frame pop when needed. If use_backchain_to_restore_sp
39 then load backchain into a temp reg to restore vr and vrsave. Add
40 code to restore vr after frame pop if possible.
41
ba2e1892
RG
422008-04-17 Richard Guenther <rguenther@suse.de>
43
44 * tree-vn.c (expressions_equal_p): Do not check type
45 equality or compatibility before calling operand_equal_p.
46 * fold-const.c (operand_equal_p): Check equivalence of
47 integer constants before bailing out due to signedness or
48 precision differences.
49 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Ignore
50 spurious differences in type qualification. Ignore types
51 for COMPONENT_REFs at all.
52
d60819f8
CB
532008-04-17 Christian Bruel <christian.bruel@st.com>
54
55 * config/sh/sh.c (expand_cbranchdi4): Use original operands for
56 msw_skip comparison.
57
3d5e00a0
JJ
582008-04-16 Jakub Jelinek <jakub@redhat.com>
59
12e19e05
JJ
60 PR c/35739
61 * tree-nrv.c (tree_nrv): Don't optimize if result_type is GIMPLE
62 reg type.
63
3d5e00a0
JJ
64 PR tree-optimization/35899
65 * tree-inline.c (expand_call_inline): Use GIMPLE_STMT_OPERAND
66 rather than TREE_OPERAND.
67
17c340e0
UB
682008-04-16 Uros Bizjak <ubizjak@gmail.com>
69
70 PR target/35944
71 * config/i386/i386.md (fmodxf3): Copy operand 1 and operand 2 into
72 temporary registers. Change operand predicate to general_operand.
73 (remainderxf3): Ditto.
74
e544c850
RG
752008-04-16 Richard Guenther <rguenther@suse.de>
76
77 * Makefile.in (tree-affine.o): Add $(FLAGS_H) dependency.
78 * tree-affine.c (aff_combination_expand): Look through some
79 conversions.
80
3d57d7ce
DK
812008-04-15 Doug Kwan <dougkwan@google.com>
82
83 * dwarf2asm.c (dw2_assemble_integer): Cast to unsigned HOST_WIDE_INT
84 for hex printing.
85 * tree-pretty-print.c (dump_generic_node): Ditto.
86 * final.c (output_addr_const): Ditto.
87 * dwarf2out.c (output_cfi): Ditto.
88 * c-pretty-print.c (pp_c_integer_constant): Ditto.
89 * print-rtl.c (print_rtx): Ditto.
90 * print-tree.c (print_node_brief, print_node): Ditto.
91 * c-common.c (match_case_to_enum_1): Ditto.
92 * sched-vis.c (print_value): Ditto.
93 * config/i386/i386.c (print_operand): Cast to long unsigned int
94 for hex printing.
95
d98c89de
DS
962008-04-15 Danny Smith <dannysmith@users.sourceforge.net>
97 * libgcc2.c [L_trampoline]: Remove unnecessary prototype for
98 MS Windows VirtualProtect function.
99
69c32ec8
JH
1002008-04-15 Jan Hubicka <jh@suse.cz>
101
102 * gengtype.c (write_root): Param_is argument is OK.
103 * expr.c (expand_expr_real_1): Update call of get_exception_*.
104 * function.h: Include varray.h
105 (rtl_eh): New stucture based on except.c one.
106 (call_site_record): New forward declaration and vector type.
107 * calls.c (emit_call_1): Do not call
108 note_current_region_may_contain_throw.
109 * except.c (eh_status): Remove cur_region, try_region since they are
110 unused.
111 Move filter, exc_ptr, ttype_data, ehspec_data, action_record_data and
112 exception_handler_label_map, ehr_stackadj, ehr_handler, ehr_label,
113 sjlj_fc, sjlj_exit_after to rth_eh in function.h.
114 Remove call_site_data_used, call_site_data_size.
115 Turn call_site_record into vector in function.h.
116 (note_current_region_may_contain_throw): Remove.
117 (get_exception_pointer, get_exception_filter): Do not take struct
118 function argument; update.
119 (add_ehl_entry, find_exception_handler_labels, ehspec_filter_hash,
120 add_ttypes_entry, add_ehspec_entry, assign_filter_values,
121 build_post_landing_pads, dw2_build_landing_pads,
122 sjlj_assign_call_site_values, sjlj_mark_call_sites,
123 sjlj_emit_function_enter, sjlj_emit_function_enter,
124 sjlj_emit_function_exit, sjlj_emit_dispatch_table,
125 sjlj_build_landing_pads, finish_eh_generation,
126 remove_exception_handler_label, remove_eh_handler,
127 maybe_remove_eh_handler, add_reachable_handler,
17c340e0
UB
128 reachable_handlers, expand_builtin_eh_return, expand_eh_return,
129 add_action_record, collect_one_action_chain, add_call_site,
130 convert_to_eh_region_ranges, sjlj_size_of_call_site_table,
69c32ec8
JH
131 sjlj_output_call_site_table, output_function_exception_table,
132 * except.h (note_current_region_may_contain_throw): Remove
133 (get_exception_pointer, get_exception_filter): Do not take struct
134 function argument.
135 * Makefile.in (GTFILES): Put varargs before struct function.
136
bd1f29d9
EB
1372008-04-15 Eric Botcazou <ebotcazou@adacore.com>
138
139 * tree-ssa-structalias.c (get_constraint_for_component_ref): Do not
140 punt for STRING_CST.
141 (get_constraint_for): Deal with STRING_CST here instead.
142
3bb3bb2d
RG
1432008-04-15 Richard Guenther <rguenther@suse.de>
144
145 * tree-ssa-propagate.c (substitute_and_fold): Substitute
146 statements in a basic-block with a backward walk. Do not
147 substitute into dead statements but instead remove those.
148
d9338cf0
RG
1492008-04-15 Richard Guenther <rguenther@suse.de>
150
151 * params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Set default
152 to zero, thus disable creation of SFTs.
153
7e80c6bf
EB
1542008-04-15 Eric Botcazou <ebotcazou@adacore.com>
155
156 * tree-predcom.c (suitable_reference_p): Return false if the
157 reference can throw.
158
b97d8153
JJ
1592008-04-15 Jakub Jelinek <jakub@redhat.com>
160
161 PR c/35751
162 * c-decl.c (finish_decl): If extern or static var has variable
163 size, set TREE_TYPE (decl) to error_mark_node.
164
d0599470
RAE
1652008-04-15 Rafael Espindola <espindola@google.com>
166
b97d8153 167 * fold-const.c (tree_call_nonnegative_warnv_p): Remove local
d0599470
RAE
168 variable arg1.
169
649caaad
RG
1702008-04-15 Richard Guenther <rguenther@suse.de>
171
172 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
173 * tree-ssa-sccvn.c (vn_reference_lookup): New parameter maywalk.
174 (visit_reference_op_load): Do walk vuse-vdef chains on
175 vn_reference_lookup.
176 (visit_reference_op_store): But do not here.
177 * tree-vn.c (vn_lookup): Do not walk vuse-vdef chains on
178 vn_reference_lookup.
179 (vn_lookup_with_vuses): But do so here.
180
55d7d0fa
ILT
1812008-04-14 Ian Lance Taylor <iant@google.com>
182
183 * fold-const.c (fold_overflow_warning): Remove assertion.
184
2c4eec69
BE
1852008-04-15 Ben Elliston <bje@au.ibm.com>
186
187 * config/alpha/alpha.c (alpha_initialize_trampoline): Remove temp,
188 temp1 local variables.
189
1902008-04-15 Zuxy Meng <zuxy.meng@gmail.com>
40f39798
ZM
191
192 PR target/35661
193 * config/i386/winnt.c (i386_pe_section_type_flags): Mark
194 ".text.unlikely" section as executable.
195
07acc7b3
JW
1962008-04-14 James E. Wilson <wilson@tuliptree.org>
197
198 * config/ia64/ia64.c (rtx_needs_barrier): Handle
199 UNSPEC_FR_SQRT_RECIP_APPROX_RES.
200 * config/ia64/ia64.c (UNSPEC_FR_SQRT_RECIP_APPROX_RES): Define.
201 (divsi3_internal, divdi3_internal_lat, divdi3_internal_thr,
202 divsf3_internal_lat, sqrt_approx, sqrtsf2_internal_thr,
203 divdf3_internal_lat, sqrtdf2_internal_thr, divxf3_internal_lat,
204 divxf3_internal_thr, sqrtxf2_internal_thr, recip_approx): Use it.
205
4c9db6e0
ILT
2062008-04-14 Ian Lance Taylor <iant@google.com>
207
208 * flags.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Define.
209 * fold-const.c (fold_comparison): If appropriate, test
210 POINTER_TYPE_OVERFLOW_UNDEFINED, and issue an overflow warning.
211 (fold_binary): Test POINTER_TYPE_OVERFLOW_UNDEFINED when
212 reassociating a pointer type.
213 * doc/invoke.texi (Optimize Options): Document that
214 -fstrict-overflow applies to pointer wraparound.
215
305da3ec
JH
2162008-04-13 Jan Hubicka <jh@suse.cz>
217
218 * m32.c (m32c_pushm_popm): Use crtl->retrun_rtx.
219
298ac1dd
AP
2202008-04-12 Andrew Pinski <pinskia@gmail.com>
221
222 * config/rs6000/rs6000.c (compute_save_world_info): Set lr_save_p if
223 we are going to "save the world".
224
70a7c7f1
HPN
2252008-04-13 Hans-Peter Nilsson <hp@axis.com>
226
227 * config/cris/cris.md ("*andhi_lowpart_non_v32", "*andhi_lowpart_v32")
228 ("*andqi_lowpart_non_v32", "*andqi_lowpart_v32"): Use "+" for the
229 operand 0 constraint, not "=".
230
ad7aacba
JW
2312008-04-11 James E. Wilson <wilson@tuliptree.org>
232
233 * system.h: Change ASSERT_CHECKING to ENABLE_ASSERT_CHECKING.
234
9d6facc7
L
2352008-04-11 H.J. Lu <hongjiu.lu@intel.com>
236
237 * dse.c (record_store): Use HOST_BITS_PER_WIDE_INT instead
238 of size of positions_needed * CHAR_BIT.
239
4fe663b0
L
2402008-04-11 H.J. Lu <hongjiu.lu@intel.com>
241
242 PR middle-end/35897
243 * dse.c (store_info): Change positions_needed to unsigned
244 HOST_WIDE_INT.
245 (lowpart_bitmask): New.
246 (record_store): Cast to unsigned HOST_WIDE_INT for
247 positions_needed. Assert width <= size of positions_needed *
248 CHAR_BIT. Call lowpart_bitmask to initialize positions_needed.
249 (check_mem_read_rtx): Use unsigned HOST_WIDE_INT on mask. Call
250 lowpart_bitmask to set mask.
251
9fdd7520
BS
2522008-04-11 Bernd Schmidt <bernd.schmidt@analog.com>
253
254 * config/bfin/constraints.md: New file.
255 * config/bfin/bfin.md: Include it.
256 (adddi3): Use satisfies_constraint functions instead of the old macros.
257 * config/bfin/bfin.h (REG_CLASS_FROM_LETTER, CONSTRAINT_LEN,
258 CONST_18UBIT_IMM_P, CONST_16BIT_IMM_P, CONST_16UBIT_IMM_P,
259 CONST_7BIT_IMM_P, CONST_7NBIT_IMM_P, CONST_5UBIT_IMM_P,
260 CONST_4BIT_IMM_P, CONST_4UBIT_IMM_P, CONST_3BIT_IMM_P,
261 CONST_3UBIT_IMM_P, CONST_OK_FOR_K, CONST_OK_FOR_P, CONST_OK_FOR_M,
262 CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER,
263 EXTRA_CONSTRAINT): Delete.
264 * config/bfin/predicates.md (highbits_operand, reg_or_7bit_operand,
265 reg_or_neg7bit_operand): Use satisfies_constraint functions instead
266 of the old macros.
267 * config/bfin/bfin.c: Include "tm-constrs.h".
268 (bfin_secondary_reload, split_load_immediate, bfin_rtx_costs):
269 Use satisfies_constraint functions instead of the old macros.
270 * doc/md.texi (Blackfin Constraints): Update file name reference.
271
0a4bf1d3
RG
2722008-04-11 Richard Guenther <rguenther@suse.de>
273
274 PR tree-optimization/35869
275 * tree-vrp.c (execute_vrp): Move switch statement update after
276 jump threading. Schedule another cfg cleanup run.
277
21516d64
VR
2782008-04-11 Volker Reichelt <v.reichelt@netcologne.de>
279
280 PR c/35744
281 * attribs.c (decl_attributes): Return early on errorneous node.
282
0598f31b
OR
2832008-04-10 Oleg Ryjkov <olegr@google.com>
284
285 * tree.h (struct tree_base): Added a new flag default_def_flag.
286 (SSA_NAME_IS_DEFAULT_DEF): Changed to use the new flag.
287
a1fcb9a1
KK
2882008-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
289
290 * config.gcc (need_64bit_hwint): Need 64bit hwint for sh-*-*.
291
6ef5fab0
JDA
2922008-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
293
294 PR target/35768
295 * pa.md: Define mode iterator P. Define mode attribute dwc.
296 (dcacheflush): Update pattern to use iterator P and attribute dwc.
297 (icacheflush): Likewise.
298 * pa.h (INITIALIZE_TRAMPOLINE): Use dcacheflushsi/icacheflushsi if
299 !TARGET_64BIT, and dcacheflushdi/icacheflushdi if TARGET_64BIT.
300
e47f8bba
BE
3012008-04-11 Ben Elliston <bje@au.ibm.com>
302
303 * config/spu/spu.c (spu_init_builtins): Mark builtins as nothrow.
304
2893f753
RAE
3052008-04-10 Rafael Espindola <espindola@google.com>
306
b97d8153 307 * tree-vrp.c (extract_range_from_binary_expr): Don't handle
2893f753
RAE
308 TRUTH_ANDIF_EXPR or TRUTH_ORIF_EXPR.
309 (extract_range_from_expr): The same.
310
5fb79e4c
AN
3112008-04-10 Adam Nemet <anemet@caviumnetworks.com>
312
313 * config/mips/mips.md (GPR2): New mode iterator.
314 (seq): Add comment.
315 (*seq_<mode>, *seq_<mode>_mips16, *sne_<mode>, *sgt<u>_<mode>,
316 *sgt<u>_<mode>_mips16, *sge<u>_<mode>, *slt<u>_<mode>,
317 *slt<u>_<mode>_mips16 *sle<u>_<mode>, *sle<u>_<mode>_mips16):
318 Rewrite these to take two modes, the mode of comparison and the
319 mode of the destination.
320 * config/mips/mips.c (mips_expand_scc): Instead of having
321 paradoxical subreg as destination, expand "narrowing" scc if mode
322 of comparison is SI and target is requested in DI mode.
323 (mips_emit_int_order_test): Update comment. Make mode of
324 comparison match CMP0 rather than TARGET. When creating inverse
325 target use mode of TARGET.
326
63d628b2
AN
3272008-04-10 Adam Nemet <anemet@caviumnetworks.com>
328
329 * gcov-dump.c (tag_summary): Only print summaries for the first
330 GCOV_COUNTERS_SUMMABLE counters.
331
6dd18eb1
UB
3322008-04-10 Uros Bizjak <ubizjak@gmail.com>
333
334 * config/i386/i386.md (absneg): New code iterator.
335 (absnegprefix): New code attribute.
336 (<code><mode>2): Macroize expander from abs<mode>2 and neg<mode>2
337 patterns using absneg code iterator.
338 (<code>tf2): Macroize expander from abstf2 and negtf2 patterns
339 using absneg code iterator.
340 (*<code><mode>2_1): Macroize insn pattern from *abs<mode>2_1 and
341 *neg<mode>2 patterns using absneg code iterator.
342 (*<code>extendsfdf2): Macroize insn pattern from *absextendsfdf2 and
343 *negextendsfdf2 patterns using absneg code iterator.
344 (*<code>extendsfxf2): Macroize insn pattern from *absextendsfxf2 and
345 *negextendsfxf2 patterns using absneg code iterator.
346 (*<code>extendsfdf2): Macroize insn pattern from *absextendsfdf2 and
347 *negextendsfdf2 patterns using absneg code iterator.
348 * config/i386/sse.md (<code><mode>2): Macroize expander from
349 abs<mode>2 and neg<mode>2 patterns using absneg code iterator.
350
f40bee31
AK
3512008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
352
353 * config/s390/s390.h: Remove the remains of the recent search
354 & replace action of current_function_outgoing_args_size.
355
19aec6b0
IR
3562008-04-10 Ira Rosen <irar@il.ibm.com>
357
358 PR tree-optimization/35821
359 * tree-vect-transform.c (vect_create_data_ref_ptr): Add check that
360 NEW_STMT_LIST is not NULL.
361
ee8f0bd7
DE
3622008-04-09 David Edelsohn <edelsohn@gnu.org>
363
364 PR libstdc++/35597
365 * toplev.c (process_options): Remove -ffunction-sections debugging
366 warning.
367
3a3a1fe1
PB
3682008-04-09 Peter Bergner <bergner@vnet.ibm.com>
369
370 PR middle-end/PR28690
371 * explow.c (break_out_memory_refs): Use simplify_gen_binary rather
372 than gen_rtx_fmt_ee to perform more canonicalizations.
373
e0941605
JDA
3742008-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
375
376 PR driver/35665
377 * collect2.c (write_c_file): Don't wrap in "#ifdef __cplusplus".
378
2f9ea521
RG
3792008-04-09 Richard Guenther <rguenther@suse.de>
380
381 * tree-cfg.c (verify_stmt): Print complete bogus stmt.
382 (dump_function_to_file): Dump function arguments with types.
383
02765a37
RG
3842008-04-08 Richard Guenther <rguenther@suse.de>
385
386 * fold-const.c (fold_widened_comparison): Do not allow
387 sign-changes that change the result.
388
a0f39282
JJ
3892008-04-08 Janis Johnson <janis187@us.ibm.com>
390
391 PR target/35839
392 * config/rs6000/rs6000.c (rs6000_check_sdmode): Handle additional
393 kinds of indirect references.
394
7f62878c
DE
3952008-04-08 David Edelsohn <edelsohn@gnu.org>
396
397 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update
398 GNU Fortran language string.
399
a1a6e271
RAE
4002008-04-08 Rafael Espindola <espindola@google.com>
401
402 * fold-canst.c (tree_call_nonnegative_warnv_p): New.
403 (tree_invalid_nonnegative_warnv_p): Use tree_call_nonnegative_warnv_p.
404 * tree.h (tree_call_nonnegative_warnv_p): New.
405
57b9e367
JH
4062008-04-08 Jan Hubicka <jh@suse.cz>
407
408 * function.c (free_after_compilation): Clear out regno_reg_rtx
409 pointer.
410
a95c8615
PB
4112008-04-08 Peter Bergner <bergner@vnet.ibm.com>
412
413 Revert
414 2008-04-07 Peter Bergner <bergner@vnet.ibm.com>
415
416 PR middle-end/PR28690
417 * rtlanal.c: (commutative_operand_precedence): Give SYMBOL_REF's the
418 same precedence as REG_POINTER and MEM_POINTER operands.
419
903b3003
RG
4202008-04-08 Richard Guenther <rguenther@suse.de>
421
422 PR middle-end/35834
423 * tree-ssa-address.c (create_mem_ref): Use POINTER_PLUS_EXPR
424 for adding index to base.
425
0b03b302
KT
4262008-04-08 Kai Tietz <kai.tietz@onevision.com>
427
428 * config/i386/mingw32.h (ENABLE_EXECUTE_STACK): New.
429 (MINGW_ENABLE_EXECUTE_STACK): New.
430 (IN_LIBGCC2): For libgcc include windows.h file for
431 function declarations.
432
582be0a1
HPN
4332008-04-08 Hans-Peter Nilsson <hp@axis.com>
434
435 * config/cris/cris.c (cris_address_cost): For a PLUS, swap tem1
436 and tem2 if tem1 is not a REG or MULT.
437
38173d38
JH
4382008-04-08 Jan Hubicka <jh@suse.cz>
439
440 * function.h (incomming_args): Break out of struct function.
441 (function_subsections): Break out of struct function.
442 (rtl_data): Add args, subsections fields. Break out outgoing_args_size,
443 return_rtx and hard_reg_initial_vals from struct function.
444 Kill inl_max_label_num.
445 (current_function_pops_args, current_function_args_info,
446 current_function_args_size, current_function_args_size,
447 current_function_pretend_args_size,
448 current_function_outgoing_args_size,
449 current_function_internal_arg_pointer, current_function_return_rtx):
450 Kill compatibility accestor macros.
451 * builtins.c (expand_builtin_apply_args_1): Update.
452 (expand_builtin_next_arg): Update.
453 * df-scan.c (df_get_call_refs): Update.
454 * dbxout.c (dbxout_function_end): Update.
455 * dwarf2out.c (dwarf2out_switch_text_section): Update.
456 (output_line_info): Update.
457 (secname_for_decl): Update.
458 (dwarf2out_var_location): Update.
459 * function.c (free_after_compilation): Update.
460 (assign_parm_find_stack_rtl): Update.
461 (assign_parms): Update.
462 (expand_dummy_function_end): Update.
463 (expand_function_end): Update.
464 * calls.c (mem_overlaps_already_clobbered_arg_p): Update.
465 (expand_call): Update.
466 (emit_library_call_value_1): Update.
467 (store_one_arg): Update.
468 * varasm.c (initialize_cold_section_name): Update.
469 (unlikely_text_section): Update.
470 (unlikely_text_section_p): Update.
471 (assemble_start_function): Update.
472 (assemble_end_function): Update.
473 (default_section_type_flags): Update.
474 (switch_to_section): Update.
475 * integrate.c (set_decl_abstract_flags): Update.
476 (get_hard_reg_initial_val): Update.
477 (has_hard_reg_initial_val): Update.
478 (allocate_initial_values): Update.
479 * resource.c (init_resource_info): Update.
480 * config/alpha/alpha.c (NUM_ARGS): Update.
481 (direct_return): Update.
482 (alpha_va_start): Update.
483 (alpha_sa_size): Update.
484 (alpha_initial_elimination_offset): Update.
485 (alpha_expand_prologue): Update.
486 (alpha_start_function): Update.
487 (alpha_expand_epilogue): Update.
488 (unicosmk_initial_elimination_offset):
489 * config/alpha/alpha.md (call expander): Update.
490 * config/s390/s390.c (s390_register_info): Update.
491 (s390_register_info): Update.
492 (s390_frame_info): Update.
493 (s390_initial_elimination_offset): Update.
494 (s390_build_builtin_va_list): Update.
495 (s390_va_start): Update.
496 * config/spu/spu.c (direct_return): Update.
497 (spu_expand_prologue): Update.
498 (spu_initial_elimination_offset): Update.
499 (spu_build_builtin_va_list): Update.
500 (spu_va_start): Update.
501 * config/sparc/sparc.c (sparc_init_modes): Update.
502 (sparc_compute_frame_size): Update.
503 (function_value): Update.
504 * config/m32r/m32r.c (m32r_compute_frame_size): Update.
505 * config/i386/i386.md (return expander): Update.
506 * config/i386/i386.c (ix86_va_start): Update.
507 (ix86_can_use_return_insn_p): Update.
508 (ix86_compute_frame_layout): Update.
509 (ix86_expand_epilogue): Update.
510 * config/sh/sh.c (output_stack_adjust): Update.
511 (calc_live_regs): Update.
512 (sh_expand_prologue): Update.
513 (sh_builtin_saveregs): Update.
514 (sh_va_start): Update.
515 (initial_elimination_offset): Update.
516 (sh_allocate_initial_value): Update.
517 (sh_function_ok_for_sibcall): Update.
518 (sh_get_pr_initial_val): Update.
519 * config/sh/sh.md (return expander): Update.
520 * config/avr/avr.c (frame_pointer_required_p): UPdate.
521 * config/crx/crx.c (crx_compute_frame): UPdate.
522 (crx_initial_elimination_offset): UPdate.
523 * config/xtensa/xtensa.c (compute_frame_size): Update
524 (xtensa_builtin_saveregs): Update.
525 (xtensa_va_start): Update.
526 (order_regs_for_local_alloc): Update.
527 * config/stormy16/stormy16.c (xstormy16_compute_stack_layout): Update.
528 (xstormy16_expand_builtin_va_start): Update.
529 * config/fr30/fr30.c (fr30_compute_frame_size): Update.
530 * config/m68hc11/m68hc11.md (return expanders): Update.
531 * config/m68hc11/m68hc11.c (expand_prologue): Update.
532 (expand_epilogue): Update.
533 * config/cris/cris.c (cris_initial_frame_pointer_offset): Update.
534 (cris_simple_epilogue): Update.
535 (cris_expand_prologue): Update.
536 (cris_expand_epilogue): Update.
537 * config/iq2000/iq2000.c (iq2000_va_start): Update.
538 (compute_frame_size): Update.
539 * config/mt/mt.c (mt_compute_frame_size): Update.
540 * config/mn10300/mn10300.c (expand_prologue): Update.
541 (expand_epilogue): Update.
542 (initial_offset): Update.
543 (mn10300_builtin_saveregs):
544 * config/mn10300/mn10300.md (return expander): Update.
545 * config/ia64/ia64.c (ia64_compute_frame_size): Update.
546 (ia64_initial_elimination_offset): Update.
547 (ia64_initial_elimination_offset): Update.
548 (ia64_expand_prologue): Update.
549 * config/m68k/m68k.md (return expander): Update.
550 * config/rs6000/rs6000.c (rs6000_va_start): Update.
551 (rs6000_stack_info): Update.
552 * config/mcore/mcore.c (layout_mcore_frame): Update.
553 (mcore_expand_prolog): Update.
554 * config/arc/arc.c (arc_compute_frame_size): Update.
555 * config/score/score3.c (score3_compute_frame_size): Update.
556 * config/score/score7.c (score7_compute_frame_size): Update.
557 * config/arm/arm.c (use_return_insn): Update.
558 (thumb_find_work_register): Update.
559 (arm_compute_save_reg_mask): Update.
560 (arm_output_function_prologue): Update.
561 (arm_output_epilogue): Update.
562 (arm_size_return_regs): Update.
563 (arm_get_frame_offsets): Update.
564 (arm_expand_prologue): Update.
565 (thumb_exit): Update.
566 (thumb_unexpanded_epilogue): Update.
567 (thumb1_output_function_prologue): Update.
568 * config/pa/pa.md (return expander): Update.
569 * config/pa/pa.c (compute_frame_size): Update.
570 (hppa_builtin_saveregs): Update.
571 * config/mips/mips.c (mips_va_start): Update.
572 (mips16_build_function_stub): Update.
573 (mips_compute_frame_info): Update.
574 (mips_restore_gp): Update.
575 (mips_output_function_prologue): Update.
576 (mips_expand_prologue): Update.
577 * config/v850/v850.c (compute_frame_size): Update.
578 (expand_prologue): * config/mmix/mmix.c (along): update.
579 (mmix_initial_elimination_offset): update.
580 (mmix_reorg): update.
581 (mmix_use_simple_return): update.
582 (mmix_expand_prologue): update.
583 (mmix_expand_epilogue): Update.
584 * config/bfin/bfin.c (bfin_initial_elimination_offset): Update.
585 (emit_link_insn): Update.
586
5d9b8bb4
AS
5872008-04-08 Anatoly Sokolov <aesok@post.ru>
588
589 * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define
590 __AVR_HAVE_EIJMP_EICALL__ macro if device have EIJMP and EICALL
591 instructions.
592 * config/avr/avr.c (avr_mcu_types): Set AVR31 architecture for
593 atmega103 device.
594
3e029763
JH
5952008-04-07 Jan Hubicka <jh@suse.cz>
596
597 * function.h (rtl): Rename to x_rtl.
598 (crtl): New define.
599 (return_label, naked_return_label, stack_slot_list, parm_birth_insn,
600 frame_offset, stack_check_probe_note, arg_pointer_save_area,
601 used_temp_slots avail_temp_slots, temp_slot_level,
602 nonlocal_goto_handler_labels): Update accesstors.
603 (rtl): New global variable.
604 (struct function): Move some fileds to rtl_data.
605 (get_arg_pointer_save_area): Update prototype.
606 * builtins.c (expand_builtin_setjmp_receiver): Update call of
607 get_arg_pointer_save_area.
608 * expr.c (init_expr): Update
609 * function.c (get_frame_size): Update
610 (assign_stack_local): Update
611 (expand_function_end): Update.
612 (get_art_pointer_save_area): Update
613 * function.h
614 * emit-rtl.c (rtl): Declare.
615 (regno_reg_rtx): Declare.
616 (first_insn, last_insn, cur_insn_uid, last_location, first_label_num):
617 Update.
618 (gen_reg_rtx): Update.
619 * varasm.c (n_deferred_constatns): Update accestor.
620 (init_varasm_status): Do not allocate varasm_status.
621 (force_const_mem, get_pool_size, output_constant_pool): Update.
622 * stmt.c (force_label_rtx): Do not use x_ prefixes.
623 (expand_nl_goto_receiver): Update get_arg_pointer_save_area.
624 * m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Update.
625 * sparc/sparc.h (INIT_EXPANDERS): Update.
626 * ia64/ia64.h (INIT_EXPANDERS): Update.
627
c3be2598
JW
6282008-04-07 James E. Wilson <wilson@tuliptree.org>
629
630 * reload.c (push_secondary_reload): Add missing break to for loop.
631
46b71b03
PB
6322008-04-07 Peter Bergner <bergner@vnet.ibm.com>
633
634 PR middle-end/PR28690
635 * rtlanal.c: Update copyright years.
636 (commutative_operand_precedence): Give SYMBOL_REF's the same precedence
637 as REG_POINTER and MEM_POINTER operands.
638 * emit-rtl.c (gen_reg_rtx_and_attrs): New function.
639 (set_reg_attrs_from_value): Call mark_reg_pointer as appropriate.
640 * rtl.h (gen_reg_rtx_and_attrs): Add prototype for new function.
641 * gcse.c: Update copyright years.
642 (pre_delete): Call gen_reg_rtx_and_attrs.
643 (hoist_code): Likewise.
644 (build_store_vectors): Likewise.
645 (delete_store): Likewise.
646 * loop-invariant.c (move_invariant_reg): Likewise.
647 Update copyright years.
648
64ef8953
UB
6492008-04-07 Uros Bizjak <ubizjak@gmail.com>
650
651 * config/i386/i386.md ("*sse_prologue_save_insn"): Use braced output
652 control string instead of quoted.
653
84159bd8
KZ
6542008-04-07 Kenneth Zadeck <zadeck@naturalbridge.com>
655
64ef8953
UB
656 * doc/rtl.texi: Rewrite of subreg section.
657
8502420b
KT
6582008-04-07 Kai Tietz <kai.tietz@onevision.com>
659
64ef8953
UB
660 PR/35842
661 * config/i386/i386.c (legitimize_pic_address): Add treating
662 of dllimport SYM_REF's.
663 (legitimize_dllimport_symbol): Add prototype.
8502420b 664
39fcde8f
EB
6652008-04-07 Eric Botcazou <ebotcazou@adacore.com>
666
667 * fold-const.c (fold) <ARRAY_REF>: New case. Try to fold constant
668 reference in constructor with non self-referential type.
669
9dd9bf80
EB
6702008-04-07 Eric Botcazou <ebotcazou@adacore.com>
671
672 Removal of Return with Depressed Stack Pointer support
673 * tree.h (TYPE_RETURNS_STACK_DEPRESSED): Delete.
674 (ECF_SP_DEPRESSED): Likewise.
675 (ECF_LIBCALL_BLOCK, ECF_NOVOPS): Adjust.
676 * calls.c (emit_call_1): Do not test ECF_SP_DEPRESSED.
677 (flags_from_decl_or_type): Do not test TYPE_RETURNS_STACK_DEPRESSED.
678 (expand_call): Do not test ECF_SP_DEPRESSED.
679 * dse.c (dse_step0): Do not test TYPE_RETURNS_STACK_DEPRESSED.
680 * function.c (keep_stack_depressed): Delete.
681 (handle_epilogue_set): Likewise.
682 (update_epilogue_consts): Likewise.
683 (emit_equiv_load): Likewise.
684 (thread_prologue_and_epilogue_insns): Remove support for Return with
685 Depressed Stack Pointer.
686 * print-tree.c (print_node): Do not test TYPE_RETURNS_STACK_DEPRESSED.
687
3633df5a
RG
6882008-04-06 Richard Guenther <rguenther@suse.de>
689
690 PR tree-optimization/35400
691 * tree-vrp.c (vrp_evaluate_conditional): Only query value-range
692 information from SSA_NAMEs.
693
5dc77808
AS
6942008-04-06 Anatoly Sokolov <aesok@post.ru>
695
696 * config/avr/avr.h (avr_mega_p): Remove declaration.
697 (AVR_MEGA): Remove macro.
698 * config/avr/avr.c (avr_mega_p): Remove variable.
699 (avr_override_options): Remove inicializion of avr_mega_p.
700 Use AVR_HAVE_JMP_CALL instead of AVR_MEGA.
701 (print_operand): Use AVR_HAVE_JMP_CALL instead of AVR_MEGA.
702 (avr_jump_mode): (Ditto.).
703 (avr_output_progmem_section_asm_op): (Ditto.).
704 (avr_asm_init_sections): (Ditto.).
705 (avr_asm_init_sections): (Ditto.).
706 (avr_rtx_costs): (Ditto.).
707 * config/avr/avr.md: (Ditto.).
708 * config/avr/avr.h: Use '__AVR_HAVE_JMP_CALL__' instead of
709 '__AVR_MEGA__'.
710
8c51effa
RG
7112008-04-06 Richard Guenther <rguenther@suse.de>
712
713 PR tree-optimization/35842
714 * tree-ssa-address.c (fixed_address_object_p): Adjust to match
715 is_gimple_invariant_address.
716
3135ce84
FXC
7172008-04-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
718
719 * gcc.c (default_compilers): Sync Fortran extensions list with
720 that in fortran/lang-specs.h.
721 * doc/invoke.texi: Likewise.
722 * dbxout.c (get_lang_number): Use "GNU Fortran" in "GNU F95".
723 * dwarf2out.c (gen_compile_unit_die): Likewise.
724
d7d7db8b
TC
7252008-04-06 Tom G. Christensen <tgc@jupiterrise.com>
726
727 * gthr-posix95.h (__gthread_cond_wait_recursive): Add missing &.
728
27183bba
UB
7292008-04-05 Uros Bizjak <ubizjak@gmail.com>
730
731 PR target/12329
732 * config/i386/i386.c (ix86_function_regparm): Error if regparm(3)
733 attribute is used for nested functions.
734
9e016eba
JH
7352008-04-05 Jan Hubicka <jh@suse.cz>
736
9fb7564e
JH
737 * emit-rtl.c (init_emit): xcalloc regno_pointer_align.
738
9e016eba
JH
739 * tree-dump.c (dump_enable_all): Remove prototype; do not accept
740 letter argument.
741 (dump_files): Update.
742 (enable_rtl_dump_file): Do not accept letter argument.
743 * tree-pass.h (dump_file_info): Remove letter argument.
744 * toplev.c (decode_d_option): Update -da handling.
745 * toplev.h (enable_rtl_dump_file): Update prototype.
746 * passes.c (register_one_dump_file): Do not accept IPA argument; work
747 it out based on pass type.
748 (register_dump_files_1): Likewise.
749 (init_optimization_passes): Update register_one_dump_file calls.
27183bba
UB
750 (execute_one_pass): Sanity check that IPA passes are called at IPA
751 level and RTL passes at RTL level.
9e016eba
JH
752 (execute_pass_list): IPA pass can not be after or subpass of
753 GIMPLE/RTL pass.
754 (execute_ipa_pass_list): Handle IPA subpasses of IPA subpasses and
755 disallov RTL subpasses of IPA subpasses.
756
23ef6d21
BE
7572008-04-05 Ben Elliston <bje@au.ibm.com>
758
759 * tree-cfg.c (need_fake_edge_p): Return false for calls to
760 builtins that return exactly once and do not throw. Cache call to
761 call_expr_flags.
762
3c2397cd
AH
7632008-04-04 Andy Hutchinson <hutchinsonandy@aim.com>
764
765 PR rtl-optimization/34916
766 PR middle-end/35519
767 * combine.c (create_log_links): Do not create duplicate LOG_LINKS
768 between instruction pairs.
769
9eb3a0dd
N
7702008-04-04 Naveen.H.S <naveen.hs@kpitcummins.com>
771
772 * doc/invoke.texi: Document -mbitops for SH.
773 * config/sh/constraints.md (K03, K12, Sbv, Sbw): New constraints.
774 * config/sh/predicates.md (bitwise_memory_operand): New predicate.
775 * config/sh/sh.c (print_operand): Add %t operand code.
776 * config/sh/sh.h (GO_IF_LEGITIMATE_INDEX): Add condition for SH2A.
777 * config/sh/sh.md (*iorsi3_compact): Fix condition for SH2A.
778 (extendqisi2_compact): Add the alternative for SH2A 4-byte mov.b.
779 (extendqihi2): Likewise.
780 (movqi_i): Likewise.
781 (insv): Use bset, bclr and bst instructions for SH2A if possible.
782 (extv): Use bld instruction for SH2A if possible.
783 (extzv): Likewise.
784 (bclr_m2a, bclrmem_m2a, bset_m2a, bsetmem_m2a, bst_m2a, bld_m2a,
785 bldsign_m2a, bld_reg, *bld_regqi, band_m2a, bandreg_m2a,
786 bor_m2a, borreg_m2a, bxor_m2a, bxorreg_m2a): New insns.
787 (bset.b, bclr.b): Define peepholes.
788 * config/sh/sh.opt (mbitops): New option.
789
fdf4f148
JJ
7902008-04-04 Janis Johnson <janis187@us.ibm.com>
791
792 PR target/35620
793 * config/rs6000/rs6000.c (rs6000_check_sdmode): Handle indirect ref
794 and view convert expression.
795
3088d404
JJ
7962008-04-04 Jakub Jelinek <jakub@redhat.com>
797
798 PR target/35364
799 * tree-cfg.c (remove_useless_stmts_1): Handle OMP_* containers.
800
8b96a312
L
8012008-04-04 H.J. Lu <hongjiu.lu@intel.com>
802
803 * config.gcc (extra_headers): Add wmmintrin.h for x86 and x86-64.
804
805 * config/i386/cpuid.h (bit_AES): New.
806 (bit_PCLMUL): Likewise.
807
808 * config/i386/i386.c (pta_flags): Add PTA_AES and PTA_PCLMUL.
809 (override_options): Handle PTA_AES and PTA_PCLMUL. Enable
810 SSE2 if AES or PCLMUL is enabled.
811 (ix86_builtins): Add IX86_BUILTIN_AESENC128,
812 IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128,
813 IX86_BUILTIN_AESDECLAST128, IX86_BUILTIN_AESIMC128,
814 IX86_BUILTIN_AESKEYGENASSIST128 and IX86_BUILTIN_PCLMULQDQ128.
815 (bdesc_sse_3arg): Add IX86_BUILTIN_PCLMULQDQ128.
816 (bdesc_2arg): Add IX86_BUILTIN_AESENC128,
817 IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128,
818 IX86_BUILTIN_AESDECLAST128 and IX86_BUILTIN_AESKEYGENASSIST128.
819 (bdesc_1arg): Add IX86_BUILTIN_AESIMC128.
820 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_aesenc128,
821 __builtin_ia32_aesenclast128, __builtin_ia32_aesdec128,
822 __builtin_ia32_aesdeclast128,__builtin_ia32_aesimc128,
823 __builtin_ia32_aeskeygenassist128 and
824 __builtin_ia32_pclmulqdq128.
825 * config/i386/i386.c (ix86_expand_binop_imm_builtin): New.
826 (ix86_expand_builtin): Use it for IX86_BUILTIN_PSLLDQI128 and
827 IX86_BUILTIN_PSRLDQI128. Handle IX86_BUILTIN_AESKEYGENASSIST128.
828
829 * config/i386/i386.h (TARGET_AES): New.
830 (TARGET_PCLMUL): Likewise.
831 (TARGET_CPU_CPP_BUILTINS): Handle TARGET_AES and TARGET_PCLMUL.
832
833 * config/i386/i386.md (UNSPEC_AESENC): New.
834 (UNSPEC_AESENCLAST): Likewise.
835 (UNSPEC_AESDEC): Likewise.
836 (UNSPEC_AESDECLAST): Likewise.
837 (UNSPEC_AESIMC): Likewise.
838 (UNSPEC_AESKEYGENASSIST): Likewise.
c9a22ea1 839 (UNSPEC_PCLMUL): Likewise.
8b96a312
L
840
841 * config/i386/i386.opt (maes): New.
842 (mpclmul): Likewise.
843
844 * config/i386/sse.md (aesenc): New pattern.
845 (aesenclast): Likewise.
846 (aesdec): Likewise.
847 (aesdeclast): Likewise.
848 (aesimc): Likewise.
849 (aeskeygenassist): Likewise.
850 (pclmulqdq): Likewise.
851
852 * config/i386/wmmintrin.h: New.
853
854 * doc/extend.texi: Document AES and PCLMUL built-in function.
855
856 * doc/invoke.texi: Document -maes and -mpclmul.
857
e8924938
PB
8582008-04-04 Paolo Bonzini <bonzini@gnu.org>
859
860 * function.c (free_after_parsing): Replace with
861 cxx_push_function_context from C++ front-end.
862 (allocate_struct_function): Don't call langhook.
863 * langhooks.h (struct lang_hooks_for_functions): Delete.
864 (struct lang_hooks): Add back missing_noreturn_ok_p here, delete
865 member "function".
866 * langhooks-def.h (LANG_HOOKS_MISSING_NORETURN_OK_P): Add.
867 (LANG_HOOKS_FUNCTION_INIT, LANG_HOOKS_FUNCTION_FINAL,
868 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
869 LANG_HOOKS_FUNCTION_INITIALIZER): Delete.
870 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_MISSING_NORETURN_OK_P,
871 remove LANG_HOOKS_FUNCTION_INITIALIZER.
872 * tree-cfg.c: Adjust call to missing_noreturn_ok_p langhook.
873
874 * c-objc-common.h (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P):
875 Rename to LANG_HOOKS_MISSING_NORETURN_OK_P.
876
05008a0c
JJ
8772008-04-04 Jakub Jelinek <jakub@redhat.com>
878
879 PR c/35440
880 * c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR
881 for all types.
882
c071e8bc
RG
8832008-04-04 Richard Guenther <rguenther@suse.de>
884
885 PR middle-end/35823
886 * fold-const.c (optimize_minmax_comparison): Use the correct
887 type for the constant in the simplified comparison.
888
f4a1dd0d
ZM
8892008-04-04 Zuxy Meng <zuxy.meng@gmail.com>
890
891 * config/i386/driver-i386.c (describe_cache): Add l2_sizekb argument.
892 Pass L2 size as "--param l2-cache-size" to the compiler.
893 (decode_l2_cache): New function to decode L2 cache parameters using
894 0x8000006 extended cpuid function.
895 (detect_caches_amd): Determine parameters of L2 cache using
896 decode_l2_caches function.
897 (decode_caches_intel): Decode L2 cache parameters.
898 (detect_caches_intel): Determine L2 cache parameters using
899 decode_caches_intel and decode_l2_caches functions.
900
3ee909cb
BW
9012008-04-03 Bob Wilson <bob.wilson@acm.org>
902
903 * config/xtensa/xtensa.c (xtensa_secondary_reload_class): Use a
904 secondary input reload for subword loads from the constant pool.
905
6db07dcb
JJ
9062008-04-03 Janis Johnson <janis187@us.ibm.com>
907
383e91e4
JJ
908 PR target/35713
909 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use integer
910 constants of the appropriate size for runtime calculations.
911
6db07dcb
JJ
912 PR c/35712
913 * dfp.c (decimal_from_decnumber): Retain trailing zeroes for
914 decimal-float literal constant zero.
915
5da250fc
JJ
9162008-04-03 Jakub Jelinek <jakub@redhat.com>
917
79addd1f
JJ
918 PR c/35738
919 * c-parser.c (c_parser_omp_atomic): Call
920 default_function_array_conversion on the RHS.
921
5da250fc
JJ
922 PR middle-end/35818
923 * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: Don't
924 call is_variable_sized if decl has incomplete type.
925
940f3b52
L
9262008-04-03 H.J. Lu <hongjiu.lu@intel.com>
927
928 * config/i386/i386-protos.h (ix86_aligned_p): Removed.
929
6ac935c1
AN
9302008-04-03 Adam Nemet <anemet@caviumnetworks.com>
931
932 * config/mips/mips.md (any_gt, any_ge, any_lt, any_le): New code
933 iterators.
64ef8953 934 (u): Add attribute values for gt, gtu, ge, geu, lt, ltu, le and leu.
6ac935c1
AN
935 (sgt<u>): Merge sgt and sgtu into new expander.
936 (sgt, sgtu): Remove expanders.
64ef8953 937 (*sgt<u>_<mode>): Merge *sgt_<mode> and *sgtu_<mode> into new pattern.
6ac935c1
AN
938 (*sgt_<mode>, *sgtu_<mode>): Remove patterns.
939 (*sgt<u>_<mode>_mips16): Merge *sgt_<mode>_mips16 and
940 *sgtu_<mode>_mips16 into new pattern.
941 (*sgt_<mode>_mips16, *sgtu_<mode>_mips16): Remove patterns.
942 (sge<u>): Merge sge and sgeu into new expander.
943 (sge, sgeu): Remove expanders.
944 (*sge<u>_<mode>): Merge *sge_<mode> and second *sge_<mode> into
945 new pattern.
946 (*sge_<mode>, second *sge_<mode>): Remove patterns.
947 (slt<u>): Merge slt and sltu into new expander.
948 (slt, sltu): Remove expanders.
64ef8953 949 (*slt<u>_<mode>): Merge *slt_<mode> and *sltu_<mode> into new pattern.
6ac935c1
AN
950 (*slt_<mode>, *sltu_<mode>): Remove patterns.
951 (*slt<u>_<mode>_mips16): Merge *slt_<mode>_mips16 and
952 *sltu_<mode>_mips16 into new pattern.
953 (*slt_<mode>_mips16, *sltu_<mode>_mips16): Remove patterns.
954 (sle<u>): Merge sle and sleu into new expander.
955 (sle, sleu): Remove expanders.
64ef8953 956 (*sle<u>_<mode>): Merge *sle_<mode> and *sleu_<mode> into new pattern.
6ac935c1
AN
957 (*sle_<mode>, *sleu_<mode>): Remove patterns.
958 (*sle<u>_<mode>_mips16): Merge *sle_<mode>_mips16 and
959 *sleu_<mode>_mips16 into new pattern.
960 (*sle_<mode>_mips16, *sleu_<mode>_mips16): Remove patterns.
961
6b0c2336
JH
9622008-04-03 Jan Hubicka <jh@suse.cz>
963
964 PR tree-optimization/35795
965 * alpha/alpha.c (alpha_output_mi_thunk_osf): Free after compilation.
966 * sparc/sparc.c (sparc_output_mi_thunk): Likewise.
967 * ia64/ia64.c (ia64_output_mi_thunk): Likewise.
968 * m68k/m68k.c (m68k_output_mi_thunk): Likewise.
969 * score/score3.c (score3_output_mi_thunk): Likewise.
970 * score/score7.c (score7_output_mi_thunk): Likewise.
971 * mips/mips.c (mips_output_mi_thunk): Likewise.
972
b47ee386
RG
9732008-04-03 Richard Guenther <rguenther@suse.de>
974
975 * tree-vrp.c (extract_range_from_unary_expr): Handle all
976 conversions. Simplify code.
977
2a7428c0
KK
9782008-04-03 Kaz Kojima <kkojima@gcc.gnu.org>
979
980 * config/sh/sh.c (sh_output_mi_thunk): Free cfun.
981
6cba282a
TT
9822008-04-03 Tom Tromey <tromey@redhat.com>
983 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
984
985 * config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h.
986 * config/bfin/t-bfin-linux (generated_files): Add
987 linux-sysroot-suffix.h.
988 * doc/install.texi (Prerequisites): Require make 3.80.
989 * doc/sourcebuild.texi (Front End Directory): Document new
990 variable.
991 * Makefile.in (generated_files): New variable.
992 (ALL_HOST_OBJS): New variable.
993 ($(ALL_HOST_OBJS)): New target.
994
9ff420f1
PB
9952008-04-03 Paolo Bonzini <bonzini@gnu.org>
996
6b0c2336
JH
997 * tree-inline.c (copy_generic_body, copy_decl_no_change): Export.
998 (remap_block): Call id->transform_lang_insert_block instead
999 of langhook.
1000 (optimize_inline_calls, unsave_expr_now, tree_function_versioning):
1001 Set id.transform_lang_insert_block to NULL.
1002 (clone_body): Move to cp/optimize.c
1003 * tree-inline.h (struct copy_body_data): Change
1004 transform_lang_insert_block to function pointer.
1005 (copy_generic_body, copy_decl_no_change): Export.
1006 * langhooks.h (struct lang_hooks_for_decls): Kill insert_block.
1007 * langhooks-def.h (LANG_HOOKS_INSERT_BLOCK): Kill.
1008 (LANG_HOOKS_DECLS): Remove LANG_HOOKS_INSERT_BLOCK.
1009
1010 * c-tree.h (insert_block): Kill.
1011 * c-decl.c (insert_block): Kill.
9ff420f1 1012
d2784db4
PB
10132008-04-03 Paolo Bonzini <bonzini@gnu.org>
1014
6b0c2336
JH
1015 * c-objc-common.h (LANG_HOOKS_FUNCTION_ENTER_NESTED,
1016 LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete.
1017 * c-tree.h (c_push_function_context, c_pop_function_context): Remove
1018 argument.
1019 * c-decl.c (c_push_function_context, c_pop_function_context): Remove
1020 argument, call {push,pop}_function_context from here.
1021 * c-parser.c: Use c_{push,pop}_function_context.
1022
1023 * function.c (push_function_context_to): Move meat ...
1024 (push_function_context): ... here. Simplify.
1025 * function.c (pop_function_context_from): Move meat ...
1026 (pop_function_context): ... here. Simplify.
1027 * langhooks.h (struct lang_hooks_for_functions): Remove enter_nested,
1028 leave_nested).
1029 * langhooks-def.h (LANG_HOOKS_FUNCTION_ENTER_NESTED,
1030 LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete.
1031 (LANG_HOOKS_FUNCTION_INITIALIZER): Delete them from here.
1032 * tree.h (push_function_context_to, pop_function_context_from): Remove.
d2784db4 1033
9e0aebca
BE
10342008-04-03 Ben Elliston <bje@au.ibm.com>
1035
1036 * expmed.c (extract_force_align_mem_bit_field): Remove.
1037
55187c8a
RG
10382008-04-03 Richard Guenther <rguenther@suse.de>
1039
1040 PR middle-end/35800
1041 * expr.h (try_casesi): Adjust prototype.
1042 * expr.c (try_casesi): Take fallback label as extra parameter.
1043 Use that for gen_casesi if default_label is NULL.
1044 * stmt.c (expand_case): Pass fallback label to try_casesi,
1045 make sure to fill gaps with a fallback label if default_label
1046 is not present.
1047
d7087dd2
DH
10482008-04-03 Dominique d'Humieres <dominiq@lps.ens.fr>
1049
1050 PR target/35801
1051 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Free cfun.
1052
609023ff
BE
10532008-04-03 Ben Elliston <bje@au.ibm.com>
1054
1055 * expmed.c (extract_split_bit_field): Remove if (0) code.
1056 * tree-ssa-structalias.c (do_sd_constraint): Likewise.
1057 (do_ds_constraint): Likewise.
1058
93d45d9e
JM
10592008-04-02 Joseph Myers <joseph@codesourcery.com>
1060
1061 * doc/cppopts.texi (-dU): Document.
1062 * c-common.h (flag_dump_macros): Update comment.
1063 * c-opts.c (handle_OPT_d): Handle -dU.
1064 * c-ppoutput.c (macro_queue, define_queue, undef_queue,
1065 dump_queued_macros, cb_used_define, cb_used_undef): New.
1066 (init_pp_output): Handle -dU.
1067 (cb_line_change): Call dump_queued_macros.
1068 * toplev.c (decode_d_option): Accept -dU as preprocessor option.
1069
e6b69d0e
AS
10702008-04-02 Anatoly Sokolov <aesok@post.ru>
1071
1072 * config/avr/predicates.md (io_address_operand): New predicate.
1073 * config/avr/avr-protos.h (avr_io_address_p): Remove declaration.
1074 * config/avr/avr.c (avr_io_address_p): Remove function.
1075 (out_movqi_r_mr): Use 'io_address_operand' predicate instead of
1076 'avr_io_address_p' function.
1077 (out_movhi_r_mr): (Ditto.).
1078 (out_movqi_mr_r): (Ditto.).
1079 (out_movhi_mr_r): (Ditto.).
1080 (avr_address_cost): (Ditto.).
1081
7b198002
UB
10822008-04-02 Uros Bizjak <ubizjak@gmail.com>
1083
1084 * config/i386/i386.md (*float<SSEMODEI24:mode><X87MODEF:mode>2_1):
1085 Emit gen_floatdi<X87MODEF:mode>2_i387_with_xmm for DImode values
1086 in 32bit mode when XMM registers are available to avoid store
1087 forwarding stalls.
1088 (floatdi<X87MODEF:mode>2_i387_with_xmm): New insn pattern and
1089 corresponding post-reload splitters.
1090
abe08645
L
10912008-04-02 H.J. Lu <hongjiu.lu@intel.com>
1092
1093 * config/i386/i386.c (bdesc_sse_3arg): Add __builtin_ia32_shufps
1094 and __builtin_ia32_shufpd. Provide __builtin_ia32_roundsd and
1095 __builtin_ia32_roundss.
1096 (ix86_init_mmx_sse_builtins): Remove __builtin_ia32_shufps,
1097 __builtin_ia32_shufpd, __builtin_ia32_roundsd and
1098 __builtin_ia32_roundss.
1099 (ix86_expand_builtin): Don't handle IX86_BUILTIN_SHUFPS and
1100 IX86_BUILTIN_SHUFPD here.
1101
94237c92
L
11022008-04-02 H.J. Lu <hongjiu.lu@intel.com>
1103
1104 * config/i386/i386.md (plogic): New.
1105 (plogicprefix): Likewise.
1106
1107 * config/i386/mmx.md (mmx_<code><mode>3): New.
1108 (mmx_and<mode>3): Removed.
1109 (mmx_ior<mode>3): Likewise.
1110 (mmx_xor<mode>3): Likewise.
1111
1112 * config/i386/sse.md (<code><mode>3): New.
1113 (*<code><mode>3): Likewise.
1114 (*<code><mode>3): Likewise.
1115 (<code><mode>3): Likewise.
1116 (*sse_<code><mode>3): Likewise.
1117 (*sse2_<code><mode>3): Likewise.
1118 (<code>tf3): Likewise.
1119 (*<code>tf3): Likewise.
1120 (and<mode>3): Likewise.
1121 (*and<mode>3): Likewise.
1122 (ior<mode>3): Removed.
1123 (*ior<mode>3): Likewise.
1124 (xor<mode>3): Likewise.
1125 (*xor<mode>3): Likewise.
1126 (*and<mode>3): Likewise.
1127 (*ior<mode>3): Likewise.
1128 (*xor<mode>3): Likewise.
1129 (and<mode>3): Likewise.
1130 (*sse_and<mode>3): Likewise.
1131 (*sse2_and<mode>3): Likewise.
1132 (andtf3): Likewise.
1133 (*andtf3): Likewise.
1134 (ior<mode>3): Likewise.
1135 (*sse_ior<mode>3): Likewise.
1136 (*sse2_ior<mode>3): Likewise.
1137 (iortf3): Likewise.
1138 (*iortf3): Likewise.
1139 (xor<mode>3): Likewise.
1140 (*sse_xor<mode>3): Likewise.
1141 (*sse2_xor<mode>3): Likewise.
1142 (xortf3): Likewise.
1143 (*xortf3): Likewise.
1144
b7814a18
RG
11452008-04-02 Richard Guenther <rguenther@suse.de>
1146
1147 PR tree-optimization/14495
1148 PR tree-optimization/34793
1149 * tree-vrp.c (struct switch_update): New structure.
1150 (to_remove_edges, to_update_switch_stmts): New VECs.
1151 (simplify_switch_using_ranges): New function. Remove not taken
1152 case labels and edges.
1153 (simplify_stmt_using_ranges): Call it.
1154 (identify_jump_threads): Mark edges we have queued for removal
1155 so we don't thread them.
1156 (execute_vrp): Remove edges queued for removal, update SWITCH_STMT
1157 case label vector.
1158 * tree-cfg.c (group_case_labels): Deal with missing default label.
1159 (tree_verify_flow_info): Allow missing default label.
1160 * stmt.c (emit_case_bit_tests): Deal with NULL default_label.
1161 (emit_case_nodes): Likewise.
1162 (expand_case): Do not rely on the default label to be present.
1163 * expr.c (try_casesi): Deal with NULL default_label.
1164 (do_tablejump): Likewise.
1165
8aea0bf0
RG
11662008-04-02 Richard Guenther <rguenther@suse.de>
1167
1168 PR tree-optimization/14495
1169 * tree-vrp.c (vrp_visit_cond_stmt): Do not handle
1170 SWITCH_EXPR here ...
1171 (vrp_visit_switch_stmt): ... but here (new function).
1172 (find_case_label_index): New helper function.
1173 (vrp_visit_stmt): Dispatch to vrp_visit_switch_stmt.
1174
3f1c2278
PB
11752008-04-02 Paolo Bonzini <bonzini@gnu.org>
1176
1177 * fwprop.c: Fix ISO-C99ism.
1178
da0f6381
PB
11792008-04-02 Paolo Bonzini <bonzini@gnu.org>
1180
1181 PR bootstrap/35752
1182 * Makefile.in (objdir): Set it here.
1183 * configure.ac: Not here. Find dynamic linker characteristics.
1184 * exec-tool.in: Use them.
1185 * aclocal.m4: Regenerate.
1186 * configure: Regenerate.
1187
4846b435
PB
11882008-04-02 Paolo Bonzini <bonzini@gnu.org>
1189
1190 * expr.c (expand_var): Delete it.
1191 * expr.h (expand_var): Delete prototype.
1192 * function.c (expand_function_start): Use expand_decl instead.
1193 * cfgexpand.c (expand_one_static_var, expand_one_var): Don't call
1194 langhook.
1195
4fefbcdb
AH
11962008-04-02 Andy Hutchinson <hutchinsonamdy@aim.com>
1197
1198 PR rtl-optimization/35542
1199 * fwprop.c (forward_propagate_and_simplify): Replace
1200 loc_reg_mentioned_in_p with reg_mentioned_p.
1201
460d667d
PB
12022008-04-02 Paolo Bonzini <bonzini@gnu.org>
1203
4fefbcdb 1204 PR rtl-optimization/35281
460d667d
PB
1205 * fwprop.c (PR_CAN_APPEAR, PR_HANDLE_MEM): New.
1206 (propagate_rtx_1): Handle PR_HANDLE_MEM.
1207 (propagate_rtx): Pass PR_HANDLE_MEM if appropriate.
1208 (varying_mem_p): Move above propagate_rtx.
1209 (all_uses_available_at): Do not check MEMs.
1210
a26a02d7
RAE
12112008-04-02 Rafael Espindola <espindola@google.com>
1212
1213 * tree-vrp.c (extract_code_and_val_from_cond): Remove.
1214 (register_edge_assert_for_2): Split the cond argument.
1215 (register_edge_assert_for_1): Adjust for the change in
1216 register_edge_assert_for_2.
1217 (register_edge_assert_for): Split the cond argument.
1218 (find_switch_asserts): Adjust for the change in
1219 register_edge_assert_for.
1220
e8930cc1
KT
12212008-04-02 Kai Tietz <kai.tietz@onevision.com>
1222
1223 * config.gcc: Add for x86_64-*-mingw* the t-crtfm to tbuild.
b97d8153 1224 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add 8 byte
893125e0 1225 offsets for 64-bit mingw.
b97d8153 1226 * config/i386/i386.c (ix86_pass_by_reference): Correct calling
893125e0 1227 abi for x86_64-pc-mingw.
e8930cc1 1228
70b7b037
RG
12292008-04-02 Richard Guenther <rguenther@suse.de>
1230
1231 * tree-vrp.c (extract_range_from_assert): Make sure to not
1232 produce range min/max with TREE_OVERFOW set.
1233 If merging a anti-range and a range keep the anti-range if
1234 the range covers all values of the type.
1235 (register_edge_assert_for_2): Only allow sign-changing
1236 conversions in detecting canonical range checks. Also
1237 register an assert for the unsigned name if useful.
1238
1239 PR tree-optimization/35787
1240 * tree-vrp.c (vrp_val_max): New function.
1241 (vrp_val_min): Likewise.
1242 (vrp_val_is_max): Move earlier, use vrp_val_{min,max}.
1243 (vrp_val_is_min): Likewise.
1244 (supports_overflow_infinity): Use vrp_val_{min,max}.
1245 (negative_overflow_infinity): Likewise.
1246 (positive_overflow_infinity): Likewise.
1247 (is_negative_overflow_infinity): Use vrp_val_is_{min,max}.
1248 (is_positive_overflow_infinity): Likewise.
1249 (is_overflow_infinity): Likewise.
1250 (avoid_overflow_infinity): Use vrp_val_{min,max} and
1251 vrp_val_is_{min,max}.
1252 (set_and_canonicalize_value_range): Canonicalize anti-ranges
1253 to ranges if possible. Avoid empty ranges.
1254
10743280
JDA
12552008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1256
1257 PR middle-end/35705
1258 * fold-const.c (get_pointer_modulus_and_residue): Return modulus 1 if
1259 the expression is a function address.
1260
7151ffbe
GH
12612008-04-01 George Helffrich <george@gcc.gnu.org>
1262
1263 PR fortran/PR35154, fortran/PR23057
1264 * fortran/trans-common.c (create_common): Add decl to function
1265 chain to preserve identifier scope in debug output.
1266
1267 * dbxout.c: Emit .stabs debug info for Fortran COMMON block
1268 variables as base symbol name + offset using N_BCOMM/N_ECOMM.
1269 (is_fortran, dbxout_common_name, dbxout_common_check): New functions.
1270 (dbxout_symbol_location): Transform N_LCSYM to N_GSYM for storage
1271 in common.
1272 (dbxout_syms): Check for COMMON-based symbol and wrap in
1273 N_BCOMM/N_ECOMM stab bracket, including as many symbols as possible
1274 in bracket for efficiency.
1275
1276 * dwarf2out.c: Emit DWARF debug info for Fortran COMMON block
1277 using DW_TAG_common_block + member offset.
1278 (add_pubname_string): New function.
1279 (dw_expand_expr): New function to find block name and offset for
1280 COMMON var.
1281 (common_check): New function to check whether symbol in Fortran COMMON.
1282 (gen_variable_die): If COMMON, use DW_TAG_common_block.
1283
1284 * testsuite/gcc.dg/debug/pr35154.c: New test to check that non-Fortran
1285 use of common is unchanged.
1286
1287 * testsuite/lib/gfortran-dg.exp: New harness to compile Fortran progs
1288 with all combinations of debug options available on target.
1289 * testsuite/gfortran.dg/debug/debug.exp: Ditto.
1290 * testsuite/gfortran.dg/debug/trivial.f: Ditto.
1291 * testsuite/gfortran.dg/debug/pr35154-stabs.f: New test case for
1292 .stabs functionality.
1293 * testsuite/gfortran.dg/debug/pr35154-dwarf2.f: New test case for
1294 DWARF functionality.
1295
dc197ab9
VR
12962008-04-01 Volker Reichelt <v.reichelt@netcologne.de>
1297
1298 PR c/35436
1299 * c-format.c (init_dynamic_gfc_info): Ignore invalid locus type.
1300
9e9b5341
BE
13012008-04-02 Ben Elliston <bje@au.ibm.com>
1302
1303 * config/v850/v850.md (casesi): Remove if (0) code.
1304 * config/i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
1305 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
1306
380edc9f
UB
13072008-04-01 Uros Bizjak <ubizjak@gmail.com>
1308
1309 * config/i386/i386.md (rex64suffix): New mode attribute.
1310 (floathi<mode>2): Disable expander for SSE math.
1311 (*floathi<mode>2_1): New insn insn_and_split pattern.
1312 (*floathi<mode>2_i387_with_temp): New macroized instruction pattern and
1313 corresponding post-reload splitters.
1314 (*floathi<mode>2_i387): New macroized insn pattern.
1315 (float<SSEMODEI24:mode><X87MODEF:mode>2): New macroized expander.
1316 (*float<SSEMODEI24:mode><X87MODEF:mode>2_1): New macroized
1317 insn_and_split pattern.
1318 (*floatsi<mode>2_vector_mixed_with_temp, *floatsi<mode>2_vector_mixed):
1319 New macroized instruction patterns and corresponding post-reload
1320 splitters.
1321 (*floatsi<mode>2_mixed_with_temp): New macroized instruction pattern
1322 and corresponding post-reload splitters.
1323 (*floatsi<mode>2_mixed_interunit, *floatsi<mode>2_mixed_nointerunit):
1324 New macroized instruction patterns.
1325 (*floatsi<mode>2_vector_sse_with_temp, *floatsi<mode>2_vector_sse): New
1326 macroized instruction patterns and corresponding post-reload splitters.
1327 (*floatsi<mode>2_sse_with_temp): New macroized instruction pattern and
1328 corresponding post-reload splitters.
1329 (*floatsi<mode>2_sse_interunit, *floatsi<mode>2_mixed_nointerunit):
1330 New macroized instruction patterns.
1331 (*floatsi<mode>2_i387_with_temp): New macroized instruction pattern and
1332 corresponding post-reload splitters.
1333 (*floatsi<mode>2_i387): New macroized instruction patterns.
1334
78e8956b
L
13352008-04-01 H.J. Lu <hongjiu.lu@intel.com>
1336
1337 * config/i386/i386.md (smaxmin): New.
1338 (umaxmin): Likewise.
1339 (maxminiprefix): Likewise.
1340 (maxminfprefix): Likewise.
1341 (<code><mode>3): Likewise.
1342 (smin<mode>3): Removed.
1343 (smax<mode>3): Likewise.
1344
1345 * config/i386/mmx.md (mmx_<code>v2sf3): New.
1346 (mmx_<code>v4hi3): Likewise.
1347 (mmx_<code>v8qi3): Likewise.
1348 (mmx_smaxv2sf3): Removed.
1349 (mmx_sminv2sf3): Likewise.
1350 (mmx_umaxv8qi3): Likewise.
1351 (mmx_smaxv4hi3): Likewise.
1352 (mmx_uminv8qi3): Likewise.
1353 (mmx_sminv4hi3): Likewise.
1354
1355 * config/i386/sse.md (<addsub><mode>3): New.
1356 (*<addsub><mode>3): Likewise.
1357 (<sse>_vm<addsub><mode>3): Likewise.
1358 (<maxmin><mode>3): Likewise.
1359 (*<maxmin><mode>3_finite): Likewise.
1360 (*<maxmin><mode>3): Likewise.
1361 (<sse>_vm<maxmin><mode>3): Likewise.
1362 (sse3_h<addsub>v4sf3): Likewise.
1363 (sse3_h<addsub>v2df3): Likewise.
1364 (<maxmin>v16qi3): Likewise.
1365 (*<maxmin>v16qi3): Likewise.
1366 (<maxmin>v8hi3): Likewise.
1367 (*<maxmin>v8hi3): Likewise.
1368 (*sse4_1_<maxmin><mode>3): Likewise.
1369 (*sse4_1_<maxmin><mode>3): Likewise.
1370 (add<mode>3): Removed.
1371 (*add<mode>3): Likewise.
1372 (<sse>_vmadd<mode>3): Likewise.
1373 (sub<mode>3): Likewise.
1374 (*sub<mode>3): Likewise.
1375 (<sse>_vmsub<mode>3): Likewise.
1376 (smin<mode>3): Likewise.
1377 (*smin<mode>3_finite): Likewise.
1378 (*smin<mode>3): Likewise.
1379 (<sse>_vmsmin<mode>3): Likewise.
1380 (smax<mode>3): Likewise.
1381 (*smax<mode>3_finite): Likewise.
1382 (*smax<mode>3): Likewise.
1383 (<sse>_vmsmax<mode>3): Likewise.
1384 (sse3_haddv4sf3): Likewise.
1385 (sse3_haddv2df3): Likewise.
1386 (sse3_hsubv4sf3): Likewise.
1387 (sse3_hsubv2df3): Likewise.
1388 (umaxv16qi3): Likewise.
1389 (*umaxv16qi3): Likewise.
1390 (smaxv8hi3): Likewise.
1391 (*smaxv8hi3): Likewise.
1392 (*sse4_1_smax<mode>3): Likewise.
1393 (*sse4_1_umax<mode>3): Likewise.
1394 (uminv16qi3): Likewise.
1395 (*uminv16qi3): Likewise.
1396 (sminv8hi3): Likewise.
1397 (*sminv8hi3): Likewise.
1398 (*sse4_1_smin<mode>3): Likewise.
1399 (*sse4_1_umin<mode>3): Likewise.
1400
220f1c29
RAE
14012008-04-01 Rafael Espindola <espindola@google.com>
1402
1403 * tree-cfg.c (verify_expr): remove in_phi.
78e8956b 1404 (verify_stmt): Don't call walk_tree with verify_expr. Use
220f1c29
RAE
1405 is_gimple_min_invariant instead of is_gimple_val.
1406
7f9766e4
JM
14072008-04-01 Joseph Myers <joseph@codesourcery.com>
1408
1409 * doc/include/gpl_v3.texi: Update for manpage generation.
1410 * doc/gcc.texi, doc/gccint.texi: Include gpl_v3.texi instead of
1411 gpl.texi.
1412 * doc/sourcebuild.texi: Document gpl_v3.texi as well as gpl.texi.
1413 * Makefile.in (TEXI_GCC_FILES, TEXI_GCCINT_FILES): Include
1414 gpl_v3.texi instead of gpl.texi.
1415 (gpl.pod): New.
1416
d4c32e1d
JJ
14172008-04-01 Jakub Jelinek <jakub@redhat.com>
1418
1419 PR pch/13675
1420 * c-pch.c (c_common_read_pch): On error close (fd) resp. fclose (f).
1421
764a79ed
RAE
14222008-04-01 Rafael Espindola <espindola@google.com>
1423
1424 * tree-vrp.c (extract_code_and_val_from_cond_with_ops): New.
1425 (extract_code_and_val_from_cond): Use
1426 extract_code_and_val_from_cond_with_ops.
1427
113c63b8
JH
14282008-04-01 Jan Hubicka <jh@suse.cz>
1429
1430 * function.c (free_after_compilation): Free epilogue_delay_list.
1431 (prepare_function_start): Assert that previous compilation was freed.
1432
ec24c3a3
JH
14332008-04-01 Jan Hubicka <jh@suse.cz>
1434 Jim Wilson <wilson@tuliptree.org>
1435 Andreas Tobler <andreast@gcc.gnu.org>
1436
1437 PR middle-end/35781
1438 * m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Use
1439 rtl.emit instead cfun->emit.
1440 * sparc/sparc.h (INIT_EXPANDERS): Likewise.
1441 * ia64/ia64.h (INIT_EXPANDERS): Likewise.
1442
1b82c3aa
BE
14432008-04-01 Ben Elliston <bje@au.ibm.com>
1444
1445 * doc/c-tree.texi (Function Basics): Fix grammatical error.
1446
2f908293
SP
14472008-03-31 Seongbae Park <seongbae.park@gmail.com>
1448
1449 * common.opt (fprofile-dir=, fprofile-use=, fprofile-generate=):
1450 New options
1451 (fprofile-use): Add var flag_profile_use
380edc9f
UB
1452 * coverage.c (coverage_begin_output): Do not open a gcno file for
1453 output only if -ftest-coverage is set.
2f908293 1454 Do not add getpwd() to gcda file path.
380edc9f 1455 (build_gcov_info): Check the new flag
2f908293
SP
1456 flag_profile_datafile_relative_path.
1457 (coverage_init): Use profile_data_prefix.
1458 Read profile counter only if flag_profile_use is set.
1459 * opts.c (common_handle_option): New option fprofile-use=,
1460 fprofile-dir=, fprofile-generate=.
1461 * toplev.c (profile_data_prefix): New variable definition.
1462 * toplev.h (profile_data_prefix): New declaration.
1463 * doc/invoke.tex (Option Summary, Optimization Options):
1464 Add new options.
1465
1def9c3f
JW
14662008-03-31 James E. Wilson <wilson@tuliptree.org>
1467
380edc9f
UB
1468 * varasm.c (output_constant_pool_1): In LABEL_REF check,
1469 use tmp consistently.
048ffb8f 1470
1def9c3f
JW
1471 PR target/35695
1472 * config/ia64/div.md (recip_approx_rf): Use UNSPEC not DIV.
1473 * config/ia64/ia64.c (rtx_needs_barrier): Handle
1474 UNSPEC_FR_RECIP_APPROX_RES.
1475 * config/ia64/ia64.md (UNSPEC_FR_RECIP_APPROX_RES): Define.
1476
bb686a19
VR
14772008-03-31 Volker Reichelt <v.reichelt@netcologne.de>
1478
1479 PR c/35750
1480 * c-decl.c (store_parm_decls_oldstyle): Skip invalid parameters.
1481
a12bdb97
AP
14822008-03-31 Andrew Pinski <andrew_pinski@playstation.sony.com>
1483
1484 PR middle-end/30186
1485 * fold-const.c (fold_indirect_ref_1): Support accessing non first
1486 element of the vector via a pointer.
1487
2d4bba80
ILT
14882008-03-31 Ian Lance Taylor <iant@google.com>
1489
380edc9f 1490 * tlink.c (scan_linker_output): Look for symbol name in single quotes.
2d4bba80 1491
bd60bab2
JH
14922008-03-31 Jan Hubicka <jh@suse.cz>
1493
1494 * builtins.c (expand_builtin_setjmp_receiver): Update call of
1495 get_arg_pointer_save_area.
1496 * expr.c (init_expr): Just clear out rtl.expr.
1497 * function.c (free_after_compilation): Clear out whole RTL structure.
1498 (get_func_frame_size): Merge into ...
1499 (get_frame_size): ... this one.
1500 (assign_stack_local_1): Merge into ...
1501 (assign_stack_local): ... this one.
1502 (expand_function_end): Update call of get_arg_pointer_save_area.
1503 (get_art_pointer_save_area): Remove cfun argument.
1504 * function.h (emit_status): regno_pointer_align does not need length
1505 attribute. Move x_regno_reg_rtx to ...
1506 (regno_reg_rtx): ... new global array.
1507 (reg_rtx_no, seq_stack, REGNO_POINTER_ALIGN): Update accestors.
1508 (pending_stack_adjust, inhibit_defer_pop, saveregs_value,
380edc9f
UB
1509 apply_args_value, forced_labels, stack_pointer_delta):
1510 Update accestors.
bd60bab2
JH
1511 (struct varasm_status): Move here from varasm.c
1512 (struct rtl_data): New. Move here some fields from struct function.
1513 (return_label, naked_return_label, stack_slot_list, parm_birth_insn,
1514 frame_offset, stack_check_probe_note, arg_pointer_save_area,
1515 used_temp_slots avail_temp_slots, temp_slot_level,
1516 nonlocal_goto_handler_labels): Update accesstors.
1517 (rtl): New global variable.
1518 (struct function): Move some fileds to rtl_data.
1519 (get_arg_pointer_save_area): Update prototype.
1520 * emit-rtl.c (rtl): Declare.
1521 (regno_reg_rtx): Declare.
380edc9f
UB
1522 (first_insn, last_insn, cur_insn_uid, last_location, first_label_num):
1523 Update.
bd60bab2
JH
1524 (gen_reg_rtx): Update.
1525 (init_virtual_regs): Do not tate emit_status argument.
1526 (init_emit): Do not allocate emit.
1527 * varasm.c (varasm_statuc): Move to function.h.
1528 (n_deferred_constatns): Update accestor.
1529 (init_varasm_status): Do not allocate varasm_status.
1530 (force_const_mem, get_pool_size, output_constant_pool): Update.
1531 * stmt.c (force_label_rtx): Do not use x_ prefixes.
1532 (expand_nl_goto_receiver): Update get_arg_pointer_save_area.
1533
66f91b93
ZD
15342008-03-31 Zdenek Dvorak <ook@ucw.cz>
1535
1536 PR rtl-optimization/35729
1537 * loop-invariant.c (check_maybe_invariant): Disallow volatile memory
1538 references.
1539
66e1ecfe
L
15402008-03-31 H.J. Lu <hongjiu.lu@intel.com>
1541
1542 PR target/32000
1543 * config/i386/i386.md (*movti_internal): Emit unaligned SSE
1544 load/store if memory is unaligned.
1545 (*movti_rex64): Likewise.
1546
1547 * config/i386/predicates.md (misaligned_operand): New.
1548
550386ad
AP
15492008-03-31 Andrew Pinski <pinskia@gmail.com>
1550
1551 PR tree-opt/35431
1552 * tree-ssa-phiopt.c (conditional_replacement): Return early for
1553 complex types.
1554
4e483a22
JB
15552008-03-31 Jan Beulich <jbeulich@novell.com>
1556
1557 * config/ia64/constraints.md: Add 'j' constraint.
1558 * config/ia64/ia64.md (movsi_internal): Add addp4 case.
1559 (movdi_internal): Likewise.
1560
39ffbac9
VR
15612008-03-30 Volker Reichelt <v.reichelt@netcologne.de>
1562
1563 PR c/35748
1564 * c-typeck.c (build_c_cast): Skip invalid fields in unions.
1565
23594c97
L
15662008-03-30 H.J. Lu <hongjiu.lu@intel.com>
1567
1568 PR target/35757
1569 * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Issue
1570 proper error message for the third argument on blendpd and
1571 blendps.
1572
1573 * config/i386/sse.md (blendbits): New.
1574 (sse4_1_blendp<ssemodesuffixf2c>): Use it.
1575
8f0e2671
EB
15762008-03-30 Eric Botcazou <ebotcazou@adacore.com>
1577
1578 * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Add missing conversions.
1579
96648603
RG
15802008-03-30 Richard Guenther <rguenther@suse.de>
1581
1582 PR middle-end/31023
1583 * fold-const.c (fold_sign_changed_comparison): Do leave
1584 conversions to base-types alone.
1585
3ac0963a
AP
15862008-03-29 Andrew Pinski <andrew_pinski@playstation.sony.com>
1587
1588 * config/rs6000/rs6000.c (rs6000_stack_info): Don't force saving of
1589 the link register if one altivec register is be saved.
1590
744c6d6e
BE
15912008-03-30 Ben Elliston <bje@au.ibm.com>
1592
1593 * final.c (final_scan_insn): Remove if (0) code.
1594
dbc518f0
VR
15952008-03-28 Volker Reichelt <v.reichelt@netcologne.de>
1596
1597 * c-parser.c (c_parser_next_token_is_keyword): Simplify.
1598
ad387dad
L
15992008-03-28 H.J. Lu <hongjiu.lu@intel.com>
1600
1601 * config/i386/sse.md (*and<mode>3): Pass <MODE>mode instead
1602 of V4SFmode to ix86_binary_operator_ok.
1603
9aba5d22
UB
16042008-03-28 Uros Bizjak <ubizjak@gmail.com>
1605
1606 * config/i386/i386.c (override_options): Initialize
1607 ix86_veclib_handler to ix86_veclibabi_svml when
1608 -mveclibabi=svml is used.
1609 (ix86_veclibabi_svml): New function for SVML ABI style
1610 vectorization support.
1611 * doc/invoke.texi (-mveclibabi) [svml]: Document new target option.
1612
2d3cd5d5
RAE
16132008-03-28 Rafael Espindola <espindola@google.com>
1614
1615 * fold-const.c (tree_unary_nonnegative_warnv_p): Make it public.
1616 (tree_binary_nonnegative_warnv_p): Make it public.
1617 (tree_single_nonnegative_warnv_p): Make it public.
1618 (tree_invalid_nonnegative_warnv_p): Make it public.
1619 (tree_unary_nonzero_warnv_p): Make it public.
1620 (tree_binary_nonzero_warnv_p): Make it public
1621 (tree_single_nonzero_warnv_p): Make it public.
1622 * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops): New function.
1623 (extract_range_from_binary_expr): Split the expr argument.
1624 (extract_range_from_unary_expr): Split the expr argument.
1625 (extract_range_from_comparison): Split the expr argument.
1626 (extract_range_from_expr): Use the new aux functions.
1627 (vrp_evaluate_conditional_warnv): Use
1628 vrp_evaluate_conditional_warnv_with_ops.
1629 * tree.h (tree_unary_nonzero_warnv_p): Declare.
1630 (tree_binary_nonzero_warnv_p): Declare.
1631 (tree_single_nonzero_warnv_p): Declare.
1632 (tree_expr_nonzero_warnv_p): Declare.
1633 (tree_unary_nonnegative_warnv_p): Declare.
1634 (tree_binary_nonnegative_warnv_p): Declare.
1635 (tree_single_nonnegative_warnv_p): Declare.
1636 (tree_invalid_nonnegative_warnv_p): Declare.
1637
2ab8dbf4
RG
16382008-03-28 Richard Guenther <rguenther@suse.de>
1639
1640 PR tree-optimization/30317
1641 PR tree-optimization/30911
1642 PR tree-optimization/34793
1643 * tree-vrp.c (set_and_canonicalize_value_range): New function.
1644 (struct assert_locus_d): New member EXPR.
1645 (register_new_assert_for): Add EXPR parameter to support
1646 ASSERT_EXPR <name, expr OP limit>.
1647 (register_edge_assert_for_1): Adjust callers.
1648 (find_assert_locations): Likewise.
9aba5d22 1649 (process_assert_insertions_for): Build condition from expression.
2ab8dbf4
RG
1650 (extract_range_from_assert): Handle ASSERT_EXPRs
1651 of the form ASSERT_EXPR <name, expr OP limit>.
1652 (register_edge_assert_for_2): New helper registering
1653 asserts for comparisons. Recognize range tests of the form
1654 (unsigned)i - CST1 OP CST2.
1655 (register_edge_assert_for_1): Use it.
1656 (register_edge_assert_for): Likewise.
1657 (needs_overflow_infinity): Integer sub-types
1658 do not need overflow infinities.
1659 (vrp_val_is_max): The extreme values of integer sub-types
1660 are those of the base type.
1661 (vrp_val_is_min): Likewise.
1662 * tree.def (ASSERT_EXPR): Document extra allowed conditional
1663 expressions.
1664
fc4f3261
NC
16652008-03-28 Nick Clifton <nickc@redhat.com>
1666
1667 * config/mn10300/mn10300.c (mn10300_secondary_reload_class):
9aba5d22 1668 Return GENERAL_REGS for stack adjustment reloads.
fc4f3261 1669
501fb355
AP
16702008-03-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
1671
1672 PR target/31334
1673 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Create a
1674 const_vector when all the vectors are constant.
1675
ff779f98
BW
16762008-03-27 Bob Wilson <bob.wilson@acm.org>
1677
1678 * config/xtensa/xtensa.c (gen_float_relational): Handle unordered
1679 comparisons.
1680 * config/xtensa/xtensa.md (any_cond): Add unordered comparisons.
1681 (any_scc_sf): Add uneq, unlt, unle and unordered operators.
1682 (scc_sf): New.
1683 (s<code>_sf): Use new scc_sf attribute for opcode names.
1684
e980df8e
TT
16852008-03-27 Tom Tromey <tromey@redhat.com>
1686
1687 * doc/sourcebuild.texi, doc/install.texi, configure, aclocal.m4,
1688 configure.ac, Makefile.in, config/t-darwin, config/m32c/t-m32c,
1689 config/spu/t-spu-elf, config/i386/t-interix,
1690 config/i386/t-cygming, config/i386/x-i386, config/i386/t-cygwin,
1691 config/i386/x-darwin, config/i386/x-mingw32,
1692 config/i386/t-netware, config/i386/x-cygwin, config/i386/t-nwld,
1693 config/sh/t-sh, config/sh/t-symbian, config/x-linux,
1694 config/t-sol2, config/x-hpux, config/x-darwin, config/ia64/t-ia64,
1695 config/x-solaris, config/t-vxworks, config/m68k/t-uclinux,
1696 config/rs6000/x-rs6000, config/rs6000/x-darwin64,
1697 config/rs6000/x-darwin, config/rs6000/t-rs6000,
1698 config/score/t-score-elf, config/arm/t-strongarm-pe,
1699 config/arm/t-pe, config/arm/t-arm, config/arm/t-wince-pe,
1700 config/v850/t-v850, config/v850/t-v850e, config/bfin/t-bfin-linux:
1701 Revert automatic dependency patch.
1702
c84555eb
L
17032008-03-27 H.J. Lu <hongjiu.lu@intel.com>
1704
1705 PR target/35657
1706 * config/i386/i386.c (ix86_function_arg_boundary): Align
1707 decimal floating point to its natural boundary.
1708
ffd837fe
RG
17092008-03-27 Richard Guenther <rguenther@suse.de>
1710
1711 PR middle-end/35716
1712 * fold-const.c (fold_comparison): Restrict distinct decl
1713 comparison folding to VAR_DECLs and PARM_DECLs. Do not
1714 solely rely on operand_equal_p.
1715
6b4e94bc
RG
17162008-03-27 Richard Guenther <rguenther@suse.de>
1717
1718 PR c/32511
1719 * c-common.c (handle_weak_attribute): Reject combination of
1720 weak and inline.
1721
62bc00e2
RG
17222008-03-27 Richard Guenther <rguenther@suse.de>
1723
1724 PR tree-optimization/32810
1725 * tree-ssa-ccp.c (get_symbol_constant_value): Strip useless
1726 conversions from DECL_INITIAL.
1727 (fold_const_aggregate_ref): Likewise from constructor elements.
1728
72425608
ZD
17292008-03-27 Zdenek Dvorak <ook@ucw.cz>
1730
1731 * tree-affine.h (aff_combination_expand): Declare.
1732 (get_inner_reference_aff): Likewise.
1733 * tree-affine.c (aff_combination_expand): Split out from
1734 tree_to_aff_combination_expand.
1735 (get_inner_reference_aff): New function.
1736 * tree-parloops.c (loop_parallel_p): Free vectorizer info.
9aba5d22
UB
1737 * tree-ssa-loop-im.c: Include tree-affine.h and pointer-set.h.
1738 (struct lim_aux_data): sm_done field removed.
1739 (mem_ref_loc_p, mem_ref_locs_p): New types.
1740 (struct mem_ref): Added id, stored, accesses_in_loop,
1741 indep_loop, dep_loop, indep_ref, dep_ref fields.
1742 Removed is_stored, locs and next fields.
1743 (memory_accesses): New variable.
1744 (movement_possibility): Do not allow moving statements
1745 that store to memory.
1746 (outermost_indep_loop, simple_mem_ref_in_stmt, mem_ref_in_stmt):
1747 New functions.
1748 (determine_max_movement): For statements with memory references,
1749 find the outermost loop in that the reference is independent.
1750 (move_computations_stmt): Mark the virtual operands for renaming.
1751 (memref_free, mem_ref_alloc, mem_ref_locs_alloc, mark_ref_stored,
1752 gather_mem_refs_stmt, gather_mem_refs_in_loops, vtoe_hash, vtoe_eq,
1753 vtoe_free, record_vop_access, get_vop_accesses, get_vop_stores,
1754 add_vop_ref_mapping, create_vop_ref_mapping_loop,
1755 create_vop_ref_mapping, analyze_memory_references,
1756 cannot_overlap_p, mem_refs_may_alias_p, rewrite_mem_ref_loc,
1757 get_all_locs_in_loop, ref_always_accessed_p,
1758 refs_independent_p, record_indep_loop, ref_indep_loop_p_1,
1759 ref_indep_loop_p, can_sm_ref_p, find_refs_for_sm,
1760 store_motion_loop, store_motion): New functions.
1761 (struct vop_to_refs_elt): New type.
1762 (record_mem_ref_loc, free_mem_ref_locs, rewrite_mem_refs,
1763 memref_hash, memref_eq, hoist_memory_references): Rewritten.
1764 (schedule_sm): Replaced by...
1765 (execute_sm): ... this.
1766 (determine_lsm_ref, hoist_memory_references,
1767 loop_suitable_for_sm, gather_mem_refs_stmt, gather_mem_refs,
1768 find_more_ref_vops, free_mem_ref, free_mem_refs,
1769 determine_lsm_loop, determine_lsm): Removed.
1770 (tree_ssa_lim_finalize): Free data structures used by store motion.
1771 (tree_ssa_lim): Call analyze_memory_references. Use
1772 store_motion instead of determine_lsm.
72425608 1773
a929bc28
PB
17742008-03-27 Paolo Bonzini <bonzini@gnu.org>
1775
1776 * config.cc (m68hc11, m6811, m68hc12, m6812): Add usegas.h,
1777 rename tmake_file to m68hc11/t-m68hc11.
1778 (mcore): Set inhibit_libc to true.
1779 * config.host (alpha*-dec-*vms*): Set extra_programs.
1780 (interix3*): Don't use host_xmake_file.
1781 * configure.ac: Let config.gcc override inhibit_libc.
1782 * configure: Regenerate.
1783
1784 * config/alpha/x-vms (EXTRA_PROGRAMS): Remove.
1785 * config/t-openbsd-thread: Remove commented out lines.
1786
1787 * config/x-interix: Remove.
1788
1789 * config/m68hc11/t-m68hc11-gas: Rename to...
1790 * config/m68hc11/t-m68hc11: ... this. Remove T_CPPFLAGS.
1791
1792 * config/mcore/t-mcore: Remove T_CFLAGS.
1793 * config/mcore/t-mcore-pe: Likewise.
1794
60d26958
PB
17952008-03-27 Paolo Bonzini <bonzini@gnu.org>
1796
1797 * configure.ac: Replace custom __GNU_SOURCE test with
1798 AC_USE_SYSTEM_EXTENSIONS. Move it earlier.
1799 * aclocal.m4: Regenerate.
1800 * configure: Regenerate.
1801 * config.in: Regenerate.
1802
bd03c084
RG
18032008-03-27 Richard Guenther <rguenther@suse.de>
1804
1805 * fold-const.c (target.h): Include.
1806 (fold_comparison): Fold comparison of addresses of decls
1807 that bind locally or of constants. Consolidate address folding code.
1808 * tree-vrp.c (operand_less_p): Deal with non-INTEGER_CST
1809 results from fold_binary_to_constant.
1810 (compare_values_warnv): Likewise.
1811
87a72aa8
AP
18122008-03-27 Andrew Pinski <pinskia@gmail.com>
1813
1814 PR middle-end/35429
1815 * fold-const.c (fold_truthop): Check for integeral types when folding
1816 a == 0 && b == 0 and a != 0 || b != 0 .
1817
6e1b3420
EB
18182008-03-26 Eric Botcazou <ebotcazou@adacore.com>
1819
1820 * tree.c (get_unwidened): Remove code fiddling with COMPONENT_REF.
1821
33558d94
AS
18222008-03-26 Andreas Schwab <schwab@suse.de>
1823
1824 * doc/invoke.texi: Fix use of @item vs. @itemx.
1825
f6a9a9af
TT
18262008-03-26 Tom Tromey <tromey@redhat.com>
1827
1828 * Makefile.in (build/gensupport.o, build/print-rtl.o,
1829 build/read-rtl.o, build/rtl.o, build/gencondmd.o, build/genattr.o,
1830 build/genattrtab.o, build/genautomata.o, build/gencheck.o,
1831 build/gencodes.o, build/genconditions.o, build/genconfig.o,
1832 build/genconstants.o, build/genemit.o, build/genextract.o,
1833 build/genflags.o, build/genmddeps.o, build/genopinit.o,
1834 build/genoutput.o, build/genpeep.o, build/genrecog.o): Depend on
1835 options.h.
1836
2041e75c
RG
18372008-03-26 Richard Guenther <rguenther@suse.de>
1838
1839 Revert
1840 2008-03-26 Richard Guenther <rguenther@suse.de>
1841
1842 * fold-const.c (target.h): Include.
1843 (fold_comparison): Fold comparison of addresses of two decls
1844 that bind locally. Consolidate address folding code.
1845
aefa9d43
KG
18462008-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1847
1848 * builtins.c (expand_builtin_pow, fold_builtin_cabs,
1849 fold_builtin_sqrt, fold_builtin_cbrt, fold_builtin_logarithm,
1850 fold_builtin_hypot, fold_builtin_pow): Remove uses of dconst3,
1851 dconstsqrt2, dconstthird, dconste and/or dconst10.
1852 * config/i386/i386.c (ix86_emit_swsqrtsf): Likewise.
1853 * emit-rtl.c (dconst3, dconst10, dconstm2, dconstthird,
1854 dconstsqrt2, dconste): Delete.
1855 (init_emit_once): Likewise. Simplify initializing dconstm1.
1856 Constify variable.
1857 * real.c (get_real_const): New.
1858 * real.h (dconst3, dconst10, dconstm2, dconstthird,
1859 dconstsqrt2, dconste): Delete.
1860 (real_value_const, get_real_const): New.
1861
35dd7cc3
L
18622008-03-26 H.J. Lu <hongjiu.lu@intel.com>
1863
1864 * config/i386/cygming.h (BIGGEST_ALIGNMENT): Removed.
1865
1866 * config/i386/i386.c (ix86_function_arg_boundary): Check
1867 BIGGEST_ALIGNMENT instead of 128.
1868 (setup_incoming_varargs_64): Likewise.
1869
f91ed78d
TT
18702008-03-26 Tom Tromey <tromey@redhat.com>
1871
1872 * Makefile.in (DEPFILES): Add missing '/'.
1873
4990038d
RG
18742008-03-26 Richard Guenther <rguenther@suse.de>
1875
1876 * fold-const.c (target.h): Include.
1877 (fold_comparison): Fold comparison of addresses of two decls
1878 that bind locally. Consolidate address folding code.
1879
813ab1d7
NC
18802008-03-26 Nick Clifton <nickc@redhat.com>
1881
1882 PR target/31232
1883 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do
1884 not allow INT+INT as a legitimate addressing mode.
1885
cf3135aa
RG
18862008-03-26 Richard Guenther <rguenther@suse.de>
1887
1888 * tree-flow.h (widen_bitfield): Remove declaration.
1889 * tree-ssa-ccp.c (visit_assignment): Remove unneeded code.
1890 (widen_bitfield): Remove function.
1891 * tree-ssa-dom.c (record_equivalences_from_stmt): Remove unneeded
1892 code.
1893
fd88fd09
AP
18942008-03-25 Andrew Pinski <andrew_pinski@playstation.sony.com>
1895
22ec849c 1896 PR target/31558
fd88fd09
AP
1897 * config/rs6000/rs6000-c.c (rs6000_builtin_type_compatible): Handle
1898 error_mark_node's.
1899
fb959f72
RS
19002008-03-25 Richard Sandiford <rsandifo@nildram.co.uk>
1901
1902 PR rtl-optimization/35232
1903 * reload1.c (reg_reloaded_call_part_clobbered): Clarify comment.
1904 (forget_old_reloads_1, forget_marked_reloads): Don't clear
1905 reg_reloaded_call_part_clobbered here.
1906 (reload_regs_reach_end_p): New function.
1907 (reload_reg_rtx_for_input): New variable.
1908 (reload_reg_rtx_for_output): Likewise.
1909 (emit_input_reload_insns): Use reloadreg rather than rl->reg_rtx
1910 when reassigning a pseudo register. Load reloadreg from
1911 reload_reg_rtx_for_input, moving the mode and register
1912 calculation to...
1913 (do_input_reload): ...here. Use the mode-adjusted reg_rtx
1914 instead of the original when deciding whether an input reload
1915 would be a no-op or whether an output reload can be deleted.
1916 (emit_output_reload_insns): Use the mode-adjusted reg_rtx
1917 when setting up new_spill_reg_store. Load it from
1918 reload_reg_rtx_for_output, moving the mode and register
1919 calculation to...
1920 (do_output_reload): ...here. Use the mode-adjusted reg_rtx
1921 instead of the original when deciding whether an output reload
1922 would be a no-op. Do the same when modifying insn notes.
1923 Use rtx_equal_p instead of == to compare the registers.
1924 (inherit_piecemeal_p): Take a mode and two register numbers
1925 as argument.
1926 (emit_reload_insns): Clear new_spill_reg_store for every hard
1927 register in the reload register. Remove spill registers
1928 from reg_reloaded_valid before considering whether to record
1929 inheritance information for them. Use reload_reg_rtx_for_output
1930 instead of reg_rtx when recording output reloads. Use
1931 reload_reg_rtx_for_input instead of reg_rtx when recording
1932 input reloads. Set or clear reg_reloaded_call_part_clobbered
1933 at the same time as setting reg_reloaded_valid.
1934 (delete_output_reload): Add a new_reload_reg parameter and use it
1935 instead of rld[j].reg_rtx.
1936 (emit_input_reload_insns, do_input_reload, do_output_reload): Adjust
1937 calls accordingly.
1938
a8c86f3f
TT
19392008-03-25 Tom Tromey <tromey@redhat.com>
1940
1941 * Makefile.in (build/gensupport.o): Depend on insn-modes.h.
1942 (build/genattr.o): Likewise.
1943 (build/genattrtab.o): Likewise.
1944 (build/gencodes.o): Likewise.
1945 (build/genconfig.o): Likewise.
1946 (build/genconstants.o): Likewise.
1947 (build/genemit.o): Likewise.
1948 (build/genextract.o): Likewise.
1949 (build/genflags.o): Likewise.
1950
f4d3e7fd
BW
19512008-03-25 Bob Wilson <bob.wilson@acm.org>
1952
1953 * config/xtensa/xtensa.c (xtensa_va_start): Use build_int_cst
1954 instead of size_int for integer types.
1955 (xtensa_gimplify_va_arg_expr): Likewise. Convert index to sizetype
1956 to match type of MINUS_EXPR.
1957
55d059d3
TT
19582008-03-25 Tom Tromey <tromey@redhat.com>
1959
1960 * configure: Rebuilt.
1961 * configure.ac (BUILD_DEPMODE): Extract CCDEPMODE from temporary
1962 Makefile.
1963
2fe3178b
TT
19642008-03-25 Tom Tromey <tromey@redhat.com>
1965
1966 * config/x-solaris (host-solaris.o): Update.
1967 * config/x-linux (host-linux.o): Update.
1968 * config/x-hpux (host-hpux.o): Update.
1969 * config/x-darwin (host-darwin.o): Update.
1970 * config/v850/t-v850e (v850-c.o): Update.
1971 * config/v850/t-v850 (v850-c.o): Update.
1972 * config/t-vxworks (vxworks.o): Update.
1973 * config/t-sol2 (sol2-c.o, sol2.o): Update.
4acc3f42 1974 * config/t-darwin (darwin.o, darwin-c.o, darwin-driver.o): Update.
2fe3178b
TT
1975 * config/spu/t-spu-elf (spu-c.o): Update.
1976 (spu.o): Remove.
1977 * config/sh/t-symbian (sh-c.o): Update.
1978 (symbian.o): Update.
1979 * config/sh/t-sh (sh-c.o): Update.
1980 * config/score/t-score-elf (score7.o, score3.o): Update.
1981 * config/rs6000/x-rs6000 (driver-rs6000.o): Update.
1982 * config/rs6000/x-darwin64 (host-ppc64-darwin.o): Update.
1983 * config/rs6000/x-darwin (host-ppc-darwin.o): Update.
1984 * config/rs6000/t-rs6000 (rs6000-c.o): Update.
1985 (rs6000.o): Remove.
1986 * config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h.
1987 * config/m32c/t-m32c (m32c-pragma.o): Update.
1988 * config/ia64/t-ia64 (ia64-c.o): Update.
1989 * config/i386/x-mingw32 (host-mingw32.o): Update.
1990 * config/i386/x-i386 (driver-i386.o): Update.
1991 * config/i386/x-darwin (host-i386-darwin.o): Update.
1992 * config/i386/x-cygwin (host-cygwin.o): Update.
1993 * config/i386/t-nwld (nwld.o): Update.
1994 * config/i386/t-netware (netware.o): Update.
1995 * config/i386/t-interix (winnt.o): Update.
1996 * config/i386/t-cygwin (cygwin1.o, cygwin2.o): Update.
1997 * config/i386/t-cygming (winnt.o, winnt-cxx.o, winnt-stubs.o,
1998 msformat-c.o): Update.
1999 * config/bfin/t-bfin-linux (generated_files): Add
2000 linux-sysroot-suffix.h.
2001 * config/arm/t-wince-pe (pe.o): Update.
2002 * config/arm/t-strongarm-pe (pe.o): Update.
2003 * config/arm/t-pe (pe.o): Update.
2004 * config/arm/t-arm (arm-c.o): Update.
2005 * doc/install.texi (Prerequisites): Require make 3.80.
2006 * Makefile.in: Remove .o targets.
2007 (CCDEPMODE, DEPDIR, depcomp, BUILD_DEPMODE): New variables.
2008 (OBSTACK_H, FIBHEAP_H, PARTITION_H, MD5_H, BCONFIG_H): Remove.
2009 (simple_generated_h, simple_generated_c): Move earlier.
2010 (generated_files): New variable.
2011 (TARGET_H, MACHMODE_H, HOOKS_H, HOSTHOOKS_DEF_H, LANGHOOKS_DEF_H,
2012 TARGET_DEF_H, RTL_BASE_H, RTL_H, PARAMS_H, BUILTINS_DEF, TREE_H,
2013 BASIC_BLOCK_H, GCOV_IO_H, COVERAGE_H, DEMANGLE_H, RECOG_H,
2014 ALIAS_H, EMIT_RTL_H, FLAGS_H, FUNCTION_H, EXPR_H, OPTABS_H,
2015 REGS_H, RA_H, RESOURCE_H, SCHED_INT_H, INTEGRATE_H, CFGLAYOUT_H,
2016 CFGLOOP_H, IPA_UTILS_H, IPA_REFERENCE_H, IPA_TYPE_ESCAPE_H,
2017 CGRAPH_H, DF_H, RESOURCE_H, DDG_H, GCC_H, GGC_H, TIMEVAR_H,
2018 INSN_ATTR_H, C_COMMON_H, C_PRAGMA_H, C_TREE_H, SYSTEM_H,
2019 PREDICT_H, DECNUM_H, MKDEPS_H, SYMTAB_H, TREE_DUMP_H,
2020 TREE_GIMPLE_H, TREE_FLOW_H, TREE_SSA_LIVE_H, PRETTY_PRINT_H,
2021 DIAGNOSTIC_H, C_PRETTY_PRINT_H, SCEV_H, LAMBDA_H, TREE_DATA_REF_H,
2022 VARRAY_H, TREE_INLINE_H, REAL_H, DBGCNT_H, EBIMAP_H): Remove.
2023 (.c.o): Remove.
2024 (COMPILE.base, COMPILE): New variables.
2025 (%.o): New pattern rule.
2026 (ALL_HOST_OBJS): New variable.
2027 (xgcc$(exeext), cpp$(exeext)): Remove extra version.o.
2028 (dummy-checksum.o, cc1-checksum.o): Remove.
2029 (DRIVER_SHLIB): New variable.
2030 (DRIVER_DEFINES): Use it.
2031 (gencondmd.c): Move out of build/.
2032 (s-conditions): Update.
2033 (BUILDCOMPILE.base, BUILDCOMPILE): New variables.
2034 (ALL_BUILD_OBJS): Likewise.
2035 (build/%.o): Use BUILDCOMPILE.
2036 (build/ggc-none.o, build/ggc-none.o, build/min-insn-modes.o,
2037 build/print-rtl.o, build/read-rtl.o, build/rtl.o, build/vec.o,
2038 build/gencondmd.o, build/genattrtab.o, build/genautomata.o,
2039 build/gencheck.o, build/gencodes.o, build/genconditions.o,
2040 build/genconfig.o, build/genconstants.o, build/genemit.o,
2041 build/genextract.o, build/genflags.o, build/genmddeps.o,
2042 build/genopinit.o, build/genoutput.o, build/genpeep.o,
2043 build/genpreds.o, build/genrecog.o, build/gcov-iov.o,
2044 build/gen-protos.o, build/scan.o, build/fix-header.o,
2045 build/scan-decls.o): Simplify.
2046 (collect2.o, c-opts.o, gcc.o, gccspec.o, gcc-options.o,
2047 cppdefault.o, protoize.o, unprotoize.o, intl.o, version.o,
2048 prefix.o, toplev.o): Reduce to variable setting.
4acc3f42 2049 (libbackend.o): Use COMPILE. Remove most dependencies. Move later.
2fe3178b 2050 ($(out_object_file), gcc-options.o): New targets.
4acc3f42 2051 ($(ALL_HOST_OBJS)): New target. Include dependency files.
2fe3178b 2052 * configure: Rebuilt.
4acc3f42
UB
2053 * configure.ac: Call ZW_CREATE_DEPDIR, ZW_PROG_COMPILER_DEPENDENCIES.
2054 * doc/sourcebuild.texi (Front End Directory): Document new variable.
2fe3178b 2055
5ade1ed2
DG
20562008-03-25 Douglas Gregor <doug.gregor@gmail.com>
2057
4acc3f42
UB
2058 * c-common.c (c_sizeof_or_alignof_type): If we're not allowed to
2059 complain when we hit an error, return ERROR_MARK_NODE.
5ade1ed2 2060
de6adfa2
N
20612008-03-25 Naveen.H.S <naveen.hs@kpitcummins.com>
2062
2063 * config/sh/constraints.md (Pso, Psz): New constraints.
2064 * config/sh/sh.c (print_operand): Add %V and %W operand codes.
2065 * config/sh/sh.md (*andsi3_bclr, *iorsi3_bset): New insns.
2066
f326a6cb
N
20672008-03-25 Naveen.H.S <naveen.hs@kpitcummins.com>
2068
4acc3f42 2069 * config/sh/sh.c (sh_expand_t_scc): Emit movrt for SH2A if possible.
f326a6cb
N
2070 * config/sh/sh.md (xorsi3_movrt, movrt): New insns.
2071
b4b0018b
N
20722008-03-25 Naveen.H.S <naveen.hs@kpitcummins.com>
2073
2074 * config/sh/sh.md (prefetch): Add condition for SH2A target.
2075 (prefetch_sh2a): New.
2076
e990551a
JS
20772008-03-25 Jayant Sonar <Jayant.sonar@kpitcummins.com>
2078 Naveen.H.S <naveen.hs@kpitcummins.com>
2079
2080 * config/sh/constraints.md (I28): New constraint.
2081 * config/sh/sh.c (broken_move): Add support for movi20s.
4acc3f42 2082 * config/sh/sh.md (movsi_ie): Add the alternative for movi20s.
e990551a 2083
561642fa
AP
20842008-03-25 Anil Paranjape <anil.paranjape@kpitcummins.com>
2085 Jayant Sonar <Jayant.sonar@kpitcummins.com>
2086 Naveen.H.S <naveen.hs@kpitcummins.com>
2087
2088 * config/sh/sh.c (SH_ATTRIBUTES): Define.
2089 (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define.
2090 (print_operand): Handle resbank in %@ operand code.
2091 (sh_encode_section_info): New.
2092 (push_regs): Add conditions for resbank.
2093 (sh_expand_epilogue): Likewise.
2094 (sh_insert_attributes): Likewise.
2095 (sh_attribute_table): Likewise.
2096 (sh_handle_resbank_handler_attribute): New.
2097 (sh2a_handle_function_vector_handler_attribute): New.
2098 (sh2a_is_function_vector_call): New.
2099 (sh2a_get_function_vector_number): New.
2100 (sh2a_function_vector_p): New.
2101 (sh_cfun_resbank_handler_p): New.
2102 * config/sh/sh.md (calli): Emit jsr/n if possible.
2103 (calli_tbr_rel): New.
2104 (calli_pcrel): Emit jsr/n if possible.
2105 (return_i): Emit rts/n if possible.
2106 (call_valuei_tbr_rel): New.
2107 (call_valuei_pcrel): Add condition for SH2A target.
2108 (call_value): Likewise.
2109 * config/sh/sh-protos.h (sh_cfun_resbank_handler_p): Declare.
2110 (sh2a_get_function_vector_number): Likewise.
2111 (sh2a_is_function_vector_call): Likewise.
2112 * doc/extend.texi: Document TBR relative addressing of SH2A.
2113 (resbank): Add description for SH2A.
2114
1b24a790
RG
21152008-03-24 Richard Guenther <rguenther@suse.de>
2116
2117 PR c/22371
2118 * gimplify.c (gimplify_modify_expr): For frontend type-correct
2119 pointer assignments change conversions according to middle-end rules.
2120 (gimplify_modify_expr_rhs): Deal with NULL TARGET_EXPR_INITIAL.
2121 * configure.ac: Include type checking in yes.
2122 * configure: Regenerate.
2123
52249a2e
MLI
21242008-03-24 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2125
2126 * diagnostic.c (diagnostic_count_diagnostic): Delete.
2127 (diagnostic_report_diagnostic): Update. Handle ICEs here.
2128
37ca4602
NS
21292008-03-24 Nathan Sidwell <nathan@codesourcery.com>
2130
2131 * gthr-vxworks.h (UNUSED): Define.
2132
2ff8644d
L
21332008-03-23 H.J. Lu <hongjiu.lu@intel.com>
2134
9aba5d22 2135 * config/i386/i386.h (STATIC_CHAIN_REGNUM): Use R10_REG and CX_REG.
2ff8644d 2136
1c42f5c6
ZM
21372008-03-23 Zuxy Meng <zuxy.meng@gmail.com>
2138
2139 * doc/extend.texi (Function Attributes): Add missing comma in the
2140 example of the "alloc_size" attribute.
2141
808e68bb
UB
21422008-03-23 Uros Bizjak <ubizjak@gmail.com>
2143
2144 Revert:
2145 2008-03-05 H.J. Lu <hongjiu.lu@intel.com>
2146
2147 * config/i386/i386-modes.def: Use 4 byte alignment on DI for
2148 32bit host.
2149
2150 2008-03-19 Uros Bizjak <ubizjak@gmail.com>
2151
2152 PR target/35496
2153 * stor-layout.c (update_alignment_for_field): Set minimum alignment
2154 of the underlying type of a MS bitfield layout to the natural
2155 alignment of the type.
2156
2157 2008-03-22 Uros Bizjak <ubizjak@gmail.com>
2158
2159 * config/i386/i386.c (assign_386_stack_local): Align DImode slots
2160 to their natural alignment to avoid store forwarding stalls.
2161
1b738915
RG
21622008-03-22 Richard Guenther <rguenther@suse.de>
2163
2164 * tree-cfg.c (verify_expr): Recurse again for invariant addresses.
2165 For PHI nodes verify the address is invariant.
2166 * tree-ssa-ccp.c (ccp_decl_initial_min_invariant): Remove.
2167 (get_symbol_constant_value): Use is_gimple_min_invariant.
2168 (maybe_fold_stmt_indirect): Likewise.
2169
18b526e8
RS
21702008-03-22 Richard Sandiford <rsandifo@nildram.co.uk>
2171
2172 PR rtl-optimization/33927
2173 * Makefile.in (dse.o): Depend on $(TM_P_H).
2174 * expr.h (extract_low_bits): Declare.
2175 * expmed.c (extract_low_bits): New function.
2176 * rtlhooks.c (gen_lowpart_general): Generalize SUBREG handling.
2177 * dse.c: Include tm_p.h.
2178 (find_shift_sequence): Remove the read_reg argument and return the
2179 read value. Emit the instructions instead of returning them.
2180 Iterate on new_mode rather than calculating it each time.
2181 Check MODES_TIEABLE_P. Use simplify_gen_subreg to convert the
2182 source to NEW_MODE and extract_low_bits to convert the shifted
2183 value to READ_MODE.
2184 (replace_read): Allow the load and store to have different mode
2185 classes. Use extract_low_bits when SHIFT == 0. Create the shift
2186 or extraction instructions before trying the replacement. Update
2187 dump-file code accordingly, avoiding use of REGNO (store_info->rhs).
2188
48e55066
UB
21892008-03-22 Uros Bizjak <ubizjak@gmail.com>
2190
2191 * config/i386/i386.c (assign_386_stack_local): Align DImode slots
2192 to their natural alignment to avoid store forwarding stalls.
2193
94e98316
AP
21942008-03-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
2195
e8afc0cb 2196 PR target/27946
94e98316
AP
2197 * config/rs6000/rs6000.md (floatdidf2): Discouraging fprs and
2198 encouraging but not allowing gprs for input;
2199 change the input constraint to !f#r.
2200 (fix_truncdfdi2): Discouraging fprs and encouraging but not allowing
2201 gprs for output;
2202 change the output constraint to !f#r.
2203
7fb1431b
UB
22042008-03-21 Uros Bizjak <ubizjak@gmail.com>
2205
2206 PR target/13958
2207 * config/i386/i386.md ("*floatunssi<mode2>_1"): New pattern with
2208 corresponding post-reload splitters.
2209 ("floatunssi<mode>2"): Expand to unsigned_float x87 insn pattern
2210 when x87 FP math is selected.
2211 * config/i386/i386-protos.h (ix86_expand_convert_uns_sixf_sse):
2212 New function prototype.
2213 * config/i386/i386.c (ix86_expand_convert_uns_sixf_sse): New
2214 unreachable function to ease macroization of insn patterns.
2215
ed2024ba
MJ
22162008-03-21 Martin Jambor <mjambor@suse.cz>
2217
2218 * tree-data-ref.c (dump_data_dependence_relation): Avoid data
2219 reference dumps if ddr is NULL or dependence is unknown.
2220
06644a07
KK
22212008-03-20 Kaz Kojima <kkojima@gcc.gnu.org>
2222
2223 * config/sh/linux-atomic.asm (ATOMIC_TEST_AND_SET): Take
2224 unsigned extension into account.
2225 (ATOMIC_COMPARE_AND_SWAP): Likewise.
2226 (ATOMIC_FETCH_AND_OP, ATOMIC_FETCH_AND_COMBOP): Likewise.
2227 Do computations on a scratch register.
2228
ad6003f2
RG
22292008-03-21 Richard Guenther <rguenther@suse.de>
2230
2231 * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
2232 Use is_gimple_min_invariant instead of TREE_INVARIANT.
2233 * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Likewise.
2234 * tree-ssa-dom.c (record_equality): Likewise.
2235 * tree-inline.c (copy_body_r): Likewise.
2236 * tree-ssa-pre.c (make_values_for_stmt): Remove test for
2237 TREE_INVARIANT.
2238
2acdc1fb
KK
22392008-03-20 Kaz Kojima <kkojima@gcc.gnu.org>
2240
2241 * config/sh/sh.c (split_branches): Pass zero to redirect_jump
2242 as 'delete_unused' argument.
2243
16ac8575
RG
22442008-03-20 Richard Guenther <rguenther@suse.de>
2245
2246 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Remove
2247 special casing of constant qualifiers.
2248 * tree-ssa.c (useless_type_conversion_p_1): Instead do not
2249 care about them in general.
2250 * tree-ssa-ccp.c (ccp_fold): Addresses are constant or not
2251 regardless of their type.
2252 (fold_stmt_r): Forcefully fold *& if we end up with that.
2253
433d52fd
PB
22542008-03-20 Paul Brook <paul@codesourcery.com>
2255
2256 * config.gcc (arm*-*-uclinux*): Remove duplicate arm/uclinux-elf.h.
2257 * config/arm/uclinux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Add extra
2258 linker flags.
2259 * config/arm/bpabi.h (SUBTARGET_EXTRA_LINK_SPEC): Provide default
2260 definition.
2261 (LINK_SPEC): Use SUBTARGET_EXTRA_LINK_SPEC.
2262 * config/arm/unwind-arm.h (_Unwind_decode_target2): Add uClinux.
2263
7621f5d5
VR
22642008-03-20 Volker Reichelt <v.reichelt@netcologne.de>
2265
2266 * common.opt (Wmudflap): New option.
2267 * tree-mudflap.c (mf_xform_derefs_1): Guard warning by OPT_Wmudflap.
2268 (mx_register_decls): Likewise.
2269 (mudflap_finish_file): Likewise.
2270 * doc/invoke.texi: Document -Wno-mudflap.
2271
22722008-03-20 Kai Tietz <kai.tietz@onevision.com>
6590fc9f
KT
2273
2274 * c-format.c (replace_format_name_to_system_name): New.
2275 (cmp_attribs): New.
2276 (convert_format_name_to_system_name): New.
2277 (decode_format_attr): Add use of convert_format_name_to_system_name.
2278 (format_types_orig): Add gnu_ prefix to names.
2279 (check_format_info_main): Special treating of \0 escaped names for
2280 supporting multi-character format specifiers as I32, I64.
2281 (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Use of user defined attributes.
2282 (gnu_target_overrides_format_attributes): New.
2283 * c-format.h: Add structure target_ovr_attr to hold
2284 system specific formatter names.
2285 * config.gcc: Add for x86&x86_64 cygwin and mingw32 targets the
2286 msformat-c.o file to c_target_objs and cxx_target_objs.
2287 * config/i386/mingw32.h (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.
2288 (TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT): New.
2289 (TARGET_N_FORMAT_TYPES): New.
2290 * config/i386/msformat-c.c: New.
2291 * config/i386/t-cygming: Add build rule for msformat-c.o.
2292 * doc/extend.texi: Add new format names gnu_* and ms_* and
2293 further details.
2294 * doc/tm.texi: (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.
2295
4e359692
IR
22962008-03-20 Ira Rosen <irar@il.ibm.com>
2297
2298 * doc/invoke.texi (-O3): Add -ftree-vectorize to the list of
2299 optimizations turned on under -O3.
2300 (ftree-vectorize): Add that the flag is turned on with -O3.
2301
41129be2
BE
23022008-03-20 Ben Elliston <bje@au.ibm.com>
2303
2304 * regmove.c (try_auto_increment): Fix spelling error in comment.
2305 * final.c (final_scan_insn): Likewise.
2306
1b1d8f88
UB
23072008-03-20 Uros Bizjak <ubizjak@gmail.com>
2308
2309 PR target/14552
2310 * config/i386/mmx.md (*mov<mode>_internal_rex64"): Adjust register
2311 allocator preferences for "y" and "r" class registers.
2312 ("*mov<mode>_internal"): Ditto.
2313 ("*movv2sf_internal_rex64"): Ditto.
2314 ("*movv2sf_internal"): Ditto.
2315
05e6ee93
MM
23162008-03-19 Michael Matz <matz@suse.de>
2317
2318 PR middle-end/35616
2319 * calls.c (expand_call): Check overlap of arguments with call
2320 address for sibcalls.
2321
cd7e0bd4
UB
23222008-03-19 Uros Bizjak <ubizjak@gmail.com>
2323
2324 PR target/35496
2325 * stor-layout.c (update_alignment_for_field): Set minimum alignment
2326 of the underlying type of a MS bitfield layout to the natural
2327 alignment of the type.
2328
8ddbbcae
JH
23292008-03-19 Jan Hubicka <jh@suse.cz>
2330
2331 PR other/35094
2332 * toplev.c (decode_d_option): Handle all CPP flags.
2333 * tree-vrp.c: Update tree_pass descriptors.
2334 * regrename.c: Update tree_pass descriptors.
2335 * fwprop.c: Update tree_pass descriptors.
2336 * doc/invoke.texi: Remove documentation of dropped -d? flags.
2337 * tree-into-ssa.c: Update tree_pass descriptors.
2338 * tree-dump.c: Update tree_pass descriptors.
2339 * tree-complex.c: Update tree_pass descriptors.
2340 * tree-dump.h: Update tree_pass descriptors.
2341 * see.c: Update tree_pass descriptors.
2342 * cgraphbuild.c: Update tree_pass descriptors.
2343 * tracer.c: Update tree_pass descriptors.
2344 * tree-loop-distribution.c: Update tree_pass descriptors.
2345 * cgraph.c: Update tree_pass descriptors.
2346 * postreload-gcse.c: Update tree_pass descriptors.
2347 * postreload.c: Update tree_pass descriptors.
2348 * tree-ssa-loop-ch.c: Update tree_pass descriptors.
2349 * tree-tailcall.c: Update tree_pass descriptors.
2350 * tree-pass.h (tree_opt_pass): Rename to ...
2351 (opt_pass) ... this one; add "type" field and remove letter field.
2352 (gimple_opt_pass, rtl_opt_pass, simple_ipa_opt_pass): New.
2353 (execute_pass_list, execute_ipa_pass_list, all_passes, all_ipa_passes,
2354 all_lowering_passes): Update declaration.
2355 * ipa-cp.c: Update tree_pass descriptors.
2356 * final.c: Update tree_pass descriptors.
2357 * omp-low.c: Update tree_pass descriptors.
2358 * tree-ssa-dse.c: Update tree_pass descriptors.
2359 * ipa-reference.c: Update tree_pass descriptors.
2360 * tree-ssa-uncprop.c: Update tree_pass descriptors.
2361 * auto-inc-dec.c: Update tree_pass descriptors.
2362 * reorg.c: Update tree_pass descriptors.
2363 * cgraphunit.c: Update tree_pass descriptors.
2364 * tree-ssa-copyrename.c: Update tree_pass descriptors.
2365 * tree-ssa-ccp.c: Update tree_pass descriptors.
2366 * df-core.c: Update tree_pass descriptors.
2367 * mode-switching.c: Update tree_pass descriptors.
2368 * tree-nomudflap.c: Update tree_pass descriptors.
2369 * modulo-sched.c: Update tree_pass descriptors.
2370 * ipa-pure-const.c: Update tree_pass descriptors.
2371 * cse.c: Update tree_pass descriptors.
2372 * web.c: Update tree_pass descriptors.
2373 * tree-stdarg.c: Update tree_pass descriptors.
2374 * tree-ssa-math-opts.c: Update tree_pass descriptors.
2375 * tree-ssa-dom.c: Update tree_pass descriptors.
2376 * tree-nrv.c: Update tree_pass descriptors.
2377 * tree-ssa-alias.c: Update tree_pass descriptors.
2378 * loop-init.c: Update tree_pass descriptors.
2379 * gimple-low.c: Update tree_pass descriptors.
2380 * ipa-inline.c: Update tree_pass descriptors.
2381 * tree-ssa-sink.c: Update tree_pass descriptors.
2382 * global.c: Update tree_pass descriptors.
2383 * ifcvt.c: Update tree_pass descriptors.
2384 * jump.c: Update tree_pass descriptors.
2385 * predict.c: Update tree_pass descriptors.
2386 * tree-ssa-loop.c: Update tree_pass descriptors.
2387 * recog.c: Update tree_pass descriptors.
2388 * dse.c: Update tree_pass descriptors.
2389 * tree-ssa-ifcombine.c: Update tree_pass descriptors.
2390 * tree-eh.c: Update tree_pass descriptors.
2391 * regmove.c: Update tree_pass descriptors.
2392 * local-alloc.c
2393 * function.c: Update tree_pass descriptors.
2394 * tree-vectorizer.c: Update tree_pass descriptors.
2395 * gcse.c: Update tree_pass descriptors.
2396 * ipa-type-escape.c: Update tree_pass descriptors.
2397 * tree-if-conv.c: Update tree_pass descriptors.
2398 * init-regs.c: Update tree_pass descriptors.
2399 * ipa.c: Update tree_pass descriptors.
2400 * tree-ssa-phiopt.c: Update tree_pass descriptors.
2401 * rtl-factoring.c: Update tree_pass descriptors.
2402 * lower-subreg.c: Update tree_pass descriptors.
2403 * bt-load.c: Update tree_pass descriptors.
2404 * tree-dfa.c: Update tree_pass descriptors.
2405 * except.c: Update tree_pass descriptors.
2406 * emit-rtl.c: Update tree_pass descriptors.
2407 * cfgexpand.c: Update tree_pass descriptors.
2408 * tree-cfgcleanup.c: Update tree_pass descriptors.
2409 * cfgcleanup.c: Update tree_pass descriptors.
2410 * tree-ssa-pre.c: Update tree_pass descriptors.
2411 * tree-sra.c: Update tree_pass descriptors.
2412 * tree-mudflap.c: Update tree_pass descriptors.
2413 * tree-ssa-copy.c: Update tree_pass descriptors.
2414 * cfglayout.c: Update tree_pass descriptors.
2415 * tree-ssa-forwprop.c: Update tree_pass descriptors.
2416 * tree-ssa-dce.c: Update tree_pass descriptors.
2417 * tree-ssa.c: Update tree_pass descriptors.
2418 * regclass.c: Update tree_pass descriptors.
2419 * integrate.c: Update tree_pass descriptors.
2420 * tree-optimize.c: Update tree_pass descriptors.
2421 * tree-ssa-phiprop.c: Update tree_pass descriptors.
2422 * tree-object-size.c: Update tree_pass descriptors.
2423 * combine.c: Update tree_pass descriptors.
2424 * tree-outof-ssa.c: Update tree_pass descriptors.
2425 * bb-reorder.c: Update tree_pass descriptors.
2426 * stack-ptr-mod.c: Update tree_pass descriptors.
2427 * var-tracking.c: Update tree_pass descriptors.
2428 * tree-profile.c: Update tree_pass descriptors.
2429 * tree-vect-generic.c: Update tree_pass descriptors.
2430 * reg-stack.c: Update tree_pass descriptors.
2431 * sched-rgn.c: Update tree_pass descriptors.
2432 * tree-ssa-structalias.c: Update tree_pass descriptors.
2433 * tree-cfg.c: Update tree_pass descriptors.
2434 * passes.c (current_pass): Update declaration.
2435 (finish_optimization_passes): Update.
2436 (all_passes, all_ipa_passes, all_lowering_passes): Update declaration.
2437 (register_one_dump_file, register_dump_files_1, next_pass_1):
2438 Update arguments.
2439 (init_optimization_passes): Update handling of new types.
2440 (execute_one_pass, execute_pass_list, execute_ipa_pass_list): Update.
2441 * ipa-struct-reorg.c: Update tree_pass descriptors.
2442 * tree-ssa-reassoc.c: Update tree_pass descriptors.
2443 * combine-stack-adj.c: Update tree_pass descriptors.
2444 * cfgrtl.c: Update tree_pass descriptors.
2445 * dce.c: Update tree_pass descriptors.
2446 * tree-ssanames.c: Update tree_pass descriptors.
2447
8cb3ee37
RG
24482008-03-19 Richard Guenther <rguenther@suse.de>
2449
2450 PR middle-end/35609
4990038d
RG
2451 * tree-ssa.c (walk_data): New structure.
2452 (warn_uninitialized_var): If not always_executed warn with "maybe"
8cb3ee37
RG
2453 instead of "is".
2454 (execute_early_warn_uninitialized): Compute post-dominators.
2455 Initialize always_executed before processing each basic block.
2456
34614fff
MP
24572008-03-18 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
2458
2459 PR target/35504
2460 * config/i386/i386.c (x86_this_parameter): Calculate correct location
2461 of "this" pointer when "regparm = N" or "fastcall" is in effect.
2462
c15477fb
RW
24632008-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2464
2465 * doc/include/texinfo.tex: Update to version 2008-03-17.10.
2466
ac5dc795
PB
24672008-03-18 Paolo Bonzini <bonzini@gnu.org>
2468
34614fff
MP
2469 * expr.c (store_expr): Assume lang_hooks.reduce_bit_field_operations
2470 is true.
2471 (expand_expr_real_1) <REDUCE_BIT_FIELD>: Don't look at ignore.
2472 (expand_expr_real_1): Assume lang_hooks.reduce_bit_field_operations
2473 is true. Add "&& !ignore" condition to reduce_bit_field. Modify
2474 target after ignore has been set, and move there also the commputation
2475 of subtarget and original_target.
2476 * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
2477 (LANG_HOOKS_INITIALIZER): Remove it.
2478 * langhooks.h (struct lang_hooks): Remove reduce_bit_field_operations.
ac5dc795 2479
b80280f2
RG
24802008-03-18 Richard Guenther <rguenther@suse.de>
2481
2482 * tree-ssa-sccvn.c (visit_reference_op_load): If the lookup
2483 found an expression with constants, note that in the VN for the lhs.
2484 * tree-ssa-pre.c (eliminate): Visit COND_EXPR statements and
2485 fold them to constants if possible. Run cleanup_cfg if done so.
2486 (execute_pre): Return todo.
2487 (do_pre): Likewise.
2488 (execute_fre): Likewise.
2489 * tree-ssa-forwprop.c (can_propagate_from): Allow propagation
2490 of constants.
2491 (get_prop_source_stmt): Look through pointer conversions.
2492
2e28e797
JH
24932008-03-18 Jan Hubicka <jh@suse.cz>
2494
2495 * tree-pretty-print.c: Include predict.h.
2496 (dump_generic_node): Dump predictor.
2497 * tree.h (PREDICT_EXPR_OUTCOME, PREDICT_EXPR_PREDICTION): Update.
2498 * tree-gimple.c (is_gimple_stmt): Add PREDICT_EXPR.
2499 * gimple-low.c (lower_stmt): Likewise.
2500 * expr.c (expand_expr_real): Likewise.
2501 * predict.c (tree_bb_level_predictions): Use PREDICT_EXPRs and remove
2502 them.
2503 (build_predict_expr, build_predict_expr): New.
2504 * predict.h (predictor_name, build_predict_expr): Update.
2505 * c-typeck.c (c_finish_bc_stmt): Add prediction.
2506 * gimplify.c (gimplify_expr): Add PREDICT_EXPR.
2507 * predict.def (PRED_CONTINUE): Update hitrate.
2508 * tree.def (PREDICT_EXPR): Define.
2509 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark PREDICT_EXPR;
2510 do not handle BIND_EXPR.
2511 * tree-inline.c (estimate_num_insns_1): PREDICT_EXPR is free.
2512 * tree-cfg.c (verify_gimple_stmt): PREDICT_EXPR is valid.
2513 * tree-ssa-operands.c (get_expr_operands): PREDICT_EXPR takes no
2514 operands.
2515
52f1c7ed
MM
25162008-03-18 Michael Matz <matz@suse.de>
2517
2518 * gcov-io.h (__gcov_merge_ior, __gcov_fork): Mark hidden.
2519
c8ae0bec
RG
25202008-03-18 Richard Guenther <rguenther@suse.de>
2521
2522 * tree-gimple.h (is_gimple_invariant_address): Declare.
2523 (is_gimple_constant): Likewise.
2524 * tree-gimple.c (is_gimple_constant): New function.
2525 (is_gimple_invariant_address): Likewise.
2526 (is_gimple_min_invariant): Implement in terms of is_gimple_constant
2527 and is_gimple_invariant_address.
2528 * tree-ssa-loop-niter.c (expand_simple_operations): Revert
2529 previous change.
2530 * tree-data-ref.c (get_references_in_stmt): A SSA_NAME is not
2531 an addressable base.
2532
8119fc93
JJ
25332008-03-18 Jakub Jelinek <jakub@redhat.com>
2534
2535 PR middle-end/35611
2536 * gimplify.c (gimplify_expr): Gimplify second operand of
2537 OMP_ATOMIC_LOAD.
2538
c4e5b5a8
RG
25392008-03-17 Richard Guenther <rguenther@suse.de>
2540
2541 PR tree-optimization/19637
2542 * fold-const.c (fold_unary): Remove restrictions of removing
2543 intermediate pointer-conversions (P2)(P1)P0.
2544 * tree-ssa-ccp.c (maybe_fold_stmt_addition): Recover from
2545 conversion to void pointer.
2546 (get_maxval_strlen): Handle addresses of the form &(*p)[0].
2547
fcb9237b
JW
25482008-03-16 James E. Wilson <wilson@tuliptree.org>
2549
2550 PR debug/31510
2551 * dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for
2552 emulated thread local variables.
2553
461f8762
RG
25542008-03-16 Richard Guenther <rguenther@suse.de>
2555
2556 PR middle-end/35607
2557 * tree-ssa-loop-niter.c (expand_simple_operations): Do not
2558 expand TREE_INVARIANT operations that are not gimple invariant.
2559
2a31c49c
HPN
25602008-03-16 Hans-Peter Nilsson <hp@axis.com>
2561
2562 * doc/extend.texi (Alignment): Say that the ABI controls
2563 the __alignof__ for non-strict-alignment targets rather
2564 than being a recommendation.
2565
80efdb6a
PB
25662008-03-15 Paul Brook <paul@codesourcery.com>
2567
2568 * config/arm/arm.c (arm_unwind_emit): Suppress unused unwinding
2569 annotations.
2570 (arm_output_fn_unwind): Mark functions that can not be unwound.
2571
ff069900
PB
25722008-03-15 Paul Brook <paul@codesourcery.com>
2573
2574 * config/arm/arm.c (arm_rtx_costs_1): Add costs for ARMv6 value
2575 extension instructions.
2576
87e1e42b
RG
25772008-03-15 Richard Guenther <rguenther@suse.de>
2578
2579 * tree-ssa-ccp.c (ccp_fold): Also read from constant values
2580 and fold constant aggregate refs.
2581 (fold_const_aggregate_ref): Handle string constants
2582 and constructors in ARRAY_REFs. Handle INDIRECT_REF.
2583 (evaluate_stmt): Simplify now that ccp_fold folds constant
2584 aggregate refs.
2585
ef87d898
PB
25862008-03-15 Paul Brook <paul@codesourcery.com>
2587
2588 * config/arm/arm.md (insv): Use gen_insv_t2 and gen_insv_zero.
2589 (extzv): Use gen_extzv_t2.
2590 (insv_t2, insv_zero, extv, extzv_t2): New patterns.
2591
ed97ddc6
RG
25922008-03-15 Richard Guenther <rguenther@suse.de>
2593
2594 * tree-ssa-ccp.c (get_symbol_constant_value): Export.
2595 (fold_const_aggregate_ref): Likewise.
2596 (get_value): Return NULL if we don't have any values.
2597 (ccp_finalize): Set const_val to NULL after freeing it.
2598 * tree-flow.h (get_symbol_constant_value): Declare.
2599 (fold_const_aggregate_ref): Likewise.
2600 * tree-ssa-sccvn.c (try_to_simplify): Use them.
2601
1fd89060
RG
26022008-03-15 Richard Guenther <rguenther@suse.de>
2603
2604 PR middle-end/35593
2605 * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make sure
2606 to not produce negative array indices if not allowed. Add
2607 parameter to indicate that.
2608 (maybe_fold_offset_to_component_ref): Allow negative array
2609 indices only for the first member of a structure.
2610 (maybe_fold_offset_to_reference): Allow negative array indices.
2611 (maybe_fold_stmt_addition): Likewise.
2612
693092fb 26132008-03-15 Bjoern Haase <bjoern.m.haase@web.de>
cd7e0bd4 2614 Anatoly Sokolov <aesok@post.ru>
693092fb 2615
b97d8153 2616 * config/avr/avr.c (avr_arch_types): Add avr6 entry.
693092fb
BH
2617 (avr_arch): Add ARCH_AVR6.
2618 (avr_mcu_types): Add 'atmega2560' and 'atmega2561' entry.
2619 (initial_elimination_offset): Initialize and use 'avr_pc_size'
2620 instead of fixed value 2.
2621 (print_operand_address): Use gs() asm specifier instead of pm().
2622 (avr_assemble_integer): (Ditto.).
2623 (avr_output_addr_vec_elt): (Ditto.).
2624 (print_operand): Handle "!" code.
b97d8153 2625 * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add
693092fb
BH
2626 __AVR_3_BYTE_PC__, __AVR_2_BYTE_PC__ and __AVR_HAVE_JMP_CALL__.
2627 (AVR_HAVE_EIJMP_EICALL): Define.
2628 (AVR_3_BYTE_PC): Redefine.
2629 (AVR_2_BYTE_PC): (Ditto.).
2630 (PRINT_OPERAND_PUNCT_VALID_P): Add '!' code.
2631 (LINK_SPEC): Add atmega2560 and atmega2561.
2632 (CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561
2633 (crtm2561.o).
b97d8153 2634 * config/avr/avr.md (call_insn): Use eicall instead of icall
693092fb
BH
2635 for 3 byte PC devices.
2636 (call_value_insn): (Ditto.).
2637 (*tablejump_enh): Use eijmp instead of ijmp for 3 byte PC devices.
2638 (indirect_jump): Use only for for 2 byte PC devices.
2639 (*tablejump): (Ditto.).
2640 (*indirect_jump_avr6): Add insn.
2641 (*tablejump_rjmp): Don't use for 3 byte PC devices.
b97d8153 2642 * config/avr/libgcc.S (__prologue_saves__): Use eijmp
693092fb
BH
2643 instead of ijmp for 3 byte PC devices.
2644 (__tablejump2__): (Ditto.).
b97d8153 2645 * config/avr/t-avr (MULITLIB_OPTIONS): Add avr6 architecture.
693092fb
BH
2646 (MULITLIB_DIRNAMES): (Ditto.).
2647 (MULTILIB_MATCHES): Add atmega2560 and atmega2561 to list.
2648
ab555a5b
UB
26492008-03-15 Uros Bizjak <ubizjak@gmail.com>
2650
2651 * config/i386/mmx.md ("sse2_umulv1siv2di3"): Rename from
2652 "sse2_umulsidi3". Use V1DI mode for operand 0.
2653 ("mmx_psadbw"): Use V1DI mode for operand 0.
2654 * config/i386/i386-modes.def (V1SI): New vector mode.
2655 * config/i386/i386.c (struct builtin_description)
2656 [IX86_BUILTIN_PMULUDQ]: Use CODE_FOR_sse2_umulv1siv1di3.
2657 (v1di_ftype_v8qi_v8qi): Rename from di_ftype_v8qi_v8qi.
2658 (v1di_ftype_v2si_v2si): Rename from di_ftype_v2si_v2si.
2659 (ix86_init_mmx_sse_builtins) [__builtin_ia32_psadbw]: Use
2660 v1di_ftype_v8qi_v8qi type.
2661 [__builtin_ia32_pmuludq]: Use v1di_ftype_v2si_v2si type.
2662
2663 * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psadbw,
2664 __builtin_ia32_pmuludq]: Fix the mode of return value.
2665
8f78ed0e
RG
26662008-03-15 Richard Guenther <rguenther@suse.de>
2667
2668 PR middle-end/35595
2669 * tree-ssa-pre.c (bitmap_find_leader): Handle expression
2670 being a PHI_NODE.
2671
66e58b33
BW
26722008-03-14 Bob Wilson <bob.wilson@acm.org>
2673
2674 * doc/invoke.texi (Option Summary, Xtensa Options): Document
2675 -mserialize-volatile and -mno-serialize-volatile Xtensa options.
2676 * config/xtensa/xtensa.c (print_operand): Do not emit MEMW instructions
2677 unless TARGET_SERIALIZE_VOLATILE is enabled.
2678 * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
2679 * config/xtensa/xtensa.h (TARGET_DEFAULT): Add MASK_SERIALIZE_VOLATILE.
2680 * config/xtensa/xtensa.opt (mserialize_volatile): New option.
2681
896c8b96
RG
26822008-03-14 Richard Guenther <rguenther@suse.de>
2683
2684 PR tree-optimization/34172
2685 * tree-flow.h (refs_may_alias_p): Declare.
2686 (get_single_def_stmt): Likewise.
2687 (get_single_def_stmt_from_phi): Likewise.
2688 (get_single_def_stmt_with_phi): Likewise.
2689 * tree-dfa.c (refs_may_alias_p): New function.
2690 (get_single_def_stmt): Likewise.
2691 (get_single_def_stmt_from_phi): Likewise.
2692 (get_single_def_stmt_with_phi): Likewise.
2693 * tree-ssa-sccvn.c (get_def_ref_stmt_vuses): New function.
2694 (vn_reference_lookup_1): New helper function.
2695 (vn_reference_lookup): Walk the virtual use-def chain to
2696 continue searching for a match if the def does not alias the
2697 reference we are looking for.
2698
75dd1ae2
DE
26992008-03-14 David Edelsohn <edelsohn@gnu.org>
2700
2701 * doc/install.texi (Binaries): Remove UCLA archive. Add HVCC
2702 archive and Perzl. Update The Written Word listing.
2703
3d45dd59
RG
27042008-03-14 Richard Guenther <rguenther@suse.de>
2705
2706 PR tree-optimization/34043
2707 PR tree-optimization/33989
2708 * tree-ssa-pre.c (execute_pre): Allow SCCVN to do insertion
2709 when doing FRE.
2710 (bitmap_find_leader): Use extra argument to verify dominance
2711 relationship inside a basic-block.
2712 (can_PRE_operation): Add VIEW_CONVERT_EXPR.
2713 (find_leader_in_sets): Adjust.
2714 (create_component_ref_by_pieces): Take extra argument for
2715 dominance check, handle lookup failures.
2716 (find_or_generate_expression): Likewise.
2717 (create_expression_by_pieces): Likewise.
2718 (insert_into_preds_of_block): Adjust.
2719 (create_value_expr_from): If asked for, verify all operands
2720 are in the blocks AVAIL_OUT set.
2721 (make_values_for_stmt): Check for SSA_NAMEs that are life
2722 over an abnormal edge.
2723 (compute_avail): Remove such check.
2724 (do_SCCVN_insertion): New function.
2725 (eliminate): If we do not find a leader suitable for replacement
2726 insert a replacement expression from SCCVN if available.
2727 * tree-ssa-sccvn.h (run_scc_vn): Update prototype.
2728 (struct vn_ssa_aux): Add needs_insertion flag.
2729 * tree-ssa-sccvn.c (may_insert): New global flag.
2730 (copy_reference_ops_from_ref): Value-number union member access
2731 based on its size, not type and member if insertion is allowed.
2732 (visit_reference_op_load): For a weak match from union type
2733 punning lookup a view-converted value and insert a SSA_NAME
2734 for that value if that is not found.
2735 (visit_use): Make dumps shorter. Do not disallow value numbering
2736 SSA_NAMEs that are life over an abnormal edge to constants.
2737 (free_scc_vn): Release inserted SSA_NAMEs.
2738 (run_scc_vn): New flag to specify whether insertion is allowed.
2739 Process SSA_NAMEs in forward order.
2740 * tree-ssa-loop-im.c (for_each_index): Handle invariant
2741 ADDR_EXPRs inside VIEW_CONVERT_EXPR.
2742 * fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPRs from/to
2743 pointer type to/from integral types that do not change the
2744 precision to regular conversions.
2745
52eaae97
UB
27462008-03-13 Uros Bizjak <ubizjak@gmail.com>
2747
2748 * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
2749 __builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
2750 __builtin_ia32_psrl?i, __builtin_ia32_psra?i, __builtin_ia32_psll?128,
2751 __builtin_ia32_psrl?128, __builtin_ia32_psra?128]: Fix the mode of
75d8b30e
UB
2752 input arguments and the mode of return value. Built-in functions
2753 that operate on whole 64-bit MMX register now use V1DI mode.
52eaae97 2754
5f5f0635
AD
27552008-03-13 Alon Dayan <alond@il.ibm.com>
2756 Olga Golovanevsky <olga@il.ibm.com>
2757
2758 PR tree-optimization/35041
2759 * ipa-struct-reorg.c (find_pos_in_stmt_1): Add another option
2760 to locate the right position in a statement.
2761
1359ef39
UB
27622008-03-13 Uros Bizjak <ubizjak@gmail.com>
2763
2764 PR target/34000
2765 PR target/35553
2766 * config/i386/xmmintrin.h: Change all static inline functions to
2767 extern inline and add __gnu_inline__ attribute.
2768 * config/i386/bmintrin.h: Ditto.
2769 * config/i386/smmintrin.h: Ditto.
2770 * config/i386/tmmintrin.h: Ditto.
2771 * config/i386/mmintrin-common.h: Ditto.
2772 * config/i386/ammintrin.h: Ditto.
2773 * config/i386/emmintrin.h: Ditto.
2774 * config/i386/pmmintrin.h: Ditto.
2775 * config/i386/mmintrin.h: Ditto.
2776 * config/i386/mm3dnow.h: Ditto.
2777
d0fb20be
JJ
27782008-03-13 Jakub Jelinek <jakub@redhat.com>
2779
2780 PR middle-end/35185
2781 * omp-low.c (lower_regimplify, init_tmp_var, save_tmp_var): Removed.
2782 (lower_omp_2): New function.
2783 (lower_omp_1, lower_omp): Rewritten.
2784
20cef83a
DS
27852008-03-13 Danny Smith <dannysmith@users.sourceforge.net>
2786
2787 PR 35054
2788 * doc/extend.texi (Structure-Packing Pragmas): Replace "Win32"
2789 with the phrase "Microsoft Windows compilers".
2790 (Push/Pop Macro Pragmas): New subsection. Document
2791 #pragma push_macro and pragma pop_macro.
2792
5dea0c19
PB
27932008-03-12 Paul Brook <paul@codesourcery.com>
2794
2795 * config/arm/arm.c (output_move_double): Prefer LDRD to LDM.
2796
d1b85efb
PB
27972008-03-12 Paul Brook <paul@codesourcery.com>
2798
2799 * config/arm/thumb2.md: Extend peephole to cover 3-arg subs.
2800 (thumb2_alusi3_short): Exclude PLUS and MINUS.
2801 (thumb2_addsi_shortim): Rename ...
2802 (thumb2_addsi_short): ... to this. Allow register operands.
2803 (thumb2_subsi_short): New pattern.
2804 (thumb2_one_cmplsi2_short,
2805 thumb2_negsi2_short): New patterns and peepholes.
2806
09754904
PB
28072008-03-12 Paul Brook <paul@codesourcery.com>
2808
09754904
PB
2809 * config/arm/arm.c (arm_size_rtx_costs): Use ARM costs for Thumb-2.
2810
a7438d6d
UB
28112008-03-12 Uros Bizjak <ubizjak@gmail.com>
2812
2813 * config/i386/i386.md (int_cond): New code iterator.
2814 (fp_cond): Ditto.
2815 ("s<code>"): Macroize expander from seq, sne, sgt, sgtu, slt, sltu,
2816 sge, sgeu, sle and sleu expanders usign int_cond code iterator.
2817 ("s<code>"): Macroize expander from sunordered, sordered, suneq, sunge,
2818 sungt, sunle, sunlt and sltgt expanders usign fp_cond code iterator.
2819 ("b<code>"): Macroize expander from beq, bne, bgt, bgtu, blt, bltu,
2820 bge, bgeu, ble and bleu expanders usign int_cond code iterator.
2821 ("b<code>"): Macroize expander from bunordered, bordered, buneq, bunge,
2822 bungt, bunle, bunlt and bltgt expanders usign fp_cond code iterator.
2823
954954d1
PB
28242008-03-12 Paul Brook <paul@codesourcery.com>
2825
2826 * config/arm/arm.c (use_return_insn): Use offsets->saved_regs_mask
2827 instead of {arm,thumb}_compute_save_reg_mask.
2828 (output_return_instruction): Ditto.
2829 (thumb_unexpanded_epilogue): Ditto.
2830 (thumb1_expand_prologue): Ditto.
2831 (thumb1_output_function_prologue): Ditto.
2832 (arm_set_return_address): Ditto.
2833 (thumb_set_return_address): Ditto.
2834 (arm_get_frame_offsets): Set offsets->saved_regs_mask. Push extra
2835 regs to achieve stack alignment.
2836 (thumb1_compute_save_reg_mask): Fix compiler warning.
2837 (arm_output_epilogue): Use offsets->saved_regs_mask.
2838 Adjust stack pointer by poping call clobered registers.
2839 (arm_expand_prologue): Use offsets->saved_regs_mask.
2840 Adjust stack pointer by pushing extra registers.
d0fb20be 2841 * config/arm.h (arm_stack_offsets): Add saved_regs_mask.
954954d1 2842
c83bd37c
PB
28432008-03-12 Paolo Bonzini <bonzini@gnu.org>
2844
2845 PR tree-opt/35422
2846 * fold-const.c (fold_unary) <NOP_EXPR>: Distribute a narrowing
2847 conversion to the operands of a multiplication.
2848
67514449
RG
28492008-03-12 Richard Guenther <rguenther@suse.de>
2850
2851 * Makefile.in (OBJS-common): Add tree-ssa-phiprop.o
2852 (tree-ssa-phiprop.o): Copy dependencies from tree-ssa-forwprop.o.
2853 * timevar.def (TV_TREE_PHIPROP): Add.
2854 * tree-ssa-phiprop.c: Split from tree-ssa-forwprop.c, added
2855 pass description. Use TV_TREE_PHIPROP.
2856 * tree-ssa-forwprop.c: Remove phiprop code.
2857
7c8f7639
JJ
28582008-03-12 Jakub Jelinek <jakub@redhat.com>
2859
2860 PR middle-end/35549
2861 * omp-low.c (maybe_lookup_decl): Constify first argument.
2862 (use_pointer_for_field): Change last argument from bool to
2863 omp_context *. Disallow shared copy-in/out in nested
2864 parallel if decl is shared in outer parallel too.
2865 (build_outer_var_ref, scan_sharing_clauses,
2866 lower_rec_input_clauses, lower_copyprivate_clauses,
2867 lower_send_clauses, lower_send_shared_vars): Adjust callers.
2868
62878103
VK
28692008-03-12 Victor Kaplansky <victork@il.ibm.com>
2870 Ira Rosen <irar@il.ibm.com>
2871
2872 * tree-vectorizer.c (free_stmt_vec_info): New function.
2873 (destroy_loop_vec_info): Move code to free_stmt_vec_info().
2874 Call free_stmt_vec_info(). Free LOOP_VINFO_STRIDED_STORES..
2875 * tree-vectorizer.h (free_stmt_vec_info): Declare.
2876 * tree-vect-transform.c (vectorizable_conversion): Free
2877 vec_oprnds0 if it was allocated.
2878 (vect_permute_store_chain): Remove unused VECs.
2879 (vectorizable_store): Free VECs that are allocated in the..
2880 function.
2881 (vect_transform_strided_load, vectorizable_load): Likewise.
2882 (vect_remove_stores): Simplify the code.
2883 (vect_transform_loop): Move code to vect_remove_stores().
2884 Call vect_remove_stores() and free_stmt_vec_info().
2885
9dbd54be
JDA
28862008-03-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2887
2888 * pa.h (TARGET_LONG_PIC_SDIFF_CALL): Conditionalize define on
2889 TARGET_HPUX. Revise comment.
2890 (TARGET_LONG_PIC_PCREL_CALL): Revise comment.
2891 * pa.c (output_call): Update for revised TARGET_LONG_PIC_SDIFF_CALL.
2892 Use sr4 variant of `be' instruction when not generating PIC code.
2893 (attr_length_call): Adjust for above change.
2894
76a7d3ca
AP
28952008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
2896
2897 * ipa-reference.c (static_execute): Remove module_statics_const and
2898 associated setting code.
2899
40cca4f9
UB
29002008-03-11 Uros Bizjak <ubizjak@gmail.com>
2901
2902 PR target/35540
2903 * config/i386/i386.md (paritysi2, paritydi2): Use register_operand
1b1d8f88
UB
2904 predicate for operand 1.
2905 (paritysi2_cmp): Use register_operand predicate for operand 2.
40cca4f9
UB
2906 Use earlyclobber modifier for operand 1. Remove support for
2907 memory operands.
1b1d8f88 2908 (paritydi2_cmp): Use register_operand predicate for operand 3.
40cca4f9
UB
2909 Use earlyclobber modifier for operand 1. Remove support for
2910 memory operands.
2911
ec6237e4 29122008-03-11 Paul Brook <paul@codesourcery.com>
40cca4f9 2913 Vladimir Prus <vladimir@codesourcery.com>
ec6237e4
PB
2914
2915 * config/arm/arm.c (use_return_insn): Check TARGET_APCS_FRAME.
2916 (arm_compute_save_reg0_reg12_mask): Always
2917 check if register 11 must be saved. Always safe hard frame pointer
2918 when frame_pointer_needeed.
2919 (arm_compute_save_reg_mask): Save IP and PC
2920 only with apcs frames.
2921 (arm_output_epilogue): Adjust Thumb2 codepath to
2922 be also invoked and work for ARM non-apcs frames.
2923 (arm_expand_prologue): Don't bother saving IP
2924 for non-apcs frame, since it's not clobbered by
2925 prologue code. Implement non-apcs frame
2926 layout.
2927
2f6025a1
PB
29282008-03-11 Paolo Bonzini <bonzini@gnu.org>
2929
2930 PR rtl-optimization/35281
2931 * expr.c (convert_move): Use a new pseudo for the intermediate
2932 from_mode->word_mode result.
2933
30e257e5
PB
29342008-03-11 Paolo Bonzini <bonzini@gnu.org>
2935
ec6237e4
PB
2936 * langhooks-def.h (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
2937 * langhooks.h (struct lang_hooks): Delete clear_binding_stack member.
2938 * toplev.c (compile_file): Don't call it.
30e257e5 2939
ab669042
UB
29402008-03-11 Uros Bizjak <ubizjak@gmail.com>
2941
2942 PR middle-end/35526
2943 * expr.c (store_expr): Call emit_block_move if the mode
2944 of "temp" RTX is BLKmode.
2945
1ffe34d9 29462008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
ab669042 2947 Richard Guenther <rguenther@suse.de>
1ffe34d9
AP
2948
2949 PR tree-optimization/31358
2950 * tree-ssa-loop-manip.c (create_iv): Call force_gimple_operand for
2951 the step with a NULL_TREE.
2952 * tree-ssa-loop-ivopts.c (find_bivs): Convert the step
2953 to sizetype if type is a pointer type.
2954 (add_candidate_1): Don't convert the base and step to
2955 the generic type if the orginal type is a pointer type.
2956 (add_iv_value_candidates): Use sizetype for the step
2957 if type is a pointer type.
2958 (cand_value_at): Likewise.
2959 * tree-ssa-address.c (add_to_parts): Use POINTER_PLUS_EXPR
2960 for pointer types.
2961 * tree-affine.c (tree_to_aff_combination <POINTER_PLUS_EXPR>):
2962 Don't convert the tem affine to the type.
2963 (add_elt_to_tree): Use sizetype for the step if a pointer.
2964 Use POINTER_PLUS_EXPR for pointers.
2965 (aff_combination_to_tree): Use sizetype for the step if a
2966 pointer.
2967
dd6d5236
VM
29682008-03-10 Vladimir Makarov <vmakarov@redhat.com>
2969
2970 * config/i386/sse.md (ssse3_pmaddubswv8hi3, ssse3_pmaddubswv4hi3):
2971 Remove commutativity hint.
2972
8b46837c
JJ
29732008-03-10 Jakub Jelinek <jakub@redhat.com>
2974
5df27e4a
JJ
2975 PR c/35438
2976 PR c/35439
2977 * c-parser.c (c_parser_omp_threadprivate): Don't add vars with
2978 errorneous type. Check that v is a VAR_DECL.
2979
8b46837c
JJ
2980 PR middle-end/35099
2981 * tree-cfg.c (new_label_mapper): Update cfun->last_label_uid.
2982
725c2d32
L
29832008-03-10 H.J. Lu <hongjiu.lu@intel.com>
2984
2985 PR tree-optimization/35494
2986 * tree-ssa-ccp.c (get_symbol_constant_value): Check if value
2987 may be overriden at link and run time.
2988
3ba404df
RG
29892008-03-10 Richard Guenther <rguenther@suse.de>
2990
2991 PR tree-optimization/34677
2992 * tree-ssa-pre.c (modify_expr_node_pool): Remove.
2993 (poolify_tree): Likewise.
2994 (modify_expr_template): Likewise.
2995 (poolify_modify_stmt): Likewise.
2996 (insert_fake_stores): Handle all component-ref style stores
2997 in addition to INDIRECT_REF. Also handle complex types.
2998 Do not poolify the inserted load.
2999 (realify_fake_stores): Do not rebuild the tree but only
3000 make it a SSA_NAME copy.
3001 (init_pre): Remove initialzation of modify_expr_template.
3002 Do not allocate modify_expr_node_pool.
3003 (fini_pre): Do not free modify_expr_node_pool.
3004
97e38a92
PB
30052008-03-10 Paul Brook <paul@codesourcery.com>
3006
3007 * config/arm/arm.md (UNSPEC_STACK_ALIGN, UNSPEC_PIC_OFFSET): Renumber
3008 to avoid conflicts.
3009
bd4dc3cd 30102008-03-10 Paul Brook <paul@codesourcery.com>
ab669042 3011 Mark Shinwell <shinwell@codesourcery.com>
bd4dc3cd 3012
bd4dc3cd
PB
3013 * config/arm/cortex-r4.md: New.
3014 * config/arm/thumb2.md (divsi3, udivsi3): Annotate with
3015 insn attributes.
3016 * config/arm/arm.md: Include cortex-r4.md.
3017 (insn): Add smmls, sdiv and udiv values.
3018 (generic_sched): Don't use generic scheduling for Cortex-R4.
3019 (arm_issue_rate): New function.
3020 (TARGET_SCHED_ISSUE_RATE): Define.
3021
9886a872
SP
30222008-03-10 Sebastian Pop <sebastian.pop@amd.com>
3023
3024 * doc/invoke.texi (-ftree-loop-distribution): Add an example.
3025
e5eff6a3
RG
30262008-03-10 Richard Guenther <rguenther@suse.de>
3027
3028 * tree-ssa-pre.c (get_sccvn_value): Simplify.
3029 (compute_avail): Do not add stmt uses to AVAIL_OUT.
3030
0d4c700c
PB
30312008-03-10 Paolo Bonzini <bonzini@gnu.org>
3032
3033 * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
3034 Set default to true.
3035
802e3f8c
RW
30362008-03-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3037
3038 * c.opt (Wsynth): Deprecate.
3039 * doc/invoke.texi (Option Summary, Warning Options): Document
3040 -Wno-format-contains-nul.
3041
be3d4789
UB
30422008-03-09 Uros Bizjak <ubizjak@gmail.com>
3043
3044 PR target/35496
3b509e33 3045 * config/i386/i386.c (ix86_constant_alignment): Compute alignment using
be3d4789
UB
3046 ALIGN_MODE_128 for VECTOR_CST and INTEGER_CST in addition to REAL_CST.
3047
e83a75a7
IR
30482008-03-09 Ira Rosen <irar@il.ibm.com>
3049
3050 * config/rs6000/rs6000.c (builtin_description): Rename vector
3051 left shift operations.
3052 * config/rs6000/altivec.md (UNSPEC_VSL): Remove.
3053 (altivec_vsl<VI_char>): Rename to ...
3054 (ashl<mode>3): ... new name.
3055 (mulv4sf3, mulv4si3, negv4sf2): Replace gen_altivec_vslw with
3056 gen_ashlv4si3.
3057 (absv4sf2): Convert to use ashift:V4SI instead of UNSPEC_VSL.
3058
fc9161c1
RG
30592008-03-08 Richard Guenther <rguenther@suse.de>
3060
3061 * coverage.h (tree_coverage_counter_addr): Declare.
3062 * coverage.c (tree_coverage_counter_addr): New function.
3063 * tree-profile.c (tree_gen_edge_profiler): Unshare counter
3064 before using again.
3065 (tree_gen_pow2_profiler): Use tree_coverage_counter_addr.
3066 (tree_gen_one_value_profiler): Likewise.
3067 (tree_gen_ic_profiler): Likewise.
3068 (tree_gen_average_profiler): Likewise.
3069 (tree_gen_ior_profiler): Likewise.
3070
49a1fb2d
RG
30712008-03-08 Richard Guenther <rguenther@suse.de>
3072
3073 * tree-ssa-sccvn.h (vn_binary_op_lookup): Remove.
3074 (vn_binary_op_insert): Likewise.
3075 (vn_unary_op_lookup): Likewise.
3076 (vn_unary_op_insert): Likewise.
3077 (vn_nary_op_lookup): Declare.
3078 (vn_nary_op_insert): Likewise.
3079 * tree-ssa-sccvn.c (struct vn_tables_s): Merge unary
3080 and binary hashes, use a single obstack for unary_op_pool
3081 and binary_op_pool.
3082 (struct vn_binary_op_s, struct vn_unary_op_s): Replace with
3083 a single struct vn_nary_op_s. Store tree code length and
3084 a variable number of operands.
3085 (struct vn_reference_op_struct): Remove unused op2.
3086 (vn_reference_op_eq): Do not compare op2.
3087 (vn_reference_op_compute_hash): Do not compute hash of op2.
3088 (vn_unary_op_hash, vn_binary_op_hash): Replace with vn_nary_op_hash.
3089 (vn_unary_op_compute_hash, vn_binary_op_compute_hash): Replace
3090 with vn_nary_op_compute_hash.
3091 (vn_unary_op_eq, vn_binary_op_eq): Replace with vn_nary_op_eq.
3092 (vn_unary_op_lookup, vn_binary_op_lookup): Replace with
3093 vn_nary_op_lookup.
3094 (vn_unary_op_insert, vn_binary_op_insert): Replace with
3095 vn_nary_op_insert.
3096 (visit_unary_op): Call nary functions.
3097 (visit_binary_op): Likewise.
3098 (process_scc): Adjust for struct vn_tables_s changes.
3099 (allocate_vn_table): Likewise.
3100 (free_vn_table): Likewise.
3101 * tree-vn.c (vn_add): Call nary functions.
3102 (vn_lookup): Likewise.
3103
2725b75c
JJ
31042008-03-08 Jakub Jelinek <jakub@redhat.com>
3105
3106 PR target/35498
3107 * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift
3108 wdst back after sync_compare_and_swapqhi_internal.
3109
10a97ae6
UB
31102008-03-08 Uros Bizjak <ubizjak@gmail.com>
3111
3112 PR target/22152
3113 * config/i386/i386-modes.def (V1DI): New vector mode.
3114 * config/i386/i386.h (VALID_MMX_REG_MODE): Add V1DImode.
3115 * config/i386/mmx.md (MMXMODEI8): New mode iterator.
3116 (MMXMODE248): Ditto.
3117 (MMXMODE): Add V1DI mode.
3118 (mmxvecsize): Change DI mode to V1DI mode.
3119 ("mov<mode>): Use MMXMODEI8 mode iterator.
3120 ("*mov<mode>_internal_rex64"): Ditto.
3121 ("*mov<mode>_internal"): Ditto.
3122 ("mmx_add<mode>3"): Ditto. Handle V1DImode for TARGET_SSE2.
3123 ("mmx_sub<mode>3"): Ditto.
3124 ("mmx_adddi3"): Remove insn pattern.
3125 ("mmx_subdi3"): Ditto.
3126 ("mmx_ashr<mode>3"): Use SImode and "yN" constraint for operand 2.
3127 ("mmx_lshr<mode>3"): Ditto. Use MMXMODE248 mode iterator.
3128 ("mmx_ashl<mode>3"): Ditto.
3129 ("mmx_lshrdi3"): Remove insn pattern.
3130 ("mmx_ashldi3"): Ditto.
3131 * config/i386/i386.c (classify_argument): Handle V1DImode.
3132 (function_arg_advance_32): Ditto.
3133 (function_arg_32): Ditto.
3134 (struct builtin_description) [IX86_BUILTIN_PADDQ]: Use
3135 mmx_addv1di3 insn pattern.
3136 [IX86_BUILTIN_PSUBQ]: Use mmx_subv1di3 insn pattern.
3137 [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?, IX86_BUILTIN_PSRA?,
3138 IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I, IX86_BUILTIN_PSRA?I,
3139 IX86_BUILTIN_PSLL?I128, IX86_BUILTIN_PSRL?I128, IX86_BUILTIN_PSRA?I128]:
3140 Remove definitions of built-in functions.
3141 (V1DI_type_node): New node.
3142 (v1di_ftype_v1di_int): Ditto.
3143 (v1di_ftype_v1di_v1di): Ditto.
3144 (v2si_ftype_v2si_si): Ditto.
3145 (v4hi_ftype_v4hi_di): Remove node.
3146 (v2si_ftype_v2si_di): Ditto.
3147 (ix86_init_mmx_sse_builtins): Handle V1DImode.
3148 (__builtin_ia32_psll?, __builtin_ia32_psrl?, __builtin_ia32_psra?):
3149 Redefine builtins using def_builtin_const with *_ftype_*_int node.
3150 (__builtin_ia32_psll?i, __builtin_ia32_psrl?i, __builtin_ia32_psra?i):
3151 Add new builtins using def_builtin_const.
3152 (ix86_expand_builtin) [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?,
3153 IX86_BUILTIN_PSRA?, IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I,
3154 IX86_BUILTIN_PSRA?I]: Handle builtin definitions.
3155 * config/i386/mmintrin.h (__v1di): New typedef.
3156 (_mm_add_si64): Cast arguments to __v1di type.
3157 (_mm_sub_si64): Ditto.
3158 (_mm_sll_pi16): Cast __count to __v4hi type.
3159 (_mm_sll_pi32): Cast __count to __v2si type.
3160 (_mm_sll_si64): Cast arguments to __v1di type.
3161 (_mm_srl_pi16): Cast __count to __v4hi type.
3162 (_mm_srl_pi32): Cast __count to __v2si type.
3163 (_mm_srl_si64): Cast arguments to __v1di type.
3164 (_mm_sra_pi16): Cast __count to __v4hi type.
3165 (_mm_sra_pi32): Cast __count to __v2si type.
3166 (_mm_slli_pi16): Use __builtin_ia32_psllwi.
3167 (_mm_slli_pi32): Use __builtin_ia32_pslldi.
3168 (_mm_slli_si64): Use __builtin_ia32_psllqi. Cast __m to __v1di type.
3169 (_mm_srli_pi16): Use __builtin_ia32_psrlwi.
3170 (_mm_srli_pi32): Use __builtin_ia32_psrldi.
3171 (_mm_srli_si64): Use __builtin_ia32_psrlqi. Cast __m to __v1di type.
3172 (_mm_srai_pi16): Use __builtin_ia32_psrawi.
3173 (_mm_srai_pi32): Use __builtin_ia32_psradi.
3174 * config/i386/i386.md (UNSPEC_NOP): Remove unspec definition.
3175 * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
3176 __builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
3177 __builtin_ia32_psrl?i, __builtin_ia32_psra?i]: Add new builtins.
3178
08c3b5b0
JM
31792008-03-07 Joseph Myers <joseph@codesourcery.com>
3180
3181 * doc/include/texinfo.tex: Update to version 2008-03-07.10.
3182
efc05e3c
PB
31832008-03-07 Peter Bergner <bergner@vnet.ibm.com>
3184
3185 PR target/35373
3186 * config/rs6000/rs6000.c (rs6000_legitimize_address): Don't generate
3187 reg+const addressing for Altivec modes. Don't generate reg+reg
3188 addressing for TFmode or TDmode quantities.
3189
cf7bc668
PB
31902008-03-07 Paolo Bonzini <bonzini@gnu.org>
3191
3192 * c-common.c (vector_types_convertible_p): Call langhook
3193 instead of comptypes.
3194
b0940154
AP
31952008-03-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
3196
3197 PR tree-opt/35402
3198 * tree-ssa-ccp.c (get_symbol_constant_value): Handle
3199 integral and scalar float variables which have a
3200 NULL DECL_INITIAL.
3201
48081aae
NF
32022008-03-06 Nathan Froyd <froydnj@codesourcery.com>
3203
3204 * dwarf2out.c (dwarf2out_frame_debug_expr): Consult the
3205 dwarf_register_span hook when emitting unwind information for
3206 register-to-memory saves.
3207 * config/rs6000/rs6000.c (spe_synthesize_frame): Delete.
3208 (rs6000_frame_related): Remove call to spe_synthesize_frame.
3209
251923f5
JJ
32102008-03-06 Jakub Jelinek <jakub@redhat.com>
3211
3212 * gimplify.c (goa_lhs_expr_p): Allow different ADDR_EXPR nodes
3213 for the same VAR_DECL.
3214
e8645a40
TT
32152008-03-06 Tom Tromey <tromey@redhat.com>
3216
3217 * treelang: Delete.
3218 * doc/standards.texi (Standards): Don't mention treelang.
3219 * doc/invoke.texi (Overall Options): Don't mention treelang.
3220 * doc/install.texi (Prerequisites): Don't mention bison or
3221 treelang.
3222 (Configuration): Don't mention treelang.
3223 (Building): Likewise.
3224 * doc/frontends.texi (G++ and GCC): Don't mention treelang.
3225
97efb03a
PB
32262008-03-06 Paolo Bonzini <bonzini@gnu.org>
3227
3228 * simplify-rtx.c (simplify_subreg): Remove useless shifts from
3229 word-extractions out of a multi-word object.
3230
fc0f49f3
RG
32312008-03-06 Richard Guenther <rguenther@suse.de>
3232
3233 * tree.def (BIT_FIELD_REF): Constrain result type and its precision.
3234 * tree-cfg.c (verify_expr): Verify BIT_FIELD_REF constraints on
3235 result type and precision.
3236 * expr.c (get_inner_reference): Set unsignedp based on the result
3237 type of BIT_FIELD_REF.
3238 * tree.h (BIT_FIELD_REF_UNSIGNED): Remove.
3239 * tree-sra.c (instantiate_element): Do not set BIT_FIELD_REF_UNSIGNED.
3240 (try_instantiate_multiple_fields): Likewise. Use the correct type
3241 for BIT_FIELD_REF.
3242 (sra_build_assignment): Likewise.
3243 (sra_build_elt_assignment): Likewise.
3244 (sra_explode_bitfield_assignment): Likewise.
3245 * print-tree.c (print_node): Do not check BIT_FIELD_REF_UNSIGNED.
3246 * tree-vect-transform.c (vect_create_epilog_for_reduction): Do not
3247 set BIT_FIELD_REF_UNSIGNED.
3248 (vectorizable_load): Likewise.
3249
e186ff69
AK
32502008-03-06 Andreas Krebbel <krebbel1@de.ibm.com>
3251
3252 * cse.c (cse_extended_basic_block): Invalidate artificial defs
3253 at bb start.
3254
4c067742
RG
32552008-03-06 Richard Guenther <rguenther@suse.de>
3256
3257 * alias.c (struct alias_set_entry): Move has_zero_child field
3258 to pack with alias_set.
3259
23880b97
L
32602008-03-05 H.J. Lu <hongjiu.lu@intel.com>
3261
3262 * config/i386/i386-modes.def: Use 4 byte alignment on DI for
3263 32bit host.
3264
6ab81302
ILT
32652008-03-05 Ian Lance Taylor <iant@google.com>
3266
3267 * alias.h (alias_set_type): Change from HOST_WIDE_INT to int.
3268
ca9052ce
KZ
32692008-03-05 Kenneth Zadeck <zadeck@naturalbridge.com>
3270
3271 * fwprop.c (update_df): Support width and offset parameters of
3272 df_ref_create.
3273 * ra-conflict.c (mark_reg_store, clear_reg_in_live,
3274 global_conflicts): Change DF_REF_EXTRACT to either
3275 DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT. Change
3276 DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
3277 * df-scan.c (df_ref_record, df_defs_record,
3278 df_ref_create_structure, df_def_record_1, df_uses_record,
3279 df_get_conditional_uses, df_get_call_refs, df_insn_refs_collect,
3280 df_bb_refs_collect, df_entry_block_defs_collect,
3281 df_exit_block_uses_collect): Support new width and offset fields.
3282 (ref_extract_pool): New storage pool.
3283 (df_free_ref): New function.
3284 (df_reg_chain_unlink, df_free_collection_rec,
3285 df_sort_and_compress_refs): Call df_free_ref.
3286 (df_ref_equal_p, df_ref_compare): Compare offset and width fields
3287 of df_ref_extract.
3288 (df_ref_create_structure): Allocate df_ref_extract if offset and
3289 width fields are used.
3290 (df_def_record_1): Get offset and width from ZERO_EXTRACT.
3291 (df_uses_record): Get offset and width from ZERO_EXTRACT
3292 and SIGN_EXTRACT.
3293 * global.c (build_insn_chain): Change DF_REF_EXTRACT to either
3294 DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT. Change
3295 DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
3296 * df.h (df_ref_flags): Change DF_REF_EXTRACT to either
3297 DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT. Change
3298 DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
3299 (df_ref_extract): New structure.
3300 (DF_REF_WIDTH, DF_REF_OFFSET): New macros.
3301 (df_ref_create): Add width and offset parameters.
3302
63d195d5
RG
33032008-03-05 Richard Guenther <rguenther@suse.de>
3304
3305 * tree-ssa-structalias.c (get_constraint_for_component_ref):
3306 Use ranges_overlap_p.
3307 (offset_overlaps_with_access): Rename
3308 to ranges_overlap_p and move ...
3309 * tree-flow-inline.h (ranges_overlap_p): ... here.
3310
3311 * tree.h (get_inner_reference, handled_component_p): Update
3312 comments.
3313
3314 * tree.h (record_component_aliases, get_alias_set,
3315 alias_sets_conflict_p, alias_sets_must_conflict_p,
3316 objects_must_conflict_p): Move declarations ...
3317 * alias.h (record_component_aliases, get_alias_set,
3318 alias_sets_conflict_p, alias_sets_must_conflict_p,
3319 objects_must_conflict_p): ... here.
3320 Include coretypes.h.
3321 * Makefile.in (ALIAS_H): Add coretypes.h dependency.
3322
ea7e6d5a
AH
33232008-03-05 Aldy Hernandez <aldyh@redhat.com>
3324
3325 * cfg.c: Include tree-flow.h.
3326 (remove_edge_raw): Call redirect_edge_var_map_clear.
3327 (redirect_edge_succ_nodup): Call redirect_edge_var_map_dup.
3328 * tree-flow-inline.h (redirect_edge_var_map_def): New.
3329 (redirect_edge_var_map_result): New.
3330 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Replace
3331 PENDING_STMT use with redirect_edge_var_map_*.
3332 * tree-ssa.c (edge_var_maps): New definition.
3333 (redirect_edge_var_map_add): New.
3334 (redirect_edge_var_map_clear): New.
3335 (redirect_edge_var_map_dup): New.
3336 (redirect_edge_var_map_vector): New.
3337 (redirect_edge_var_map_destroy): New.
3338 (ssa_redirect_edge): Replace PENDING_STMT use with
3339 redirect_edge_var_map_*.
3340 (flush_pending_stmts): Same.
3341 (delete_tree_ssa): Destroy edge var map.
3342 * tree-flow.h (struct _edge_var_map): New.
3343 Define edge_var_map vector type.
3344 Declare redirect_edge_var_map_* prototypes.
3345 * Makefile.in (cfg.o): Depend on TREE_FLOW_H.
3346 * tree-cfg.c (reinstall_phi_args): Replace
3347 PENDING_STMT use with redirect_edge_var_map_*.
3348
1bdcf037
RG
33492008-03-05 Richard Guenther <rguenther@suse.de>
3350
3351 PR tree-optimization/35472
3352 * tree-ssa-dse.c (dse_optimize_stmt): Do not delete a store
3353 whose single use_stmt has a overlapping set of loaded and
3354 stored symbols as that use_stmt might be a noop assignment then.
3355
fec5fe47
JS
33562008-03-05 Joel Sherrill <joel.sherrill@oarcorp.com>
3357
3358 * gthr-rtems.h: Implement __gthread_mutex_destroy.
3359
e55f42fb
RG
33602008-03-05 Richard Guenther <rguenther@suse.de>
3361
3362 PR c++/35336
3363 * tree.def (BIT_FIELD_REF): Document that operands 1 and 2
3364 should be constants.
3365 * tree-cfg.c (verify_expr): Verify it.
3366 * fold-const.c (fold_truthop): Remove code generating
3367 BIT_FIELD_REFs of structure bases.
3368 (fold_binary): Likewise.
3369 (fold_ternary): Position and size of BIT_FIELD_REFs are
3370 always host integers.
3371 (make_bit_field_ref): Remove.
3372 (optimize_bit_field_compare): Remove.
3373 (all_ones_mask_p): Remove.
3374
1da266fe
GL
33752008-03-05 Gabor Loki <loki@gcc.gnu.org>
3376
3377 PR gcc/33009
3378 * rtl-factoring.c (clear_regs_live_in_seq): Fix backward steps.
3379 (split_block_and_df_analyze): New. Split basic block and rebuild
3380 dataflow.
3381 (block_label_after): Use SPLIT_BLOCK_AND_DF_ANALYZE instead of
3382 SPLIT_BLOCK.
3383 (split_pattern_seq): Likewise.
3384 (erase_matching_seqs): Likewise.
3385 (split_pattern_seq): Skip return insn in case of REG_NORETURN note.
3386
07c40d0b
GK
33872008-03-04 Geoff Keating <geoffk@apple.com>
3388
3389 * fold-const.c (tree_single_nonnegative_warnv_p): Fix mixed
3390 declaration and code.
3391 (tree_invalid_nonnegative_warnv_p): Likewise.
3392
4c754988
SB
33932008-03-05 Serge Belyshev <belyshev@depni.sinp.msu.ru>
3394
3395 * doc/install.texi (Testing): Correct quoting for the RUNTESTFLAGS
3396 examples. Truncate option-names then causing overfull hbox.
3397
399fe3e1
JDA
33982008-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3399
3400 PR target/35222
3401 * configure.ac (CONFIG_SJLJ_EXCEPTIONS): Force SJLJ exceptions
3402 on hpux10.
3403 * configure: Rebuilt.
3404
e918a58a
RAE
34052008-03-04 Rafael Espindola <espindola@google.com>
3406
3407 * fold-const.c (tree_simple_nonnegative_warnv_p): New.
3408 (tree_unary_nonnegative_warnv_p): New.
3409 (tree_binary_nonnegative_warnv_p): New.
3410 (tree_single_nonnegative_warnv_p): New.
3411 (tree_invalid_nonnegative_warnv_p): New.
3412 (tree_expr_nonnegative_warnv_p): Redefine in term of the new functions.
3413
ee8ea087
MLI
34142008-03-04 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3415
3416 PR 28322
3417 * opts.c (handle_option): Postpone 'unknown option' errors only for
3418 warning options.
3419
b5220972
L
34202008-03-04 H.J. Lu <hongjiu.lu@intel.com>
3421
3422 PR target/35453
3423 * config/i386/smmintrin.h (SIDD_XXX): Renamed to ...
3424 (_SIDD_XXX): This.
3425
74dd418c
RAE
34262008-03-04 Rafael Espindola <espindola@google.com>
3427
3428 * fold-const.c (tree_unary_nonzero_warnv_p): New.
3429 (tree_binary_nonzero_warnv_p): New.
3430 (tree_single_nonzero_warnv_p): New.
3431 (tree_expr_nonzero_warnv_p): Redefine using the new functions.
3432
5ce0e197
UB
34332008-03-04 Uros Bizjak <ubizjak@gmail.com>
3434
3435 PR middle-end/35456
3436 * fold-const.c (fold_cond_expr_with_comparison): Prevent
3437 transformations for modes that have signed zeros.
3438 * ifcvt.c (noce_try_abs): Ditto.
3439
2c7c6f54
JM
34402008-03-04 Joseph Myers <joseph@codesourcery.com>
3441
3442 * config/i386/i386.c (override_options): Force
3443 -maccumulate-outgoing-args on if TARGET_STACK_PROBE.
3444
b7884852
JH
34452008-03-04 Jan Hubicka <jh@suse.cz>
3446
3447 PR c++/35262
3448 * ipa-inline.c (cgraph_decide_inlining_of_small_function): Fix typo
3449 in last commit.
3450
ab65b56b
DS
34512008-03-04 Danny Smith <dannysmith@users.sourceforge.net>
3452
3453 * config/i386/i386.md (allocate_stack_worker_32): Use __chkstk
cd7e0bd4 3454 label to probe the stack.
ab65b56b 3455
c262f705
DS
34562008-03-04 Danny Smith <dannysmith@users.sourceforge.net>
3457
3458 * gthr-win32.h [__GTHREAD_HIDE_WIN32API]
3459 (__gthr_win32_mutex_destroy): Declare.
3460 [__GTHREAD_HIDE_WIN32API] (__gthread_mutex_destroy): Use
3461 __gthr_win32_mutex_destroy.
3462 * config/i386/gthr-win32.c (__gthr_win32_mutex_destroy): Define.
3463
44682fab
JH
34642008-03-03 Jan Hubicka <jh@suse.cz>
3465
3466 PR c++/35262
3467 * ipa-inline.c (cgraph_decide_inlining_of_small_function): Be more
3468 aggressive on inlining cold calls.
3469
9a327766
RG
34702008-03-03 Richard Guenther <rguenther@suse.de>
3471
3472 * tree-ssa-sccvn.c (visit_reference_op_store): Do not insert
3473 struct copies into the expression table.
3474 (simplify_unary_expression): Handle VIEW_CONVERT_EXPR.
3475 (try_to_simplify): Likewise.
3476 * fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPR of
3477 integral and pointer arguments which do not change the
3478 precision to NOP_EXPRs.
3479 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Adjust
3480 VIEW_CONVERT_EXPR case.
3481
6a732743
SP
34822008-03-02 Sebastian Pop <sebastian.pop@amd.com>
3483
3484 * tree-scalar-evolution.c (instantiate_parameters_1): An SSA_NAME
3485 defined in a loop at depth 0 is invariant.
3486 * tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
3487 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Should never
3488 be called at loop depth 0.
3489
0e5997c0
JJ
34902008-03-02 Jakub Jelinek <jakub@redhat.com>
3491
3492 PR driver/35420
3493 * gcc.c (process_command): Update copyright notice dates.
3494 * gcov.c (print_version): Likewise.
3495 * gcov-dump.c (print_version): Likewise.
3496 * mips-tfile.c (main): Likewise.
3497 * mips-tdump.c (main): Likewise.
3498
393eda6a
MLI
34992008-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3500
3501 PR 24924
3502 * c-common.c (flag_permissive): Delete.
3503 (constant_expression_warnings): Check flags first.
3504 (constant_expression_error): New.
3505 * c-common.h (flag_permissive): Delete.
3506 (constant_expression_error): Declare.
3507 * flags.h (flag_permissive): Declare. Update description.
3508 * diagnostic.c (pedwarn): Update.
3509 (permerror): New.
3510 * diagnostic.h: (pedantic_error_kind): Rename as pedantic_warning_kind.
3511 (permissive_error_kind): New.
3512 * toplev.c (flag_permissive): Define. Update description.
3513 * toplev.h (permissive_error_kind): Declare.
3514 * c-errors.c (pedwarn_c99): Use pedantic_warning_kind.
3515 (pedwarn_c90): Use pedantic_warning_kind.
3516 * c-opts.c (c_common_post_options): flag_permissive does not affect
3517 flag_pedantic_errors.
3518
9677aa89
JM
35192008-03-02 Joseph Myers <joseph@codesourcery.com>
3520
3521 * libgcc2.c (__addvSI3, __addvsi3, __addvDI3, __subvSI3,
3522 __subvsi3, __subvDI3, __negvSI2, __negvsi2, __negvDI2, __absvSI2,
3523 __absvsi2, __absvDI2): Use unsigned arithmetic.
3524
f3130d75 35252008-03-02 Andi Kleen <ak@suse.de>
ab669042 3526 Richard Guenther <rguenther@suse.de>
f3130d75
AK
3527
3528 * struct-equiv.c: Remove file.
3529 * cfg_cleanup.c (condjump_equiv_p): Remove.
3530 * Makefile.in (OBJS-common): Remove struct-equiv.o.
3531 (struct-equiv.o): Remove rule.
3532 * basic-block.h (struct_equiv_checkpoint, STRUCT_EQUIV_*,
3533 insns_match_p, struct_equiv_block_eq, struct_equiv_init,
3534 rtx_equiv_p, condjump_equiv_p): Remove prototypes.
3535
89c3cbc6
AO
35362008-03-01 Alexandre Oliva <aoliva@redhat.com>
3537
3538 * ifcvt.c (noce_process_if_block): Try to handle only the then
3539 block if the else block exists but isn't suitable.
3540
5eb4a9af
JB
35412008-03-01 Janne Blomqvist <jb@gcc.gnu.org>
3542
3543 PR gcc/35063
3544 * gthr-posix.h (__gthread_mutex_destroy): Remove extra declarations.
3545 * gthr-posix95.h (__gthread_mutex_destroy): Likewise. Note this fixes
3546 regression from previous patch.
3547
4dabf736
JB
35482008-03-01 Janne Blomqvist <jb@gcc.gnu.org>
3549
3550 PR gcc/35063
3551 * gthr.h: Add __gthread_mutex_destroy as a function that must be
3552 implemented.
3553 * gthr-vxworks.h (__gthread_mutex_destroy): Null implementation.
3554 * gthr-single.h (__gthread_mutex_destroy): Likewise.
3555 * gthr-rtems.h (__gthread_mutex_destroy): Likewise.
3556 * gthr-mipssde.h (__gthread_mutex_destroy): Likewise.
3557 * gthr-nks.h (__gthread_mutex_destroy): Likewise.
3558 * gthr-solaris.h (__gthread_mutex_destroy): Call mutex_destroy.
3559 * gthr-win32.h (__GTHREAD_MUTEX_DESTROY_FUNCTION): Remove.
3560 (__gthread_mutex_destroy_function): Rename to
3561 __gthread_mutex_destroy.
3562 * gthr-dce.h (__gthread_mutex_destroy): Call
3563 pthread_mutex_destroy.
3564 * gthr-tpf.h (__gthread_mutex_destroy): Likewise.
3565 * gthr-posix.h (__gthread_mutex_destroy): Likewise.
3566 * gthr-posix95.h (__gthread_mutex_destroy): Likewise.
3567
63642d5a
AO
35682008-03-01 Alexandre Oliva <aoliva@redhat.com>
3569
3570 * df-scan.c (df_ref_chain_change_bb): Simplify.
3571 (df_insn_change_bb): Add new_bb argument. Simplify. Call
3572 set_block_for_insn if there's any change.
3573 * df.h ((df_insn_change_bb): Fix prototype.
3574 * cfgrtl.c (update_bb_for_insn_chain): Pass bb to
3575 df_insn_change_bb, don't call set_block_for_insn.
3576 * emit-rtl.c (reorder_insns): Likewise.
3577 * haifa-sched.c (move_insn): Likewise.
3578
e0651058
AO
35792008-03-01 Alexandre Oliva <aoliva@redhat.com>
3580
3581 * rtlanal.c (loc_mentioned_in_p): Test XVECEXPs correctly.
3582
d2b6be72
AO
35832008-03-01 Alexandre Oliva <aoliva@redhat.com>
3584
3585 * tree-flow-inline.h (next_readonly_imm_use): Return
3586 NULL_USE_OPERAND_P after the end.
3587
2fb5f2af
RG
35882008-03-01 Richard Guenther <rguenther@suse.de>
3589
3590 PR tree-optimization/35411
3591 * tree-sra.c (sra_build_assignment): Split conversion to
3592 final type to a separate statement if we are not assigning
3593 to a register.
3594
c17ee676
FXC
35952008-02-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
3596
3597 * fold-const.c (fold_convertible_p): Correct the logic to follow
3598 that in fold_convert().
3599
f31c9f09
DG
36002008-02-29 Douglas Gregor <doug.gregor@gmail.com>
3601
3602 PR c++/35315
3603 * tree-inline.c (build_duplicate_type): When we make a
3604 duplicate type, make it unique in the canonical types system.
3605
966e8f4d
TT
36062008-02-29 Tom Tromey <tromey@redhat.com>
3607
3608 * toplev.c (input_file_stack, input_file_stack_tick, fs_p,
3609 input_file_stack_history, input_file_stack_restored): Remove.
3610 (push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
3611 * input.h (struct file_stack): Remove.
3612 (push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
3613 (input_file_stack, input_file_stack_tick, INPUT_FILE_STACK_BITS):
3614 Likewise.
3615 * diagnostic.h (struct diagnostic_context) <last_module>: Change
3616 type.
3617 (diagnostic_last_module_changed): Add 'map' argument.
3618 (diagnostic_set_last_function): Likewise.
3619 * diagnostic.c (undiagnostic_report_current_module): Iterate using
3620 line map, not input_file_stack.
3621 * c-lex.c (fe_file_change): Don't use push_srcloc or pop_srcloc.
3622
3cbe0ba6
PB
36232008-02-29 Paul Brook <paul@codesourcery.com>
3624
3625 * config/arm/arm.md (arm_addsi3): Add r/k/n alternative.
3626
d96ae4d4
PB
36272008-02-29 Paul Brook <paul@codesourcery.com>
3628
3629 * config/arm/ieee754-df.S (muldf3): Use RET macros.
3630
5be891a4
RG
36312008-02-29 Richard Guenther <rguenther@suse.de>
3632
3633 * tree-ssa-pre.c (get_sccvn_value): Create missing VNs via
3634 vn_lookup_or_add.
3635 * tree-ssa-sccnv.c (visit_reference_op_store): Use the rhs
3636 value for comparing for a store match.
3637 (simplify_unary_expression): Do nothing for SSA_NAMEs.
3638 (try_to_simplify): Do not do a full-blown reference lookup.
3639
b0fbea13
KK
36402008-02-29 Kaz Kojima <kkojima@gcc.gnu.org>
3641
3642 * config/sh/sh.c (sh_scalar_mode_supported_p): New function.
3643 (TARGET_SCALAR_MODE_SUPPORTED_P): Define.
3644
3645 * config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling.
3646
0c96231b
SP
36472008-02-29 Sebastian Pop <sebastian.pop@amd.com>
3648
3649 * tree-loop-linear.c (try_interchange_loops): Compare memory access
3650 strides against cache sizes.
3651
d973ac5a
KK
36522008-02-29 Kaz Kojima <kkojima@gcc.gnu.org>
3653
3654 * config/sh/sh.c (sh_secondary_reload): Handle loading a float
3655 constant to fpul.
3656
4613543f
RS
36572008-02-28 Richard Sandiford <rsandifo@nildram.co.uk>
3658
3659 * simplify-rtx.c (simplify_unary_operation_1): Extend the handling
3660 of SUBREG_PROMOTED_VAR_P to cope with cases where the extended value
3661 is smaller than the original promoted value.
3662 (simplify_subreg): If OP is a SUBREG, try to preserve its
3663 SUBREG_PROMOTED_VAR_P information.
3664
cbfb21c1
SB
36652008-02-28 Steven Bosscher <stevenb.gcc@gmail.com>
3666
3667 * tree-ssa-sccvn (vn_ssa_aux_obstack): New obstack.
3668 (VN_INFO_GET): Allocate new objects on the obstack.
3669 (init_scc_vn): Initialize the obstack. Use XDELETE instead of free
3670 for rpo_numbers_temp, for consistency.
3671 (free_scc_vn): Free the obstack.
3672
dea61d92
SP
36732008-02-28 Sebastian Pop <sebastian.pop@amd.com>
3674
3675 * doc/invoke.texi: Document -ftree-loop-distribution.
3676 * tree-loop-distribution.c: New.
3677 * tree-pass.h (pass_loop_distribution): New.
3678 * graphds.h (struct graph): Add htab_t indices.
3679 * timevar.def (TV_TREE_LOOP_DISTRIBUTION): New.
3680 * tree-vectorizer.c (rename_variables_in_loop): Extern.
3681 (slpeel_tree_duplicate_loop_to_edge_cfg): Init PENDING_STMT to NULL.
3682 * tree-vectorizer.h (tree_duplicate_loop_on_edge): Declared.
3683 * tree-data-ref.c (debug_data_dependence_relations): New.
3684 (dump_data_dependence_relation): Also print data references.
3685 (free_data_ref): Extern.
3686 (same_access_functions): Moved...
3687 (find_vertex_for_stmt): Renamed rdg_vertex_for_stmt.
3688 (dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
3689 debug_rdg_component, dump_rdg, debug_rdg, dot_rdg_1, dot_rdg,
3690 struct rdg_vertex_info, rdg_vertex_for_stmt): New.
3691 (create_rdg_edge_for_ddr, create_rdg_vertices): Cleaned up.
3692 (stmts_from_loop): Skip LABEL_EXPR.
5ce0e197
UB
3693 (hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del):
3694 New.
dea61d92
SP
3695 (build_rdg): Initialize rdg->indices htab.
3696 (free_rdg, stores_from_loop, ref_base_address,
3697 rdg_defs_used_in_other_loops_p, have_similar_memory_accesses,
3698 have_similar_memory_accesses_1, ref_base_address_1,
3699 remove_similar_memory_refs): New.
3700 * tree-data-ref.h: Depend on tree-chrec.h.
3701 (debug_data_dependence_relations, free_data_ref): Declared.
3702 (same_access_functions): ... here.
5ce0e197
UB
3703 (ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level):
3704 New.
dea61d92
SP
3705 (struct rdg_vertex): Add has_mem_write and has_mem_reads.
3706 (RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT,
3707 RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT): New.
3708 (dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
3709 debug_rdg_component, dump_rdg, debug_rdg, dot_rdg,
3710 rdg_vertex_for_stmt): Declared.
3711 (struct rdg_edge): Add level.
3712 (RDGE_LEVEL): New.
3713 (free_rdg, stores_from_loop, remove_similar_memory_refs,
5ce0e197
UB
3714 rdg_defs_used_in_other_loops_p, have_similar_memory_accesses):
3715 Declared.
dea61d92
SP
3716 (rdg_has_similar_memory_accesses): New.
3717 * tree-vect-analyze.c: Remove unused static decls.
3718 * lambda.h (dependence_level): New.
3719 * common.opt (ftree-loop-distribution): New.
3720 * tree-flow.h (mark_virtual_ops_in_bb,
3721 slpeel_tree_duplicate_loop_to_edge_cfg,
3722 rename_variables_in_loop): Declared.
3723 * Makefile.in (TREE_DATA_REF_H): Depend on tree-chrec.h.
3724 (OBJS-common): Add tree-loop-distribution.o.
3725 (tree-loop-distribution.o): New rule.
3726 * tree-cfg.c (mark_virtual_ops_in_bb): New.
3727 (mark_virtual_ops_in_region): Use mark_virtual_ops_in_bb.
3728 * passes.c (init_optimization_passes): Schedule pass_loop_distribution.
3729
dde75838
JM
37302008-02-28 Joseph Myers <joseph@codesourcery.com>
3731
3732 PR target/33963
3733 * tree.c (handle_dll_attribute): Disallow TYPE_DECLs for types
3734 other than structures and unions.
3735
3b302421
RG
37362008-02-28 Richard Guenther <rguenther@suse.de>
3737
3738 Revert:
3739 2008-02-26 Richard Guenther <rguenther@suse.de>
3740
3741 * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
3742 * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
3743 (lookup_decl_from_uid): Declare.
3744 (remove_decl_from_map): Likewise.
3745 * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
3746 * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
3747 (decl_for_uid_map): New global hashtable mapping DECL_UID
3748 to the decl tree.
3749 (init_ttree): Allocate it.
3750 (insert_decl_to_uid_decl_map): New helper function.
3751 (make_node_stat): Insert new decls into the map.
3752 (copy_node_stat): Likewise.
3753 (lookup_decl_from_uid): New function.
3754 (remove_decl_from_map): Likewise.
3755 (print_decl_for_uid_map_statistics): New helper.
3756 (dump_tree_statistics): Call it.
3757
3758 * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
3759 (referenced_var_iterator): Adjust.
3760 (FOR_EACH_REFERENCED_VAR): Adjust.
3761 (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
3762 (num_referenced_vars): Adjust.
3763 * tree-flow-inline.h (gimple_referenced_vars): Adjust.
3764 (first_referenced_var): Remove.
3765 (end_referenced_vars_p): Likewise.
3766 (next_referenced_var): Likewise.
3767 (referenced_var_iterator_set): New helper function.
3768 * tree-dfa.c (referenced_var_lookup): Adjust.
3769 (referenced_var_check_and_insert): Likewise.
3770 (remove_referenced_var): Likewise.
3771 * tree-ssa.c (verify_flow_insensitive_alias_info): Use
3772 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
3773 (verify_call_clobbering): Likewise.
3774 (verify_memory_partitions): Likewise.
3775 (init_tree_ssa): Allocate bitmap instead of hashtable for
3776 referenced_vars.
3777 (delete_tree_ssa): Adjust.
3778 * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
3779 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
3780 (compute_tag_properties): Likewise.
3781 (set_initial_properties): Likewise.
3782 (find_partition_for): Likewise.
3783 (update_reference_counts): Likewise.
3784 (dump_may_aliases_for): Likewise.
3785 * tree-ssa-operands.c (add_virtual_operand): Likewise.
3786 (add_call_clobber_ops): Likewise.
3787 (add_call_read_ops): Likewise.
3788 (get_asm_expr_operands): Likewise.
3789 * tree-into-ssa.c (dump_decl_set): Likewise.
3790 (update_ssa): Likewise.
3791 * tree-sra.c (scan_function): Likewise.
3792 (decide_instantiations): Likewise.
3793 (scalarize_parms): Likewise.
3794 * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
3795 (dsa_named_for): Likewise.
3796 * tree-ssa-structalias.c (update_alias_info): Likewise.
3797 (merge_smts_into): Likewise.
3798
2a1ed4fc
DD
37992008-02-27 David Daney <ddaney@avtrex.com>
3800
3801 PR target/34409
3802 * config/mips/iris.h (MIPS_DEBUGGING_INFO): Define.
3803 * config/mips/openbsd.h (MIPS_DEBUGGING_INFO): Same.
3804 * config/mips/sde.h (MIPS_DEBUGGING_INFO): Remove undef.
3805 * config/mips/vxworks.h (MIPS_DEBUGGING_INFO): Same.
3806 * config/mips/mips.h (MIPS_DEBUGGING_INFO): Remove define.
3807
c92712d1
UB
38082008-02-27 Uros Bizjak <ubizjak@gmail.com>
3809
3810 PR target/25477
3811 * config/darwin-ppc-ldouble-patch.def (BUILT_IN_NANL): Add.
3812 (BUILT_IN_NEXTTOWARD): Remove.
3813 (BUILT_IN_NEXTTOWARDF): Ditto.
3814 * config/darwin.c (darwin_patch_builtin): Use ACONCAT instead of
3815 alloca/strcpy/strcat. Remove commented-out code. Fix whitespace.
3816
a8bafc43
TT
38172008-02-27 Tom Tromey <tromey@redhat.com>
3818
3819 * tree-dump.c (dequeue_and_dump) <FUNCTION_DECL>: Check
3820 DECL_SAVED_TREE, not DECL_LANG_SPECIFIC, when dumping body.
3821
8220334a
JB
38222008-02-27 Jan Beulich <jbeulich@novell.com>
3823
3824 * c-decl.c (merge_decls): Use DECL_USER_ALIGN() on olddecl to
3825 update the respective field on newdecl.
3826
8bf6e270
RE
38272008-02-27 Revital Eres <eres@il.ibm.com>
3828
3829 PR rtl-optimization/34999
3830 * bb-reorder.c (add_labels_and_missing_jumps): Do not handle
3831 crossing edges that ends with a call insn.
3832 (fix_up_fall_thru_edges): Handle crossing edges that ends with a
3833 call insn and clear the EDGE_CROSSING flag of the crossing edge
3834 when fixing fallthru edges.
3835
7fb52af2
RG
38362008-02-27 Richard Guenther <rguenther@suse.de>
3837
3b302421 3838 PR middle-end/35390
7fb52af2
RG
3839 * fold-const.c (fold_unary): Return the correct argument,
3840 converted to the result type.
3841
70582b3a
RG
38422008-02-27 Richard Guenther <rguenther@suse.de>
3843
3844 PR middle-end/34971
3845 * expr.c (expand_expr_real_1): Assert on rotates that operate
3846 on partial modes.
3847 * fold-const.c (fold_binary): Use the types precision, not the
3848 bitsize of the mode if folding rotate expressions. Build rotates
3849 only for full modes.
3850
a25a8f3b
JJ
38512008-02-27 Jakub Jelinek <jakub@redhat.com>
3852
3853 * c-ppoutput.c (scan_translation_unit): Handle CPP_PRAGMA
3854 and CPP_PRAGMA_EOL.
3855 * c-pragma.c (pragma_ns_name): New typedef.
3856 (registered_pp_pragmas): New variable.
3857 (c_pp_lookup_pragma): New function.
3858 (c_register_pragma_1): If flag_preprocess_only, do nothing
3859 for non-expanded pragmas, for expanded ones push pragma's
3860 namespace and name into registered_pp_pragmas vector.
3861 (c_invoke_pragma_handler): Register OpenMP pragmas even when
3862 flag_preprocess_only, don't register GCC pch_preprocess
3863 pragma if flag_preprocess_only.
3864 * c-opts.c (c_common_init): Call init_pragma even if
3865 flag_preprocess_only.
3866 * c-pragma.c (c_pp_lookup_pragma): New prototype.
3867 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Don't call
3868 cpp_register_pragma if flag_preprocess_only.
3869
369239ef
RW
38702008-02-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3871
3872 PR c/28800
3873 * c-parser.c (c_parser_translation_unit): Warn for empty
3874 translation unit, not empty source file.
3875
f5c630c3
PB
38762008-02-26 Paul Brook <paul@codesourcery.com>
3877
3878 * config/arm/arm.c (thumb_set_frame_pointer): Ensure SP is first
3879 operand for Thumb-2.
3880 * config/arm/arm.h (reg_class): Add CORE_REGS.
3881 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Ditto.
3882 (BASE_REG_CLASS): Use CORE_REGS.
3883 (PREFERRED_RELOAD_CLASS): Add STACK_REG.
3884 (REGNO_MODE_OK_FOR_REG_BASE_P): Use REGNO_MODE_OK_FOR_BASE_P.
3885 (REGNO_OK_FOR_INDEX_P): Exclude SP.
3886 (ARM_REG_OK_FOR_INDEX_P): Always define. Use
3887 ARM_REGNO_OK_FOR_INDEX_P.
3888 (ARM_PRINT_OPERAND_ADDRESS): Swap operands for [reg, sp].
3889 * config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn,
3890 arm_movsi_insn, thumb1_movsi_insni, stack_tie): Add "k" alternatives.
3891 (ldm/stm peepholes): Ditto.
3892 * config/arm/thumb2.md (thumb2_movdi): Add "k" alternatives.
3893 * config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp): Ditto.
3894 * config/arm/iwmmxt.md (iwmmxt_movsi_insn): Ditto.
3895 * config/arm/constraints.md: Enable "k" constraint on ARM.
3896
0d158b6e
BE
38972008-02-27 Ben Elliston <bje@au.ibm.com>
3898
3899 * config/rs6000/rs6000.c: Annotate cache line size field in all
3900 instances of struct processor_costs.
3901
7d817ebc
DE
39022008-02-26 David Edelsohn <edelsohn@gnu.org>
3903
3904 * dbgcnt.def (cfg_cleanup, cprop1, cprop2, dce_fast, dce_ud, dse1,
3905 dse2, gcse, if_conversion, if_after_combine, if_after_reload,
3906 jump_bypass): New counters.
3907 * cfgcleanup.c (cleanup_cfg): Add dbg_cnt.
3908 * dce.c (gate_ud_dce): Same.
3909 (gate_fast_dce): Same.
3910 * dse.c (gate_dse1): New function.
3911 (gate_dse2): New function.
3912 (gate_dse): Merge results of new gate functions.
3913 * gcse.c (gcse_main): Bracket cprop1 and cprop2 with dbg_cnt.
3914 (gate_handle_jump_bypass): Add dbg_cnt.
3915 (gate_handle_gcse): Add dbg_cnt.
3916 * ifcvt.c (gate_handle_if_conversion): Same.
3917 (gate_handle_if_after_combine): Same.
3918 (gate_handle_if_after_reload): Same.
3919 * Makefile.in: Add DBGCNT_H to cfgcleanup.o and ifcvt.o.
3920
a19b7d46
EW
39212008-02-26 Edmar Wienskoski <edmar@freescale.com>
3922
3923 * config/rs6000/rs6000.c (processor_costs): Update e300 cache
3924 line sizes.
3925 * doc/invoke.texi: Add e300c2 and e300c3 to list of cpus.
3926
317c435f
JM
39272008-02-26 Jason Merrill <jason@redhat.com>
3928
3929 PR c++/35315
3930 * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE
3931 alone if it's the naming decl for the type's main variant.
3932
2d593c86
TT
39332008-02-26 Tom Tromey <tromey@redhat.com>
3934
3935 * system.h (USE_MAPPED_LOCATION): Poison.
3936 * Makefile.in (GTFILES): Put CPP_ID_DATA_H first.
3937 * tree-cfg.c (make_cond_expr_edges): Remove old location code.
3938 (make_goto_expr_edges): Likewise.
3939 (remove_bb): Likewise.
3940 (execute_warn_function_return): Likewise.
3941 * basic-block.h (struct edge_def) <goto_locus>: Change type to
3942 location_t.
3943 * c-common.c (fname_decl): Remove old location code.
3944 * tree-vect-transform.c (vect_finish_stmt_generation): Remove old
3945 location code.
3946 * rtl.h (ASM_OPERANDS_SOURCE_LOCATION): Remove old-location
3947 variant.
3948 (ASM_INPUT_SOURCE_LOCATION): Likewise.
3949 (gen_rtx_ASM_INPUT): Likewise.
3950 (gen_rtx_ASM_INPUT_loc): Likewise.
3951 (get_rtx_asm_OPERANDS): Remove.
3952 * cfglayout.c (insn_locators_alloc): Remove old location code.
3953 (set_curr_insn_source_location): Likewise.
3954 (curr_insn_locator): Likewise.
3955 * print-tree.c (print_node): Remove old location code.
3956 * tree-mudflap.c (mf_varname_tree): Remove old location code.
3957 (mf_file_function_line_tree): Remove test of USE_MAPPED_LOCATION.
3958 * cfgexpand.c (expand_gimple_cond_expr): Don't use
3959 location_from_locus.
3960 (construct_exit_block): Remove old location code.
3961 * emit-rtl.c (force_next_line_note): Remove old location code.
3962 * profile.c (branch_prob): Remove old location code.
3963 * tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
3964 LOC_LINE): Remove old-location variants.
3965 * langhooks.c (lhd_print_error_function): Remove old location
3966 code.
3967 * configure, config.in: Rebuilt.
3968 * configure.ac (--enable-mapped-location): Remove.
3969 * c-decl.c (c_init_decl_processing): Remove old location code.
3970 (finish_function): Likewise.
3971 * recog.c (decode_asm_operands): Remove old location code.
3972 * c-pch.c (c_common_read_pch): Remove old location code.
3973 * rtl.def (ASM_INPUT, ASM_OPERANDS): Remove old location
3974 variants.
3975 * gimple-low.c (lower_function_body): Remove old location code.
3976 * toplev.c (unknown_location): Remove.
3977 (push_srcloc): Remove old-location variant.
3978 (process_options): Remove old location code.
3979 (lang_dependent_init): Likewise.
3980 * input.h (UNKNOWN_LOCATION): Move definition.
3981 (location_t): Undeprecate.
3982 (source_locus): Remove.
3983 (location_from_locus): Remove.
3984 (struct location_s): Remove.
3985 Remove all old-location code.
3986 (input_line, input_filename): Remove.
3987 * final.c (final_scan_insn): Remove old location code.
3988 * diagnostic.c (diagnostic_build_prefix): Remove
3989 USE_MAPPED_LOCATION test.
3990 * tree.h (gimple_stmt) <locus>: Now a location_t.
3991 (tree_exp) <locus>: Likewise.
3992 (DECL_IS_BUILTIN): Remove old-location variant.
3993 (annotate_with_file_line, annotate_with_locus): Likewise.
3994 (expr_locus, set_expr_locus): Update.
3995 * tree.c (build1_stat): Remove old location code.
3996 (last_annotated_node): Remove.
3997 (annotate_with_file_line): Remove old-location variant.
3998 (annotate_with_locus): Likewise.
3999 (expr_location): Remove old location code.
4000 (set_expr_location): Likewise.
4001 (expr_has_location): Likewise.
4002 (expr_locus): Likewise.
4003 (set_expr_locus): Likewise.
4004 (expr_filename): Don't use location_from_locus.
4005 (expr_lineno): Likewise.
4006 * rtl-error.c (location_for_asm): Remove old location code.
4007 * c-lex.c (cb_line_change): Remove old location code.
4008 (fe_file_change): Likewise.
4009 (cb_def_pragma): Likewise.
4010 (c_lex_with_flags): Likewise.
4011 * gengtype.c (do_typedef): Don't special-case location types.
4012 (define_location_structures): Remove.
4013 (main): Don't call define_location_structures.
4014 * tree-pretty-print.c (dump_implicit_edges): Remove old location
4015 code.
4016
4f01eeb4
MLI
40172008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4018
cd7e0bd4 4019 PR 26264
4f01eeb4
MLI
4020 * builtins.def (BUILT_IN_STDARG_START): Remove.
4021 * builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START.
4022 * tree-stdarg.c (execute_optimize_stdarg): Likewise.
4023 * tree-inline.c (inline_forbidden_p_1): Likewise.
4024
bbd59cf4
RG
40252008-02-26 Richard Guenther <rguenther@suse.de>
4026
4027 * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
4028 * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
4029 (lookup_decl_from_uid): Declare.
4030 (remove_decl_from_map): Likewise.
4031 * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
4032 * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
4033 (decl_for_uid_map): New global hashtable mapping DECL_UID
4034 to the decl tree.
4035 (init_ttree): Allocate it.
4036 (insert_decl_to_uid_decl_map): New helper function.
4037 (make_node_stat): Insert new decls into the map.
4038 (copy_node_stat): Likewise.
4039 (lookup_decl_from_uid): New function.
4040 (remove_decl_from_map): Likewise.
4041 (print_decl_for_uid_map_statistics): New helper.
4042 (dump_tree_statistics): Call it.
4043
4044 * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
4045 (referenced_var_iterator): Adjust.
4046 (FOR_EACH_REFERENCED_VAR): Adjust.
4047 (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
4048 (num_referenced_vars): Adjust.
4049 * tree-flow-inline.h (gimple_referenced_vars): Adjust.
4050 (first_referenced_var): Remove.
4051 (end_referenced_vars_p): Likewise.
4052 (next_referenced_var): Likewise.
4053 (referenced_var_iterator_set): New helper function.
4054 * tree-dfa.c (referenced_var_lookup): Adjust.
4055 (referenced_var_check_and_insert): Likewise.
4056 (remove_referenced_var): Likewise.
4057 * tree-ssa.c (verify_flow_insensitive_alias_info): Use
4058 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
4059 (verify_call_clobbering): Likewise.
4060 (verify_memory_partitions): Likewise.
4061 (init_tree_ssa): Allocate bitmap instead of hashtable for
4062 referenced_vars.
4063 (delete_tree_ssa): Adjust.
4064 * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
4065 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
4066 (compute_tag_properties): Likewise.
4067 (set_initial_properties): Likewise.
4068 (find_partition_for): Likewise.
4069 (update_reference_counts): Likewise.
4070 (dump_may_aliases_for): Likewise.
4071 * tree-ssa-operands.c (add_virtual_operand): Likewise.
4072 (add_call_clobber_ops): Likewise.
4073 (add_call_read_ops): Likewise.
4074 (get_asm_expr_operands): Likewise.
4075 * tree-into-ssa.c (dump_decl_set): Likewise.
4076 (update_ssa): Likewise.
4077 * tree-sra.c (scan_function): Likewise.
4078 (decide_instantiations): Likewise.
4079 (scalarize_parms): Likewise.
4080 * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
4081 (dsa_named_for): Likewise.
4082 * tree-ssa-structalias.c (update_alias_info): Likewise.
4083 (merge_smts_into): Likewise.
4084
16302daf
MLI
40852008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4086
4087 PR 34351
4088 * doc/invoke.texi (-Wall): Add -Wvolatile-register-var.
4089 * c-opts.c (c_common_handle_option): Wall enables
4090 Wvolatile-register-var.
4091 * common.opt: Move Wvolatile-register-var to...
4092 * c.opt: ...here.
4093
e8fc888d
MLI
40942008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4095
4096 * common.opt (Wlarger-than=): New.
4097 * doc/invoke.texi (Warning Options): Replace -Wlarger-than- with
4098 -Wlarger-than=.
4099 * opts.c (common_handle_option): Handle -Wlarger-than=.
4100 * optc-gen.awk: Likewise.
4101 * opth-gen.awk: Likewise.
4102 * stor-layout.c (layout_decl): Use -Wlarger-than= for warning.
4103 * tree-optimize.c (tree_rest_of_compilation): Likewise.
4104
683d6ff9
MLI
41052008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4106
4107 * c-common.c (match_case_to_enum_1): Add appropriate
4108 OPT_W* parameter to warning.
4109 (c_do_switch_warnings): Likewise.
4110 * c-typeck.c (warning_init): Add one more parameter following
4111 'warning' function.
4112 (push_init_level): Update call to warning_init.
4113 (pop_init_level): Likewise.
4114 (add_pending_init): Likewise.
4115 (output_init_element: Likewise.
4116
369dcbd9
MLI
41172008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4118
4119 PR 28322
4120 * toplev.c (toplev_main): If there are warnings or error, print
4121 errors for ignored options.
4122 * opts.c (ignored_options): New static variable.
4123 (postpone_unknown_option_error): New.
4124 (print_ignored_options): New.
4125 (handle_option): Postpone errors for unknown -Wno-* options.
4126 * opts.h (print_ignored_options): Declare.
4127
23dc794c
RS
41282008-02-25 Richard Sandiford <rsandifo@nildram.co.uk>
4129
4130 * config/mips/mips.md (loadgp_blockage, blockage): Change type
4131 to "ghost".
4132
381a258b
RG
41332008-02-25 Richard Guenther <rguenther@suse.de>
4134
4135 Revert:
4136 2008-02-25 Richard Guenther <rguenther@suse.de>
4137
4138 * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
4139 * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
4140 (lookup_decl_from_uid): Declare.
4141 * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
4142 * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
4143 (decl_for_uid_map): New global hashtable mapping DECL_UID
4144 to the decl tree.
4145 (init_ttree): Allocate it.
4146 (insert_decl_to_uid_decl_map): New helper function.
4147 (make_node_stat): Insert new decls into the map.
4148 (copy_node_stat): Likewise.
4149 (lookup_decl_from_uid): New function.
4150 (print_decl_for_uid_map_statistics): New helper.
4151 (dump_tree_statistics): Call it.
4152
4153 * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
4154 (referenced_var_iterator): Adjust.
4155 (FOR_EACH_REFERENCED_VAR): Adjust.
4156 (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
4157 (num_referenced_vars): Adjust.
4158 * tree-flow-inline.h (gimple_referenced_vars): Adjust.
4159 (first_referenced_var): Remove.
4160 (end_referenced_vars_p): Likewise.
4161 (next_referenced_var): Likewise.
4162 (referenced_var_iterator_set): New helper function.
4163 * tree-dfa.c (referenced_var_lookup): Adjust.
4164 (referenced_var_check_and_insert): Likewise.
4165 (remove_referenced_var): Likewise.
4166 * tree-ssa.c (verify_flow_insensitive_alias_info): Use
4167 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
4168 (verify_call_clobbering): Likewise.
4169 (verify_memory_partitions): Likewise.
4170 (init_tree_ssa): Allocate bitmap instead of hashtable for
4171 referenced_vars.
4172 (delete_tree_ssa): Adjust.
4173 * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
4174 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
4175 (compute_tag_properties): Likewise.
4176 (set_initial_properties): Likewise.
4177 (find_partition_for): Likewise.
4178 (update_reference_counts): Likewise.
4179 (dump_may_aliases_for): Likewise.
4180 * tree-ssa-operands.c (add_virtual_operand): Likewise.
4181 (add_call_clobber_ops): Likewise.
4182 (add_call_read_ops): Likewise.
4183 (get_asm_expr_operands): Likewise.
4184 * tree-into-ssa.c (dump_decl_set): Likewise.
4185 (update_ssa): Likewise.
4186 * tree-sra.c (scan_function): Likewise.
4187 (decide_instantiations): Likewise.
4188 (scalarize_parms): Likewise.
4189 * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
4190 (dsa_named_for): Likewise.
4191 * tree-ssa-structalias.c (update_alias_info): Likewise.
4192 (merge_smts_into): Likewise.
4193
89453ec7
JB
41942008-02-25 Janne Blomqvist <jb@gcc.gnu.org>
4195
4196 PR fortran/29549
4197 * doc/invoke.texi (-fcx-limited-range): Document new option.
4198 * toplev.c (process_options): Handle -fcx-fortran-rules.
cd7e0bd4 4199 * common.opt: Add documentation for -fcx-fortran-rules.
89453ec7 4200
8cc6d3e0
JB
42012008-02-25 Janne Blomqvist <jb@gcc.gnu.org>
4202
4203 PR c/35162
4204 * doc/invoke.texi (-fcx-limited-range): Correct to be in line with
4205 actual behaviour and C99.
4206
cd679487
BE
42072008-02-26 Ben Elliston <bje@au.ibm.com>
4208
4209 * config/rs6000/rs6000.h (ASM_CPU_POWER5_SPEC): Define.
4210 (ASM_CPU_POWER6_SPEC): Likewise.
4211 (ASM_CPU_SPEC): Pass %(asm_cpu_power5) for -mcpu=power5.
4212 Likewise, pass %(asm_cpu_power6) for -mcpu=power6.
4213 (EXTRA_SPECS): Add asm_cpu_power5, asm_cpu_power6 spec strings.
4214
7660c722
RG
42152008-02-25 Richard Guenther <rguenther@suse.de>
4216
4217 * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
4218 * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
4219 (lookup_decl_from_uid): Declare.
4220 * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
4221 * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
4222 (decl_for_uid_map): New global hashtable mapping DECL_UID
4223 to the decl tree.
4224 (init_ttree): Allocate it.
4225 (insert_decl_to_uid_decl_map): New helper function.
4226 (make_node_stat): Insert new decls into the map.
4227 (copy_node_stat): Likewise.
4228 (lookup_decl_from_uid): New function.
4229 (print_decl_for_uid_map_statistics): New helper.
4230 (dump_tree_statistics): Call it.
4231
4232 * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
4233 (referenced_var_iterator): Adjust.
4234 (FOR_EACH_REFERENCED_VAR): Adjust.
4235 (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
4236 (num_referenced_vars): Adjust.
4237 * tree-flow-inline.h (gimple_referenced_vars): Adjust.
4238 (first_referenced_var): Remove.
4239 (end_referenced_vars_p): Likewise.
4240 (next_referenced_var): Likewise.
4241 (referenced_var_iterator_set): New helper function.
4242 * tree-dfa.c (referenced_var_lookup): Adjust.
4243 (referenced_var_check_and_insert): Likewise.
4244 (remove_referenced_var): Likewise.
4245 * tree-ssa.c (verify_flow_insensitive_alias_info): Use
4246 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
4247 (verify_call_clobbering): Likewise.
4248 (verify_memory_partitions): Likewise.
4249 (init_tree_ssa): Allocate bitmap instead of hashtable for
4250 referenced_vars.
4251 (delete_tree_ssa): Adjust.
4252 * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
4253 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
4254 (compute_tag_properties): Likewise.
4255 (set_initial_properties): Likewise.
4256 (find_partition_for): Likewise.
4257 (update_reference_counts): Likewise.
4258 (dump_may_aliases_for): Likewise.
4259 * tree-ssa-operands.c (add_virtual_operand): Likewise.
4260 (add_call_clobber_ops): Likewise.
4261 (add_call_read_ops): Likewise.
4262 (get_asm_expr_operands): Likewise.
4263 * tree-into-ssa.c (dump_decl_set): Likewise.
4264 (update_ssa): Likewise.
4265 * tree-sra.c (scan_function): Likewise.
4266 (decide_instantiations): Likewise.
4267 (scalarize_parms): Likewise.
4268 * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
4269 (dsa_named_for): Likewise.
4270 * tree-ssa-structalias.c (update_alias_info): Likewise.
4271 (merge_smts_into): Likewise.
4272
2e4e39f6
AK
42732008-02-25 Andreas Krebbel <krebbel1@de.ibm.com>
4274
4275 PR target/35258
4276 * cse.c (cse_insn): Avoid creation of overlapping MEMs.
4277 * alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
4278 * alias.h (nonoverlapping_memrefs_p): Likewise.
4279
891984af
JB
42802008-02-25 Jan Beulich <jbeulich@novell.com>
4281
c92712d1 4282 * Makefile.in: Also prefix uses of crt0.o and mcrt0.o with $(T).
891984af
JB
4283 * config/i386/netware-libgcc.exp: Add __bswap?i2,
4284 __emultls_get_address, __emultls_register_common,
4285 __floatundi?f, and _Unwind_GetIPInfo.
4286 * config/i386/netware.c (gen_stdcall_or_fastcall_decoration):
4287 Sync with config/i386/winnt.c:gen_stdcall_or_fastcall_suffix().
4288 (gen_regparm_prefix): Likewise.
4289 (i386_nlm_encode_section_info): Sync with
4290 config/i386/winnt.c:i386_pe_encode_section_info().
4291 (i386_nlm_maybe_mangle_decl_assembler_name): New.
4292 i386_nlm_mangle_decl_assembler_name): New.
4293 (netware_override_options): New.
4294 * config/i386/netware.h (netware_override_options): Declare.
4295 (OVERRIDE_OPTIONS): Re-define to netware_override_options.
4296 (i386_nlm_mangle_decl_assembler_name): Declare.
4297 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define.
4298
98266db0
BE
42992008-02-25 Ben Elliston <bje@au.ibm.com>
4300
4301 PR other/32948
4302 * c-decl.c (grokdeclarator): Remove unused local variables
4303 `typedef_type' and `type_as_written'.
4304 * bb-reorder.c
4305 (find_rarely_executed_basic_blocks_and_crossing_edges): Remove
4306 unused local variable `has_hot_blocks'.
4307 (fix_crossing_conditional_branches): Remove unused local variable
4308 `prev_bb'.
4309
93e50125
UB
43102008-02-25 Uros Bizjak <ubizjak@gmail.com>
4311
4312 PR middle-end/19984
4313 * builtins.def (BUILT_IN_NAN): Define as c99 builtin
4314 using DEF_C99_BUILTIN.
4315 (BUILT_IN_NANF): Ditto.
4316 (BUILT_IN_NANL): Ditto.
4317
0de5a32f 43182008-02-25 Ayal Zaks <zaks@il.ibm.com>
433331d4 4319 Revital Eres <eres@il.ibm.com>
0de5a32f
AZ
4320
4321 * modulo-sched.c (calculate_must_precede_follow): Address TODO
4322 regarding the order of two dependent insns in the same row.
4323
d4cba6d4
EB
43242008-02-25 Eric Botcazou <ebotcazou@adacore.com>
4325
4326 * stor-layout.c (layout_decl): Do not bump the alignment of a
4327 bit-field to more than byte alignment if it is packed.
4328
642639ce
DE
43292008-02-24 David Edelsohn <edelsohn@gnu.org>
4330
4331 * config/rs6000/rs6000.c (processor_costs): Add cache costs for
4332 e300c2 and e300c3.
4333
faebccf9
DN
43342008-02-24 Diego Novillo <dnovillo@google.com>
4335
4336 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01094.html
4337
4338 PR 33738
4339 * tree-vrp.c (vrp_evaluate_conditional): With
4340 -Wtype-limits, emit a warning when comparing against a
4341 constant outside the natural range of OP0's type.
4342 * c.opt (Wtype-limits): Move ...
4343 * common.opt (Wtype-limits): ... here.
4344
88c7f01b 43452008-02-24 Edmar Wienskoski <edmar@freescale.com>
fa41c305
EW
4346
4347 * config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3.
4348 * config/rs6000/e300c2c3.md: New file.
4349 * config/rs6000/rs6000.c (processor_costs): Add new costs for
4350 e300c2 and e300c3.
4351 (rs6000_override_options): Add e300c2 and e300c3 cases to
4352 processor_target_table. Do not allow usage of Altivec or Spe
4353 with e300 cores. Initialize rs6000_cost for e300c2 and e300c3.
4354 (rs6000_issue_rate): Set issue rate for e300c2 and e300c3.
4355 * config/rs6000/rs6000.h (processor_type): Add
4356 PROCESSOR_PPCE300C2 and PROCESSOR_PPCE300C3.
4357 (ASM_CPU_SPEC): Add e300c2 and e300c3.
4358 * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce300c2
4359 and ppce300c3. Include e300c2c3.md.
4360
153fbec8
DE
43612008-02-23 David Edelsohn <edelsohn@gnu.org>
4362
4363 * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Use STRICT_ALIGNMENT
4364 instead of TARGET_STRICT_ALIGN.
4365
03d4f106
JM
43662008-02-23 Joseph Myers <joseph@codesourcery.com>
4367
4368 * explow.c (memory_address): Assert that the generated address is
4369 valid.
4370
fb220235
FXC
43712008-02-23 Francois-Xavier Coudert <coudert@clipper.ens.fr>
4372
4373 PR target/25477
4374 * config/darwin-protos.h: Add darwin_patch_builtins prototype.
4375 * config/darwin-ppc-ldouble-patch.def: New file.
4376 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro.
4377 * config/rs6000/rs6000.c (rs6000_init_builtins): Call
4378 SUBTARGET_INIT_BUILTINS if defined.
93e50125
UB
4379 * config/darwin.c (darwin_patch_builtin, darwin_patch_builtins):
4380 New functions.
fb220235 4381
f79db4f6
AP
43822008-02-23 Andrew Pinski <andrew_pinski@playstation.sony.com>
4383
4384 PR rtl-opt/33512
4385 * simplify-rtx.c (simplify_binary_operation_1): Add simplification
4386 of (and X (ior (not X) Y) and (and (ior (not X) Y) X).
4387
bb1f73c2
AP
43882008-02-23 Andrew Pinski <andrew_pinski@playstation.sony.com>
4389
4390 PR pch/35027
4391 * c-pch.c (c_common_valid_pch): Make the "too short to be a PCH
4392 file" warning condtional on -Winvalid-PCH.
4393
8ddcfde1
DJ
43942008-02-23 Daniel Jacobowitz <dan@codesourcery.com>
4395
4396 * expmed.c (extract_bit_field): Always use adjust_address for MEM.
4397
84495fd9
UB
43982008-02-23 Uros Bizjak <ubizjak@gmail.com>
4399
4400 PR target/22076
4401 PR target/34256
4402 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use "!y" to
4403 prevent reload from using MMX registers.
4404 (*mov<mode>_internal): Ditto.
4405 (*movv2sf_internal_rex64): Ditto.
4406 (*movv2sf_internal): Ditto.
4407
73c17ad2
RW
44082008-02-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4409
4410 PR documentation/31569
4411 * doc/install.texi2html: Use makeinfo --no-number-sections.
4412
61dd226f
NF
44132008-02-22 Nathan Froyd <froydnj@codesourcery.com>
4414
4415 * config/rs6000/rs6000.c (rs6000_legitimize_address): Check to
4416 ensure that we can address an entire entity > 8 bytes. Don't
4417 generate reg+reg addressing for such data.
4418
2165fd38
NF
44192008-02-22 Nathan Froyd <froydnj@codesourcery.com>
4420
4421 * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign
4422 strings when optimizing for size, unless the target cares about
4423 alignment.
4424
ad5ebb34
TT
44252008-02-22 Tom Tromey <tromey@redhat.com>
4426
4427 * regclass.c (current_pass): Remove declaration.
4428
34d02d17
AS
44292008-02-22 Anatoly Sokolov <aesok@post.ru>
4430
4431 * config/avr/libgcc.S (__RAMPZ__): Define.
4432 (__do_copy_data): Add for devices with 128KB code memory.
4433
a4899c01
NF
44342008-02-22 Nathan Froyd <froydnj@codesourcery.com>
4435
4436 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
4437 Use spe_abi.
4438 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
4439
fe82487e
HPN
44402008-02-22 Hans-Peter Nilsson <hp@axis.com>
4441
4442 * config/cris/cris.h (REG_CLASS_FROM_LETTER): Recognize 'b' for
4443 GENNONACR_REGS.
4444
ae311566
RW
44452008-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4446
4447 PR c/19999
4448 * c-typeck.c (build_binary_op): Warn about floating point
4449 comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
4450
a2db2771
JJ
44512008-02-21 Janis Johnson <janis187@us.ibm.com>
4452
4453 PR target/34526
4454 * config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
4455 (rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
4456 add vrsave.
4457 (rs6000_override_options): Set altivec_abi as default, not override,
4458 for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for
4459 TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI
4460 is used; use new member spe_abi.
4461 (rs6000_handle_option): Set rs6000_explicit_options.vrsave; use
4462 spe_abi and altivec_abi.
4463
89fd06fb
TB
44642008-02-22 Tomas Bily <tbily@suse.cz>
4465
4466 * tree-vectorizer.c (vect_is_simple_reduction): Fix comment typo.
4467
703fdf5a
RW
44682008-02-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4469
4470 PR bootstrap/35273
4471 * config.build (build_file_translate): Set to `CMD //c' only if
4472 it works.
4473 * Makefile.in (build_file_translate): Improve comment.
4474
0ca16832
JH
44752008-02-21 Jan Hubicka <jh@suse.cz>
4476
4477 * predict.def (PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL,
4478 PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL, PRED_CALL,
4479 PRED_TREE_EARLY_RETURN, PRED_NULL_RETURN): Update.
4480
c754abbf
MM
44812008-02-21 Michael Matz <matz@suse.de>
4482
4483 PR target/35264
4484 * config/i386/i386.c (ix86_expand_branch): Add missing breaks.
4485
85845bb9
UB
44862008-02-21 Uros Bizjak <ubizjak@gmail.com>
4487
4488 * config/i386/i386.md (mov<mode>cc): Macroize expander from movsfcc,
4489 movdfcc and movxfcc using X87MODEF mode iterator and SSE_FLOAT_MODE_P
4490 as insn constraint.
4491 * config/i386/sse.md (<sse>_movup<ssemodesuffixf2c>): Macroize insn
4492 from sse_movups adn sse2_movupd using SSEMODEF2P mode iterator and
4493 SSE_VEC_FLOAT_MODE_P as insn constraint.
4494 (<sse>_movmskp<ssemodesuffixf2c>): Ditto from similar patterns.
4495 (sse4a_movnt<mode>): Macroize insn from sse4a_movntsf and
4496 sse4a_movntdf using MODEF mode iterator.
4497 (sse4a_vmmovnt<mode>): Macroize insn form sse4a_vmmovntv2df and
4498 sse4a_vmmovntv4sf using SSEMODEF2P mode iterator.
4499 (sse4_1_blendp<ssemodesuffixf2c>): Ditto from similar patterns.
4500 (sse4_1_blendvp<ssemodesuffixf2c>): Ditto.
4501 (sse4_1_dpp<ssemodesuffixf2c>): Ditto.
4502 (sse4_1_roundp<ssemodesuffixf2c>): Ditto.
4503 (sse4_1_rounds<ssemodesuffixf2c>): Ditto.
4504
dedd42d5
RG
45052008-02-21 Richard Guenther <rguenther@suse.de>
4506
4507 * tree.def (PAREN_EXPR): New tree code.
4508 * fold-const.c (fold_unary): Remove PAREN_EXPR around constants
4509 and PAREN_EXPR.
4510 * tree-pretty-print.c (dump_generic_node): Handle PAREN_EXPR.
4511 * expr.c (expand_expr_real_1): Likewise.
4512 * tree-inline.c (estimate_num_insns_1): Likewise.
4513 * tree-complex.c (expand_complex_move): Likewise.
4514 * tree-vectorizer.c (vect_is_simple_use): Treat PAREN_EXPR (x)
4515 as plain x.
4516
7a3cb3ab
KK
45172008-02-20 Kaz Kojima <kkojima@gcc.gnu.org>
4518
4519 PR target/35225
4520 * config/sh/sh.c (find_barrier): Don't go past 'from' argument.
4521
6d4d15b8
KK
45222008-02-20 Kaz Kojima <kkojima@gcc.gnu.org>
4523
4524 PR target/35190
4525 * config/sh/sh.md (jump_compact): Disable for crossing jumps.
4526
4527 * config/sh/sh.c (find_barrier): Don't go past
4528 NOTE_INSN_SWITCH_TEXT_SECTIONS note.
4529
6d4a8967
DD
45302008-02-20 DJ Delorie <dj@redhat.com>
4531
4532 * config/h8300/h8300.md (insv): Force source operand to be a register.
4533
4534 * config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
4535 as a jump, not as a plain insn.
4536
a214518f
SP
45372008-02-20 Seongbae Park <seongbae.park@gmail.com>
4538
4539 * doc/invoke.texi (Warning Options): Add new option
4540 -Wframe-larger-than=.
4541 (-Wframe-larger-than): Document.
4542
4543 * flags.h (warn_frame_larger_than, frame_larger_than_size):
4544 Add declarations for new option variables.
4545
4546 * final.c (final_start_function): Check the frame size
4547 before emission and issue a Wframe-larger-than warning.
4548
4549 * opts.c (warn_frame_larger_than, frame_larger_than_size):
4550 Add definitions for new option variables.
4551 (common_handle_option): Handle new option OPT_Wframe_larger_than_.
4552
4553 * common.opt (Wframe-larger-than=): New option.
4554
993ac7c7
UB
45552008-02-20 Uros Bizjak <ubizjak@gmail.com>
4556
4557 * config/i386/sse.md (<sse>_vmmul<mode>3): Fix typo in asm template.
4558 (<sse>_div<mode>3): Ditto.
4559 (<sse>_vmdiv<mode>3): Ditto.
4560 (<sse>_vmsqrt<mode>2): Ditto.
4561 (*smax<mode>3): Ditto.
4562 (sse5_frcz<mode>2): Ditto.
4563 (sse5_vmfrcz<mode>2): Ditto. Use TARGET_SSE5 instead of TARGET_ROUND
4564 as insn constraint.
4565
4cd8e76f
RG
45662008-02-20 Richard Guenther <rguenther@suse.de>
4567
4568 PR middle-end/35265
4569 * builtins.c (validate_arg): If we want an INTEGER_TYPE,
4570 be happy with INTEGRAL_TYPE_P.
4571
41bb1f06
RG
45722008-02-20 Richard Guenther <rguenther@suse.de>
4573
4574 * fold-const.c (split_tree): Associate floatig-point expressions
4575 if flag_associative_math is set.
4576
2dc0f633
RG
45772008-02-20 Richard Guenther <rguenther@suse.de>
4578
4579 * tree.h (fold_real_zero_addition_p): Declare.
4580 * fold-const.c (fold_real_zero_addition_p): Export.
4581 * tree-ssa-reassoc.c (eliminate_using_constants): Also handle
4582 floating-point operations with zero and one.
4583
1c8bd6a3
PB
45842008-02-20 Paolo Bonzini <bonzini@gnu.org>
4585
4b40b2a5
UB
4586 * doc/install.texi: Correct references to CFLAGS, replacing them
4587 with BOOT_CFLAGS. Document flags used during bootstrap for
4588 target libraries.
1c8bd6a3 4589
d6023b50
UB
45902008-02-20 Uros Bizjak <ubizjak@gmail.com>
4591
4592 * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define.
4593 * config/i386/i386.md (*sse_setcc<mode>): Macroize from *sse_setccsf
4594 and *sse_setccdf using MODEF mode iterator and SSE_FLOAT_MODE_P as
4595 insn constraint.
4596 (smin<mode>3): Ditto from similar patterns.
4597 (smax<mode>3): Ditto.
4598 (*ieee_smin<mode>3): Ditto.
4599 (*ieee_smax<mode>3): Ditto.
4600 * config/i386/sse.md (sse): New mode attribute.
4601 (mov<mode>): Macroize expander from movv4sf and movv2df using
4602 SSEMODEF2P mode iterator.
4603 (<sse>_movnt<mode>): Ditto from similar patterns. Use
4604 SSE_VEC_FLOAT_MODE_P as insn constraint.
4605 (storent<mode>): Ditto.
4606 (storent<mode>): Macroize expander from storentsf and storentdf using
4607 MODEF mode iterator.
4608 (neg<mode>2): Macroize from negv4sf2 and negv2df2 using SSEMODEF2P
4609 mode iterator and SSE_VEC_FLOAT_MODE_P as insn constraint.
4610 (abs<mode>2): Ditto from similar patterns.
4611 (add<mode>3, *add<mode>3, <sse>_vmadd<mode>3): Ditto.
4612 (sub<mode>3, *sub<mode>3, <sse>_vmsub<mode>3): Ditto.
4613 (<sse>_div<mode>3, <sse>_vmdiv<mode>3): Ditto.
4614 (<sse>_vmsqrt<mode>2): Ditto.
4615 (smin<mode>3, *smin<mode>3_finite, *smin<mode>3)
4616 (<sse>_vmsmin<mode>3, *ieee_smin<mode>3): Ditto.
4617 (smax<mode>3, *smax<mode>3_finite, *smax<mode>3)
4618 (<sse>_vmsmax<mode>3, *ieee_smax<mode>3): Ditto.
4619 (<sse>_maskcmp<mode>3): Macroize from sse_maskcmpv4sf3,
4620 sse_maskcmpsf3, sse2_maskcmpv2df3 and sse2_maskcmpdf3 using SSEMODEF4
4621 mode iterator. Use SSE_FLOAT_MODE_P with SSE_VEC_FLOAT_MODE_P as
4622 insn constraint.
4623 (<sse>_comi): Macroize from sse_comi and sse2_comi using MODEF mode
4624 iterator and SSE_FLOAT_MODE_P as insn constraint.
4625 (<sse>_ucomi): Ditto from similar patterns.
4626 (<sse>_vmmaskcmp<mode>3): Macroize from sse_vmmaskcmpv4sf3 and
4627 sse2_vmmaskcmpv2df3 using SSEMODEF2P mode iterator and
4628 SSE_VEC_FLOAT_MODE_P as insn constraint.
4629 (vcond<mode>): Ditto from similar patterns.
4630 (and<mode>3, *and<mode>3): Ditto.
4631 (<sse>_nand<mode>3): Ditto.
4632 (ior<mode>3, *ior<mode>3): Ditto.
4633 (xor<mode>3, *xor<mode>3): Ditto.
4634 (*and<mode>3): Macroize from *andsf3 and *anddf3 using MODEF mode
4635 iterator and SSE_FLOAT_MODE_P as insn constraint.
4636 (*nand<mode>3): Ditto from similar patterns.
4637 (*ior<mode>3): Ditto.
4638 (*xor<mode>3): Ditto.
4639
76a893cf
IR
46402008-02-20 Ira Rosen <irar@il.ibm.com>
4641
4642 * config/spu/spu.md (vec_unpacku_hi_v8hi, vec_unpacku_lo_v8hi,
4643 vec_unpacks_hi_v8hi, vec_unpacks_lo_v8hi, vec_unpacku_hi_v16qi,
4644 vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi): Implement.
4645
daac0317
JH
46462008-02-19 Jan Hubicka <jh@suse.cz>
4647
a8971bdb
UB
4648 * predict.c (tree_bb_level_predictions): Remove variable next
4649 mistakely introduced by previous commit.
daac0317 4650
3e4b9ad0
JH
46512008-02-19 Jan Hubicka <jh@suse.cz>
4652
4653 * predict.c (predict_paths_leading_to): Rewrite.
4654 (predict_paths_for_bb): New.
4655 (tree_bb_level_predictions): Update call of predict_paths_leading_to.
4656
a0e527e3
RW
46572008-02-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4658
4659 PR bootstrap/35218
4660 * Makefile.in (build_file_translate): New.
4661 (gcc-vers.texi): Use it for translating $(abs_srcdir).
4662 * config.build (build_file_translate): Set to `CMD //c' on MinGW.
4663 * configure.ac (build_file_translate): Substitute it.
4664 * configure: Regenerate.
4665
9d5cee3d
JH
46662008-02-19 Jan Hubicka <jh@suse.cz>
4667
4668 PR rtl-optimization/34408
3e4b9ad0
JH
4669 * see.c (see_def_extension_not_merged): Copy subreg so we don't have
4670 invalid sharing.
9d5cee3d 4671
8723e2fe
JH
46722008-02-19 Jan Hubicka <jh@suse.cz>
4673
4674 PR middle-end/28779
3e4b9ad0
JH
4675 * tree-inline.c (estimate_num_insns_1): Fix counting of cost of
4676 call_expr.
8723e2fe 4677
5ba5440f
L
46782008-02-19 H.J. Lu <hongjiu.lu@intel.com>
4679
4680 PR Ada/35186
4681 * config/i386/i386-modes.def: Revert the last DI alignment
4682 change until Ada people can look into it.
4683
c01c261d
NC
46842008-02-19 Nick Clifton <nickc@redhat.com>
4685
4686 * opts.c (print_specific_help): Fix typo in --help text.
4687
2e834acb
JJ
46882008-02-19 Jakub Jelinek <jakub@redhat.com>
4689
4690 PR target/35239
4691 * config/i386/cpuid.h (__cpuid, __get_cpuid_max): Use special
4692 32-bit inline asm without asm alternatives for host GCC < 3.0.
4693
9cadd7f7
RG
46942008-02-19 Richard Guenther <rguenther@suse.de>
4695
4696 PR tree-optimization/34989
4697 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure.
4698 Allow propagation to INDIRECT_REF if we can simplify only.
4699
ffc30173
MLI
47002008-02-19 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4701
4702 * c-common.c (warn_for_collisions_1): Use appropriate option when
4703 warning.
4704
b3eaaf1a
NC
47052008-02-19 Nick Clifton <nickc@redhat.com>
4706
4707 PR other/31349
a8971bdb 4708 * opts.c (undocumented_msg): Leave blank unless checking is enabled.
b3eaaf1a
NC
4709 (handle_options): Fix indentation.
4710 (print_filtered_help): If no language-specific options were
4711 displayed tell the user how to list all the options supported by
4712 the language's front-end.
4713 (print_specific_help): Fix indentation and remove duplicate line.
4714 (common_handle_option): Handle the -v option.
4715 For --help enable the display of undocumented options if the -v
4716 switch has been included on the command line.
4717 For --help= check for overlaps in the arguments between the option
4718 classes and the language names and issue a warning when they
4719 cannot be disambiguated.
4720 * c.opt (v): Pass on to the common option handler.
4721
de82c453
RE
47222008-02-19 Revital Eres <eres@il.ibm.com>
4723
4724 * modulo-sched.c (sms_schedule): Change dump message when
4725 create_ddg function fails.
4726 (try_scheduling_node_in_cycle): Rename row to cycle.
4727 (print_partial_schedule): Rename CYCLE to ROW.
4728
32159434 47292008-02-19 Christian Bruel <christian.bruel@st.com>
a8971bdb
UB
4730 Zdenek Dvorak <ook@ucw.cz>
4731
4732 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check step alignment.
4733
0e93e1b4
UB
47342008-02-19 Uros Bizjak <ubizjak@gmail.com>
4735
4736 PR target/33555
4737 * config/i386/i386.md (*x86_movsicc_0_m1_se): New insn pattern.
4738 (*x86_movdicc_0_m1_se): Ditto.
4739
02d353cf
UB
47402008-02-19 Uros Bizjak <ubizjak@gmail.com>
4741
4742 * config/i386/sfp-machine.h (__gcc_CMPtype): New typedef.
4743 (CMPtype): Define as __gcc_CMPtype.
4744 * config/rs6000/sfp-machine.h (__gcc_CMPtype): New typedef.
4745 (CMPtype): Define as __gcc_CMPtype.
4746
35dee980
HPN
47472008-02-19 Hans-Peter Nilsson <hp@axis.com>
4748
4749 Support valgrind 3.3 for --enable-checking=valgrind.
4750 * system.h: Consolidate ENABLE_VALGRIND_CHECKING-dependent defines
4751 here.
4752 [!VALGRIND_MAKE_MEM_NOACCESS]: Define as VALGRIND_MAKE_NOACCESS.
4753 [!VALGRIND_MAKE_MEM_DEFINED]: Define as VALGRIND_MAKE_READABLE.
4754 [!VALGRIND_MAKE_MEM_UNDEFINED]: Define as VALGRIND_MAKE_WRITABLE.
4755 * ggc-common.c: Remove ENABLE_VALGRIND_CHECKING-dependent defines.
4756 Replace use of VALGRIND_MAKE_READABLE, VALGRIND_MAKE_WRITABLE, and
4757 VALGRIND_MAKE_NOACCESS with VALGRIND_MAKE_MEM_DEFINED,
4758 VALGRIND_MAKE_MEM_UNDEFINED, and VALGRIND_MAKE_MEM_NOACCESS
4759 respectively.
4760 * ggc-zone.c: Similar.
4761 * ggc-page.c: Similar.
4762
27e03cf1
PB
47632008-02-19 Paul Brook <paul@codesourcery.com>
4764
4765 PR target/35071
4766 * config/arm/ieee754-df.S: Fix do_it typo.
4767 * config/arm/ieee754-sf.S: Fix do_it typo.
4768
287a7d41
L
47692008-02-18 H.J. Lu <hongjiu.lu@intel.com>
4770
4771 PR target/35189
4772 * config/i386/i386.c (OPTION_MASK_ISA_MMX_SET): New.
4773 (OPTION_MASK_ISA_3DNOW_SET): Likewise.
4774 (OPTION_MASK_ISA_SSE_SET): Likewise.
4775 (OPTION_MASK_ISA_SSE2_SET): Likewise.
4776 (OPTION_MASK_ISA_SSE3_SET): Likewise.
4777 (OPTION_MASK_ISA_SSSE3_SET): Likewise.
4778 (OPTION_MASK_ISA_SSE4_1_SET): Likewise.
4779 (OPTION_MASK_ISA_SSE4_2_SET): Likewise.
4780 (OPTION_MASK_ISA_SSE4_SET): Likewise.
4781 (OPTION_MASK_ISA_SSE4A_SET): Likewise.
4782 (OPTION_MASK_ISA_SSE5_SET): Likewise.
4783 (OPTION_MASK_ISA_3DNOW_A_UNSET): Likewise.
4784 (OPTION_MASK_ISA_MMX_UNSET): Updated.
4785 (OPTION_MASK_ISA_3DNOW_UNSET): Updated.
4786 (OPTION_MASK_ISA_SSE_UNSET): Likewise.
4787 (OPTION_MASK_ISA_SSE3_UNSET): Likewise.
4788 (OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
4789 (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
4790 (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
4791 (OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
4792 (OPTION_MASK_ISA_SSE5_UNSET): Likewise.
4793 (OPTION_MASK_ISA_SSE4): Removed.
4794 (ix86_handle_option): Turn on bits in ix86_isa_flags and
3b509e33 4795 ix86_isa_flags_explicit with OPTION_MASK_ISA_XXX_SET for -mXXX.
287a7d41
L
4796 (override_options): Don't turn on implied SSE/MMX bits in
4797 ix86_isa_flags.
4798
feaffcaa
L
47992008-02-18 H.J. Lu <hongjiu.lu@intel.com>
4800
4801 * config/i386/i386-modes.def: Use 4 byte alignment on DI for
4802 32bit host.
4803
b2ae828d
JY
48042008-02-18 Joey Ye <joey.ye@intel.com>
4805
4806 PR middle-end/34921
4807 * tree-nested.c (insert_field_into_struct): Set type alignment
4808 to field alignment if the former is less than the latter.
4809
8d855c3d
JJ
48102008-02-18 Jakub Jelinek <jakub@redhat.com>
4811
4812 * BASE-VER: Set to 4.4.0.
4813
923158be
RW
48142008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4815
4816 * doc/c-tree.texi: Use @dots{} and @enddots{} where appropriate.
4817 * doc/cfg.texi: Likewise.
4818 * doc/extend.texi: Likewise.
4819 * doc/gty.texi: Likewise.
4820 * doc/invoke.texi: Likewise.
4821 * doc/loop.texi: Likewise.
4822 * doc/md.texi: Likewise.
4823 * doc/passes.texi: Likewise.
4824 * doc/rtl.texi: Likewise.
4825 * doc/sourcebuild.texi: Likewise.
4826 * doc/tm.texi: Likewise.
4827 * doc/tree-ssa.texi: Likewise.
4828
f0a77246
RG
48292008-02-17 Richard Guenther <rguenther@suse.de>
4830
4831 PR middle-end/35227
4832 * tree-complex.c (init_parameter_lattice_values): Handle parameters
4833 without default definition.
4834
e09deb14
RG
48352008-02-17 Richard Guenther <rguenther@suse.de>
4836
4837 PR tree-optimization/35231
4838 * tree-vrp.c (register_edge_assert_for): Do not assume A == 0
4839 if A | B != 1.
4840
e6528d32
UB
48412008-02-17 Uros Bizjak <ubizjak@gmail.com>
4842
4843 Revert:
e6528d32
UB
4844 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
4845 * config/i386/sfp-machine.h (CMPtype): Define as typedef using
4846 libgcc_cmp_return mode.
4847
93e052a8
MLI
48482008-02-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4849
4850 PR c/28368
4851 * doc/invoke.texi (-std): Clarify description of -std= and -ansi.
4852
2a49e6f8
RC
48532008-02-16 Ralf Corsepius <ralf.corsepius@rtems.org>
4854
4855 * config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475
4856 multilibs.
4857
0ee2ea09
RW
48582008-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4859
4860 * doc/c-tree.texi: Use `@.' where appropriate.
4861 * doc/extend.texi: Likewise.
4862 * doc/install.texi: Likewise.
4863 * doc/invoke.texi: Likewise.
4864 * doc/loop.texi: Likewise.
4865 * doc/makefile.texi: Likewise.
4866 * doc/md.texi: Likewise.
4867 * doc/passes.texi: Likewise.
4868 * doc/standards.texi: Likewise.
4869 * doc/tm.texi: Likewise.
4870
ac84c062
JJ
48712008-02-15 Jakub Jelinek <jakub@redhat.com>
4872
4873 PR middle-end/35196
4874 * omp-low.c (expand_omp_for_generic): Don't initialize fd->v
4875 in entry_bb.
4876 (expand_omp_for_static_nochunk): Initialize fd->v in seq_start_bb
4877 rather than in entry_bb.
4878
6a9e8571
UB
48792008-02-15 Uros Bizjak <ubizjak@gmail.com>
4880
4881 * config/i386/sfp-machine.h (CMPtype): Define as typedef using
4882 libgcc_cmp_return mode.
4883
6837b3b8
JJ
48842008-02-15 Jakub Jelinek <jakub@redhat.com>
4885
4886 PR middle-end/35130
4887 * tree-nested.c (convert_call_expr): Put FRAME.* vars into
4888 OMP_CLAUSE_SHARED rather than OMP_CLAUSE_FIRSTPRIVATE clause.
4889
2e58df6e 48902008-02-15 Richard Guenther <rguenther@suse.de>
6a9e8571 4891 Zdenek Dvorak <ook@ucw.cz>
2e58df6e
RG
4892
4893 PR tree-optimization/35164
4894 * tree-flow.h (stmt_references_abnormal_ssa_name): Declare.
4895 * tree-dfa.c (stmt_references_abnormal_ssa_name): New function.
4896 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
4897 Only propagate addresses which do not have abnormal SSA_NAMEs
4898 in their operands.
4899
206598fb
JM
49002008-02-15 Joseph Myers <joseph@codesourcery.com>
4901
4902 PR target/35088
4903 * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
4904
18168b3f
JH
49052008-02-15 Jan Hubicka <jh@suse.cz>
4906
4907 PR middle-end/35149
4908 * ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag.
4909
6f6b8f81
UB
49102008-02-15 Uros Bizjak <ubizjak@gmail.com>
4911
4912 PR middle-end/34621
4913 * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY
4914 when calculating alignment_pad.
4915
979c67a5
UB
49162008-02-15 Uros Bizjak <ubizjak@gmail.com>
4917
4918 * config/i386/i386.h (CLEAR_RATIO): Use MIN macro.
4919 (WIDEST_HARDWARE_FP_SIZE): Use LONG_DOUBLE_TYPE_SIZE define.
4920 * config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Use MAX macro
4921 and STACK_BOUNDARY define.
4922
101e174d
DS
49232008-02-14 Danny Smith <dannysmith@users.sourceforge.net>
4924
4925 PR preprocessor/35061
4926 * c-pragma.c (handle_pragma_pop_macro): Check that
4927 pushed_macro_table has been allocated.
4928
928bc34f
EB
49292008-02-14 Eric Botcazou <ebotcazou@adacore.com>
4930
4931 PR middle-end/35136
4932 * gimplify.c (force_gimple_operand_bsi): Revert 2008-02-12 change.
4933 (force_gimple_operand): Likewise.
4934 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Add new cases
4935 for TARGET_MEM_REF and CONVERT_EXPR/NON_LVALUE_EXPR/NOP_EXPR.
4936 Also recurse on the operand for regular VIEW_CONVERT_EXPRs.
4937 (find_interesting_uses_address): Check addressability and alignment
4938 of the base expression only after substituting bases of IVs into it.
4939
a5bfb13a
MM
49402008-02-14 Michael Matz <matz@suse.de>
4941
4942 PR target/34930
4943 * function.c (instantiate_virtual_regs_in_insn): Reload address
4944 before falling back to reloading the whole operand.
4945
b49326f1
AK
49462008-02-14 Andreas Krebbel <krebbel1@de.ibm.com>
4947
4948 * config/s390/s390.c (s390_mainpool_start): Emit the pool
4949 before the first section switch note.
4950
021efafc
RW
49512008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4952
346341a4
RW
4953 * doc/bugreport.texi: Update copyright years.
4954 * doc/c-tree.texi: Likewise.
4955 * doc/cfg.texi: Likewise.
4956 * doc/cpp.texi: Likewise.
4957 * doc/cppinternals.texi: Likewise.
4958 * doc/fragments.texi: Likewise.
4959 * doc/frontends.texi: Likewise.
4960 * doc/gcc.texi: Likewise.
4961 * doc/gty.texi: Likewise.
4962 * doc/hostconfig.texi: Likewise.
4963 * doc/implement-c.texi: Likewise.
4964 * doc/libgcc.texi: Likewise.
4965 * doc/loop.texi: Likewise.
4966 * doc/makefile.texi: Likewise.
4967 * doc/options.texi: Likewise.
4968 * doc/passes.texi: Likewise.
4969 * doc/rtl.texi: Likewise.
4970 * doc/sourcebuild.texi: Likewise.
4971 * doc/standards.texi: Likewise.
4972 * doc/tree-ssa.texi: Likewise.
4973 * doc/trouble.texi: Likewise.
4974
021efafc
RW
4975 * doc/extend.texi: Use @: or add comma where appropriate.
4976 * doc/invoke.texi: Likewise.
4977 * doc/tm.texi: Likewise.
4978
583da60a
AM
49792008-02-14 Alan Modra <amodra@bigpond.net.au>
4980
4981 PR target/34393
4982 * config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
4983 to a reg.
4984
2a6627c2
JN
49852008-02-14 Jesper Nilsson <jesper.nilsson@axis.com>
4986
4987 * doc/md.texi (clz, ctz): Add reference.
4988 * doc/rtl.texi (clz, ctz): Likewise.
4989
1b0c753a
RW
49902008-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4991
4992 PR other/35148
4993 * Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
4994 srcdir.
4995
03870a04
AK
49962008-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
4997
4998 * config/s390/s390.c (struct constant_pool): New field
4999 emit_pool_after added.
5000 (s390_mainpool_start): Set the emit_pool_after flag according
5001 to the section switch notes.
5002 (s390_mainpool_finish): Consider emit_pool_after when emitting
5003 the literal pool at the end of the function.
5004 (s390_chunkify_start): Force literal pool splits at section
5005 switch notes.
5006
be71b673
MM
50072008-02-13 Michael Matz <matz@suse.de>
5008
5009 PR debug/35065
5010 * var-tracking.c (clobber_variable_part): Correctly traverse the
5011 list.
5012
fed39e22
MLI
50132008-02-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
5014
5015 PR 29673
5016 * doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined.
5017 Add -fdump-ipa-inline.
5018 * tree-dump.c (dump_files): Remove tree-inlined dump.
5019 * tree-pass.h (tree_dump_index): Remove TDI_inlined.
5020
8665227f
RG
50212008-02-12 Richard Guenther <rguenther@suse.de>
5022
5023 PR tree-optimization/35171
5024 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with
5025 default defs.
5026
8f768a5a
RG
50272008-02-12 Richard Guenther <rguenther@suse.de>
5028
5029 PR middle-end/35163
5030 * fold-const.c (fold_widened_comparison): Use get_unwidened in
5031 value-preserving mode. Disallow final truncation.
5032
81186f7b
EB
50332008-02-12 Eric Botcazou <ebotcazou@adacore.com>
5034
5035 PR middle-end/35136
5036 * gimplify.c (force_gimple_operand_bsi): Move SSA renaming
5037 code from here to...
5038 (force_gimple_operand): ...here.
5039
d7b8033f
JJ
50402008-02-12 Jakub Jelinek <jakub@redhat.com>
5041
e4521d11
JJ
5042 PR c++/35144
5043 * tree-sra.c (sra_build_assignment): fold_convert SRC if copying
5044 non-compatible pointers.
5045 (generate_element_copy): If SRC and DST are RECORD_TYPEs with
5046 different FIELD_DECLs, try harder by comparing field offsets, sizes
5047 and types.
5048
d7b8033f
JJ
5049 PR inline-asm/35160
5050 * function.c (match_asm_constraints_1): Don't replace the same input
5051 multiple times.
5052
d6f77715
AS
50532008-02-12 Anatoly Sokolov <aesok@post.ru>
5054
5055 * config/avr/avr.h (AVR_HAVE_RAMPZ): Define.
5056 * config/avr/avr.c (expand_prologue): Save RAMPZ register.
5057 (expand_epilogue): Restore RAMPZ register.
5058 * config/avr/avr.md (RAMPZ_ADDR): New constant.
5059
35b35fd0
KT
50602008-02-11 Kai Tietz <kai.tietz@onevision.com>
5061
40049ccc 5062 * config/i386/cygwin.asm: (__alloca): Correct calling
35b35fd0
KT
5063 convention and alignment.
5064 (__chkstk): Force 8 byte stack alignment.
5065
a6e2d112 50662008-02-11 Uros Bizjak <ubizjak@gmail.com>
f8c5cff4 5067 Richard Guenther <rguenther@suse.de>
a6e2d112
UB
5068
5069 PR tree-optimization/33992
5070 * tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of
5071 the zero we compare against.
5072
40049ccc
UB
50732008-02-10 Danny Smith <dannysmith@users.sourceforge.net>
5074
5075 PR libfortran/35063
5076 * gthr-win32.h (__gthread_mutex_destroy_function): New function
5077 to CloseHandle after unlocking to prevent accumulation of handle
5078 count.
5079
4d811a05
JDA
50802008-02-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5081
5082 PR middle_end/34150
5083 * pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
5084 pic_label_operand source. Similarly, add a REG_LABEL_OPERAND note
5085 and update LABEL_NUSES during and after reload.
5086
e37f6a49
SB
50872008-02-08 Steven Bosscher <stevenb.gcc@gmail.com>
5088
5089 PR middle-end/34627
a3395528 5090 * combine.c (simplify_if_then_else): Make sure the comparison is
e37f6a49
SB
5091 against const0_rtx when simplifying to (abs x) or (neg (abs X)).
5092
34917a10
RS
50932008-02-08 Richard Sandiford <rsandifo@nildram.co.uk>
5094
5095 PR bootstrap/35051
5096 * double-int.h: Don't include gmp.h for GENERATOR_FILEs.
5097 (mpz_set_double_int, mpz_get_double_int): Hide from GENERATOR_FILEs.
5098 * real.h: Don't include gmp.h or mpfr.h for GENERATOR_FILEs.
5099 (real_from_mpfr, mpfr_from_real): Hide from GENERATOR_FILEs.
5100 * tree.h (get_type_static_bounds): Likewise.
5101
670b0231
RW
51022008-02-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5103
5104 * doc/invoke.texi (Option Summary, C++ Dialect Options)
5105 (Objective-C and Objective-C++ Dialect Options, Warning Options):
5106 Make -Wfoo language annotations match what the compiler outputs.
5107
069c47ee
SL
51082008-02-08 Sa Liu <saliu@de.ibm.com>
5109
5110 * config/spu/spu-builtins.def: Fixed wrong parameter type in spu
5111 intrinsics spu_convts, spu_convtu, spu_convtf.
5112 * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages.
5113
ccd2a21e
HPN
51142008-02-08 Hans-Peter Nilsson <hp@axis.com>
5115
5116 * doc/extend.texi (Function Attributes) <noinline>: Mention
5117 asm ("") as method to keep calls.
5118
af47e6ac
MLI
51192008-02-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
5120
5121 PR other/32754
5122 * doc/options.texi (Options): Replace references to opts.sh with
5123 optc-gen.awk.
5124 * opts-common.c: Likewise.
5125 * optc-gen.awk: Likewise.
5126
96e2afa8
AK
51272008-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
5128
5129 * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
5130
51312008-02-07 Richard Henderson <rth@redhat.com>
32891ff6
RH
5132
5133 PR rtl-opt/33410
5134 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
5135 EXPR_LIST for the REG_EQUAL instead of a comparison with a
5136 funny mode.
5137
c4ae80d9
UB
51382008-02-07 Uros Bizjak <ubizjak@gmail.com>
5139
5140 PR tree-optimization/35085
5141 * tree-ssa-reassoc.c (rewrite_expr_tree): Enable destructive update
5142 for operand entry oe2 in addition to operand entry oe3 in order to
5143 expose more opportunities for vectorizer sum reduction.
5144
72fb133f
KG
51452008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5146
5147 PR other/35107
5148 * Makefile.in (LIBS): Remove $(GMPLIBS).
5149 (cc1-dummy, cc1): Add $(GMPLIBS).
5150
20a415f8
JH
51512008-02-06 Jan Hubicka <jh@suse.cz>
5152
88b089d5 5153 PR target/23322
20a415f8
JH
5154 * i386.md (moddf_integer): Do not produce partial memory stalls for
5155 targets where it hurts.
5156
cc8d36a1
UB
51572008-02-06 Uros Bizjak <ubizjak@gmail.com>
5158
5159 PR target/35083
5160 * optabs.c (expand_float): Do not check for decimal modes when
5161 expanding unsigned integer through signed conversion.
5162
2ccd9cb2
NC
51632008-02-06 Nick Clifton <nickc@redhat.com>
5164
5165 * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup
5166 inside the clobber with a match_operand and duplicated operand
5167 number in the constraint.
5168 (ineqbranchsi): Delete redundant comment.
5169
ecb2366e
RC
51702008-02-06 Ralf Corsepius <ralf.corsepius@rtems.org>
5171
448b96d0
RC
5172 * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add
5173 builtin_define ("__USE_INIT_FINI__").
5174 * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
5175 -msx multilibs.
ecb2366e
RC
5176 * gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
5177
ccd4e386
RW
51782008-02-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5179
5180 PR documentation/30330
5181 * doc/invoke.texi (C++ Dialect Options)
5182 (Objective-C and Objective-C++ Dialect Options, Warning Options):
5183 For each warning option -Wfoo that allows -Wno-foo, ensure both
5184 -Wfoo and -Wno-foo are listed in the option index. Fix index
5185 entry of -Wswitch-default, index -Wnormalized= including the
5186 `=', and -Wlarger-than-@var{len} including @var{len}.
5187
def7425b
UB
51882008-02-05 Uros Bizjak <ubizjak@gmail.com>
5189
5190 * config/i386/i386.md (floatunssisf2): Use
5191 ix86_expand_convert_uns_sisf_sse also for TARGET_SSE.
5192 (floatunssi<mode>2): Rename from floatunssisf2 and floatunssidf2.
5193 Macroize expander using MODEF mode iterator.
5194
c1e7d240
DN
51952008-02-05 Diego Novillo <dnovillo@google.com>
5196
5197 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
5198
5199 PR 33738
def7425b 5200 * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
c1e7d240 5201
3a204175
KG
52022008-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5203
5204 PR other/35070
5205 * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
5206
7074bc2e
L
52072008-02-05 H.J. Lu <hongjiu.lu@intel.com>
5208
5209 PR target/35084
5210 * config/i386/i386.c (ix86_function_sseregparm): Add an arg
5211 to indicate if a message should be generated.
5212 (init_cumulative_args): Updated.
5213 (function_value_32): Likewise.
5214
0f5098ae
JM
52152008-02-05 Joseph Myers <joseph@codesourcery.com>
5216
5217 * doc/include/texinfo.tex: Update to version 2008-02-04.16.
5218
4a534152
UB
52192008-02-05 Uros Bizjak <ubizjak@gmail.com>
5220
5221 PR target/35083
5222 * config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only.
5223 Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2.
5224
3467b230
DN
52252008-02-04 Diego Novillo <dnovillo@google.com>
5226
5227 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html
5228
5229 PR 33738
5230 * tree-vrp.c (vrp_evaluate_conditional): With
5231 -Wtype-limits, emit a warning when comparing against a
5232 constant outside the natural range of OP0's type.
5233
22199fd2
RG
52342008-02-04 Richard Guenther <rguenther@suse.de>
5235
5236 PR middle-end/33631
5237 * expr.c (count_type_elements): Give for unions instead of
5238 guessing.
5239
1a1640db
RG
52402008-02-04 Richard Guenther <rguenther@suse.de>
5241
5242 PR middle-end/35043
5243 * gimplify.c (gimplify_init_ctor_eval): Convert array indices
5244 to TYPE_DOMAINs base type instead of using bitsizetype here.
5245
0fcedd9c
JM
52462008-02-03 Jason Merrill <jason@redhat.com>
5247
5248 * print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
5249
a31cfd58
RW
52502008-02-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5251
5252 PR other/29972
5253 * doc/invoke.texi (C++ Dialect Options, Optimize Options)
5254 (HPPA Options, i386 and x86-64 Options, IA-64 Options)
5255 (RS/6000 and PowerPC Options): Fix typos and markup.
5256 * doc/passes.texi (Tree-SSA passes): Likewise.
5257
6994f254
MM
52582008-02-02 Michael Matz <matz@suse.de>
5259
5260 PR target/35045
5261 * postreload-gcse.c (record_last_reg_set_info_regno): Renamed
5262 from record_last_reg_set_info.
5263 (record_last_reg_set_info): Take an RTX argument, iterate over all
5264 constituent hardregs.
5265 (record_last_set_info, record_opr_changes): Change calls to
5266 new signature or to record_last_reg_set_info_regno.
5267
27f56cb1
GP
52682008-02-02 Gerald Pfeifer <gerald@pfeifer.com>
5269
5270 * doc/extend.texi (X86 Built-in Functions): Fix grammar.
5271
3e836a31
HPN
52722008-02-01 Hans-Peter Nilsson <hp@axis.com>
5273
5274 PR rtl-optimization/34773
5275 * reg-notes.def (EQUAL): Mention significance of combination of
5276 REG_EQUAL and REG_RETVAL.
5277 * fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an
5278 insn that has a REG_RETVAL.
5279
d5be1dd4
RS
52802008-02-01 Roger Sayle <roger@eyesopen.com>
5281
5282 PR bootstrap/33781
5283 * configure.ac (--enable-fixed-point): Disable unless explicitly
5284 requested on IRIX.
5285 * configure: Regenerate.
5286
7c9c2f2a
RG
52872008-02-01 Richard Guenther <rguenther@suse.de>
5288
5289 PR other/35042
5290 * invoke.texi (-finline-limit): Remove no longer true parts
5291 of the documentation. Note that there is no default value.
5292
a18c20ec
AP
52932008-02-01 Andrew Pinski <pinskia@gmail.com>
5294 Mark Mitchell <mark@codesourcery.com>
5295 Ben Elliston <bje@au.ibm.com>
5296
5297 PR c/29326
5298 * doc/extend.texi (Other Builtins): Document.
5299
dc9a511d
TB
53002008-01-31 Tom Browder <tom.browder@gmail.com>
5301
5302 * doc/c-tree.texi (Types): Fix grammar.
5303 (Expression trees): Ditto.
5304 * doc/passes.texi (Tree-SSA passes): Ditto.
5305
5306 * doc/configterms.texi (Configure Terms): Fix typo.
5307 * doc/cpp.texi (Common Predefined Macros): Ditto.
5308 * doc/md.texi (Machine Constraints): Ditto.
5309
5310 * doc/makefile.texi (Makefile): Add comma.
5311
5dc81ee9
TB
53122008-01-31 Tom Browder <tom.browder@gmail.com>
5313 Gerald Pfeifer <gerald@pfeifer.com>
5314
5315 * doc/sourcebuild.texi (Front End): Remove references to CVS
5316 and CVSROOT/modules.
5317 (Texinfo Manuals): Replace reference to CVS by one to SVN.
5318 (Back End): Remove reference to CVS.
5319
5ca3d30c
RS
53202008-01-31 Richard Sandiford <rsandifo@nildram.co.uk>
5321
5322 PR target/34900
5323 * config/mips/mips.c (gen_load_const_gp): New function, taking a
5324 comment from...
5325 (mips16_gp_pseudo_reg): ...here.
5326 * config/mips/mips.md (load_const_gp): Replace with...
5327 (load_const_gp_<mode>): ...this :P-based insn.
5328
89fe7f1b
MLI
53292008-01-31 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
5330
5331 * doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
5332 options. Minor fixes.
5333 (-std): Move reference to standards closer to where language
5334 standards are first mentioned.
5335
1f7f6676
RS
53362008-01-31 Richard Sandiford <rsandifo@nildram.co.uk>
5337
5338 PR rtl-optimization/34995
5339 * reload.c (alternative_allows_const_pool_ref): Take an rtx
5340 parameter and return a bool. If the rtx parameter is nonnull,
5341 check that it satisfies an EXTRA_MEMORY_CONSTRAINT.
5342 (find_reloads): Update call accordingly. Pass the new operand
5343 if it needed no address reloads, otherwise pass null.
5344
2ae7b972
RH
53452008-01-30 Richard Henderson <rth@redhat.com>
5346
5347 PR c/34993
5348 * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
5349 for unbounded arrays.
5350
493f36a7
SR
53512008-01-30 Silvius Rus <rus@google.com>
5352
5353 * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
5354
d6951cae
JH
53552008-01-30 Jan Hubicka <jh@suse.cz>
5356
5357 PR target/34982
5358 * i386.c (init_cumulative_args): Use real function declaration when
5359 calling locally.
5360
f36a5a88
RS
53612008-01-30 Richard Sandiford <rsandifo@nildram.co.uk>
5362
5363 PR rtl-optimization/34998
5364 * global.c (build_insn_chain): Treat non-subreg_lowpart
5365 SUBREGs of pseudos as clobbering all the words covered by the
5366 SUBREG, not just all the bytes.
5367 * ra-conflict.c (clear_reg_in_live): Likewise. Take the
5368 original df_ref rather than an extract parameter.
5369 (global_conflicts): Update call accordingly.
5370
393c0058
AK
53712008-01-30 Andreas Krebbel <krebbel1@de.ibm.com>
5372
5373 * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
5374 the overflow check to make it easier to read.
5375 (__fixtfdi): Change the type of the ll member in union
5376 long_double to UDItype_x.
5377
1033ffa8
JJ
53782008-01-30 Jakub Jelinek <jakub@redhat.com>
5379
2bafad93
JJ
5380 PR middle-end/34969
5381 * cgraph.h (cgraph_update_edges_for_call_stmt): New prototype.
5382 * cgraph.c (cgraph_update_edges_for_call_stmt): New function.
5383 * tree-inline.c (fold_marked_statements): Call
5384 cgraph_update_edges_for_call_stmt if folding a call statement.
5385 * cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for
5386 debug_generic_stmt calls, reset it back afterwards.
5387
1033ffa8
JJ
5388 PR c/35017
5389 * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
5390 static decls.
5391 * c-typeck.c (build_external_ref): Don't pedwarn about
5392 static vars in current function's scope.
5393
ed32d842
JM
53942008-01-29 Joseph Myers <joseph@codesourcery.com>
5395
5396 * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
5397
ea429753
BF
53982008-01-29 Bernhard Fischer <aldot@gcc.gnu.org>
5399
5400 PR c/35002
5401 * ipa-struct-reorg.c: Fix spelling.
5402 * params.def: Ditto.
5403
4f5c64b8
RG
54042008-01-29 Richard Guenther <rguenther@suse.de>
5405
5406 PR middle-end/35006
5407 * tree-inline.h (struct copy_body_data): Add remapping_type_depth
5408 field.
5409 * tree-inline.c (remap_type): Increment remapping_type_depth
5410 around remapping types.
5411 (copy_body_r): Only add referenced variables if they are referenced
5412 from code, not types.
5413
7b3e2d46
DG
54142008-01-29 Douglas Gregor <doug.gregor@gmail.com>
5415
5416 PR c++/34055
5417 PR c++/34103
5418 PR c++/34219
5419 PR c++/34606
5420 PR c++/34753
5421 PR c++/34754
5422 PR c++/34755
5423 PR c++/34919
5424 PR c++/34961
5425 * c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
5426 qualifiers for an ERROR_MARK_NODE or a NULL_TREE.
5427
12720317
AH
54282008-01-28 Andy Hutchinson <hutchinsonandy@netscape.net>
5429
5430 PR target/34412
5431 * config/avr/avr.c (expand_prologue): Use correct QI mode frame
5432 pointer for tiny stack.
5433
b814cc0a
BF
54342008-01-28 Bernhard Fischer <aldot@gcc.gnu.org>
5435
5436 * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
5437
f46ff798
BF
54382008-01-28 Bernhard Fischer <aldot@gcc.gnu.org>
5439
5440 * config/vx-common.h: Fix typo in comment.
5441
e8b0eabc
ILT
54422008-01-28 Ian Lance Taylor <iant@google.com>
5443
5444 PR c++/34862
5445 PR c++/33407
5446 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
5447 coalesce pointers if they have different DECL_NO_TBAA_P values.
5448 * tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
5449 between variables with different DECL_NO_TBAA_P values.
5450
2aa42e6e
NF
54512008-01-28 Nathan Froyd <froydnj@codesourcery.com>
5452
5453 PR 31535
5454 * config/rs6000/rs6000.c (small_data_operand): Vectors and floats
5455 are not legitimate small data references on SPE targets.
5456
4e2e9e9b
DD
54572008-01-28 David Daney <ddaney@avtrex.com>
5458
5459 * doc/install.texi (mips-*-*): Recommend binutils 2.18.
5460
a26c7632
DD
54612008-01-28 David Daney <ddaney@avtrex.com>
5462
5463 * doc/install.texi (--disable-libgcj-bc): Reword documentation.
5464
4f605349
JM
54652008-01-27 Joseph Myers <joseph@codesourcery.com>
5466
5467 * config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*,
5468 m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*,
5469 *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*,
5470 *-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout,
5471 hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
5472 i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*,
5473 i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*,
5474 vax-*-bsd*, vax-*-ultrix*): Mark obsolete.
5475
9e148d6a
BF
54762008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
5477
5478 * basic-block.h (condjump_equiv_p): Fix comment.
5479
f749d3c6
BF
54802008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
5481
5482 * tree-pretty-print.c (print_generic_decl, print_generic_stmt,
5483 print_generic_stmt_indented): Fix comment.
5484
fed6d628
BF
54852008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
5486
5487 * configure.ac (__stack_chk_fail): Add detecion for availability
5488 of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined.
5489 * configure: Regenerate.
5490
c01e4479
MK
54912008-01-26 Maxim Kuvyrkov <maxim@codesourcery.com>
5492
5493 PR middle-end/34688
5494 * final.c (output_addr_const): Handle TRUNCATE.
5495
6e8c65f6
ZD
54962008-01-26 Zdenek Dvorak <ook@ucw.cz>
5497
5498 PR target/34711
5499 * tree-ssa-loop-ivopts.c (comp_cost): New type.
5500 (zero_cost, infinite_cost): New constants.
5501 (struct cost_pair): Change type of cost to comp_cost.
5502 (struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
5503 (new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
5504 New functions.
5505 (set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
5506 split_address_cost, ptr_difference_cost, difference_cost,
5507 get_computation_cost_at, get_computation_cost,
5508 determine_use_iv_cost_generic, determine_use_iv_cost_address,
5509 determine_use_iv_cost_condition, determine_use_iv_costs,
5510 cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
5511 iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
5512 iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
5513 Change type of cost to comp_cost.
5514 (determine_iv_cost): Increase cost of non-original ivs, instead
5515 of decreasing the cost of original ones.
5516 (get_address_cost): Indicate the complexity of the addressing mode
5517 in comp_cost.
5518 (try_add_cand_for): Prefer using ivs not specific to some object.
5519 * tree-flow.h (force_expr_to_var_cost): Declaration removed.
5520
c01e4479 55212008-01-26 Peter Bergner <bergner@vnet.ibm.com>
e41b2a33
PB
5522 Janis Johnson <janis187@us.ibm.com>
5523
5524 PR target/34814
5525 * doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
5526 (TARGET_INSTANTIATE_DECLS): Likewise.
5527 * target.h (expand_to_rtl_hook): New target hook.
5528 (instantiate_decls): Likewise.
5529 * function.c (instantiate_decl): Make non-static. Rename to...
5530 (instantiate_decl_rtl): ... this.
5531 (instantiate_expr): Use instantiate_decl_rtl.
5532 (instantiate_decls_1): Likewise.
5533 (instantiate_decls): Likewise.
5534 (instantiate_virtual_regs: Call new instantiate_decls taget hook.
5535 * function.h (instantiate_decl_rtl): Add prototype.
5536 * cfgexpand.c (target.h): New include.
5537 (tree_expand_cfg): Call new expand_to_rtl_hook target hook.
5538 * target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
5539 (TARGET_INSTANTIATE_DECLS): Likewise.
5540 (TARGET_INITIALIZER): New target hooks added.
5541 * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
5542 New prototype.
5543 * config/rs6000/rs6000.c (tree-flow.h): New include.
5544 (machine_function): Add sdmode_stack_slot field.
5545 (rs6000_alloc_sdmode_stack_slot): New function.
5546 (rs6000_instantiate_decls): Likewise.
5547 (rs6000_secondary_memory_needed_rtx): Likewise.
5548 (rs6000_check_sdmode): Likewise.
5549 (TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
5550 (TARGET_INSTANTIATE_DECLS): Likewise.
5551 (rs6000_hard_regno_mode_ok): Allow SDmode.
5552 (num_insns_constant): Likewise. Handle _Decimal32 constants.
5553 (rs6000_emit_move): Handle SDmode.
5554 (function_arg_advance): Likewise.
5555 (function_arg): Likewise.
5556 (rs6000_gimplify_va_arg): Likewise. Add special handling of
5557 SDmode var args for 32-bit compiles.
5558 (rs6000_secondary_reload_class): Handle SDmode.
5559 (rs6000_output_function_epilogue): Likewise.
5560 (rs6000_function_value): Simplify if statement.
5561 (rs6000_libcall_value): Likewise.
5562 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
5563 (SECONDARY_MEMORY_NEEDED_RTX): Add define.
5564 * config/rs6000/dfp.md (movsd): New define_expand and splitter.
5565 (movsd_hardfloat): New define_insn.
5566 (movsd_softfloat): Likewise.
5567 (movsd_store): Likewise.
5568 (movsd_load): Likewise.
5569 (extendsddd2): Likewise.
5570 (extendsdtd2): Likewise.
5571 (truncddsd2): Likewise.
5572 (movdd_hardfloat64): Fixup comment.
5573 (UNSPEC_MOVSD_LOAD): New constant.
5574 (UNSPEC_MOVSD_STORE): Likewise.
5575
6f536f74
JJ
55762008-01-26 Jakub Jelinek <jakub@redhat.com>
5577
5578 PR c++/34965
5579 * c-pretty-print.c (pp_c_exclusive_or_expression): Handle
5580 TRUTH_XOR_EXPR.
5581 (pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
5582 (pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
5583 (pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
5584 and TRUTH_XOR_EXPR.
5585
ba6a1b78
DE
55862008-01-26 David Edelsohn <edelsohn@gnu.org>
5587
5588 PR target/34794
5589 * config.gcc: Separate AIX 5.3 from AIX 6.1.
5590 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
5591 __LONGDOUBLE128 too.
5592 * config/rs6000/aix61.h: New file.
5593
1230d7f8
RS
55942008-01-26 Richard Sandiford <rsandifo@nildram.co.uk>
5595
5596 PR rtl-optimization/34959
5597 * optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
5598 popcount and parity rtxes the same mode as their operand.
5599 Truncate or extend the result to the return value's mode
5600 if necessary.
5601
dbc90b65
RS
56022008-01-26 Richard Sandiford <rsandifo@nildram.co.uk>
5603
5604 PR target/34981
5605 * config/mips/mips-protos.h (mips_expand_call): Return an rtx.
5606 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
5607 to GOT_VERSION_REGNUM.
5608 (CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
5609 (EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
5610 * config/mips/mips.c (mips_emit_call_insn): New function.
5611 (mips_call_tls_get_addr): Call mips_expand_call directly.
5612 (mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
5613 emit_call_insn.
5614 (mips16_build_call_stub): Likewise. Return the call insn or null.
5615 (mips_expand_call): Update the call to mips16_build_call_stub
5616 accordingly and a remove redundant condition. Assert that MIPS16
5617 stubs do not use lazy binding. Use mips_emit_call_insn and return
5618 the call insn.
5619 (mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
5620 TARGET_USE_GOT.
5621 (mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
5622 (mips_avoid_hazard): Remove hazard_set handling.
5623 * config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
5624 (UNSPEC_RESTORE_GP): ...this.
5625 (UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
5626 (FAKE_CALL_REGNO): Rename to...
5627 (GOT_VERSION_REGNUM): ...this.
5628 (type): Add "ghost" value. Add an associated insn reservation.
5629 (hazard_set): Remove.
5630 (exception_receiver): Rename to...
5631 (restore_gp): ...this and update the unspec identifier accordingly.
5632 (exception_receiver, nonlocal_got_receiver): New expanders.
5633 (load_call<mode>): Use GOT_VERSION_REGNUM. Don't set
5634 FAKE_CALL_REGNO. Remove hazard_set attribute.
5635 (set_got_version, update_got_version): New patterns.
5636
763a27ee
DS
56372008-01-26 Danny Smith <dannysmith@users.sourceforge.net>
5638
5639 PR target/34970
5640 * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
5641
3725c0ca
JM
56422008-01-25 Joseph Myers <joseph@codesourcery.com>
5643
5644 PR other/31955
5645 * doc/install.texi2html: Generate gcc-vers.texi.
5646
0288980f
DD
56472008-01-25 DJ Delorie <dj@redhat.com>
5648
5649 * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5650
8d8da227
JM
56512008-01-25 Joseph Myers <joseph@codesourcery.com>
5652
5653 * config/c4x: Remove directory.
5654 * config.gcc (crx-*, mt-*): Mark obsolete.
5655 (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
5656 h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
5657 sh-*-rtemscoff*): Remove cases.
5658 * defaults.h (C4X_FLOAT_FORMAT): Remove.
5659 * real.c (encode_c4x_single, decode_c4x_single,
5660 encode_c4x_extended, decode_c4x_extended, c4x_single_format,
5661 c4x_extended_format): Remove.
5662 * real.h (c4x_single_format, c4x_extended_format): Remove.
5663 * doc/extend.texi (interrupt, naked): Remove mention of attributes
5664 on C4x.
5665 (Pragmas): Remove comment about c4x pragmas.
5666 * doc/install.texi (c4x): Remove target-specific instructions.
5667 * doc/invoke.texi (TMS320C3x/C4x Options): Remove.
5668 * doc/md.texi (Machine Constraints): Remove C4x documentation.
5669 * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
5670 refer to C4x source files as examples.
5671 (C4X_FLOAT_FORMAT): Remove documentation.
5672
fb7c3b05
BS
56732008-01-25 Bernd Schmidt <bernd.schmidt@analog.com>
5674
5675 * config/bfin/bfin.c (override_options): Reorder tests so that
5676 flag_pic gets enabled for -msep-data.
5677
dd3b33d7
RG
56782008-01-25 Richard Guenther <rguenther@suse.de>
5679
5680 PR middle-end/32244
5681 * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
5682 to its bitfield precision if required.
5683
c256730c
JJ
56842008-01-25 Jakub Jelinek <jakub@redhat.com>
5685
5686 PR middle-end/33880
5687 * tree-nested.c (walk_omp_for): New function.
5688 (convert_nonlocal_reference, convert_local_reference): Call
5689 walk_omp_for on OMP_FOR.
5690 (convert_call_expr): Call walk_body on OMP_FOR's
5691 OMP_FOR_PRE_INIT_BODY.
5692
59805c3b
RG
56932008-01-25 Richard Guenther <rguenther@suse.de>
5694
5695 PR tree-optimization/34966
5696 * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
5697 default defs and PHI_NODEs we have to insert after the
5698 defining statement.
5699
f84fe9b6
NC
57002008-01-24 Nick Clifton <nickc@redhat.com>
5701
5702 * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
5703 Provide a default definition.
5704 (LIBGCC2_UNITS_PER_WORD): Likewise.
5705
5706 * config/stormy16/stormy16.c: Include df.h for the prototype
5707 for df_regs_ever_live_p.
5708 (xstormy16_expand_builtin_va_start): Convert the stack offset
5709 into a component_ref and then use POINTER_PLUS_EXPR to add it
5710 to the incoming_virtual_args_rtx.
5711 (xstormy16_gimplify_va_arg_expr): Rename to
5712 xstormy16_gimplify_va_arg_expr.
5713 Use POINTER_PLUS_EXPR when performing pointer arithmetic.
5714 (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
5715 xstormy16_gimplify_va_arg_expr.
5716 Fix up some formatting issues.
5717
5718 * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand):
5719 Move to predicates.md.
5720 (xs_hi_general_operand): Likewise.
5721 (xs_hi_nonmemory_operand): Likewise.
5722 * config/stormy16/predicates.md:
5723 (xstormy16_carry_plus_operand): New predicate.
5724 (xs_hi_general_operand): New predicate.
5725 (xs_hi_nonmemory_operand): New predicate.
5726 * config/stormy16/stormy16-protos.h:
5727 (xstormy16_carry_plus_operand): Delete prototype.
5728 (xs_hi_general_operand): Likewise.
5729 (xs_hi_nonmemory_operand): Likewise.
5730
5731 * config/storm16/stormy16.md (addhi3): Remove earlyclobber
5732 modifiers as they are no longer needed and they can trigger
5733 reload spill failures.
5734
5735 * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
5736 with a match_operand in order to help reload.
5737
5738 * config/storm16/stormy16.md (movhi_internal): Replace 'r'
5739 constraint with 'e' for the 8th alternative as this version of
5740 the mov.w instruction only accepts the lower 8 registers.
5741
d1f0728e
UB
57422008-01-25 Uros Bizjak <ubizjak@gmail.com>
5743
5744 PR target/34856
5745 * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
5746 Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
5747 vector elements.
5748
80e67011
JJ
57492008-01-25 Jakub Jelinek <jakub@redhat.com>
5750
5751 PR middle-end/33333
5752 * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.
5753
1525f2c3
GO
57542008-01-25 Golovanevsky Olga <olga@il.ibm.com>
5755
5756 * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
5757 New functions.
5758 (remove_structure): Update allocations list before removing structure.
5759
bd91d743
OG
57602008-01-25 Golovanevsky Olga <olga@il.ibm.com>
5761
5762 * ipa-struct-reorg.c (is_safe_cond_expr,
5763 create_new_stmts_for_cond_expr): Use integer_zerop function,
5764 that recognize not only zero-pointer, but zero-integer too.
5765
ae7a8ebc
BE
57662008-01-25 Ben Elliston <bje@au.ibm.com>
5767
5768 PR other/22232
5769 * fixproto: Escape "." in sed expression that strips leading "./".
5770
3371362c
L
57712008-01-24 H.J. Lu <hongjiu.lu@intel.com>
5772
5773 PR driver/34904
5774 * gcc.c (SWITCH_OK): Removed.
5775 (SWITCH_LIVE): Changed to bit.
5776 (SWITCH_FALSE): Likewise.
5777 (SWITCH_IGNORE): Likewise.
5778 (switchstr): Change live_cond to unsigned int.
5779 (process_command): Replace SWITCH_OK with 0.
5780 (do_self_spec): Likewise.
5781 (set_collect_gcc_options): Check the SWITCH_IGNORE bit.
5782 (give_switch): Likewise.
5783 (used_arg): Likewise.
5784 (do_spec_1): Set the SWITCH_IGNORE bit.
5785 (check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE
5786 bits. Set the SWITCH_LIVE bit.
5787
5f1b2ee6
AK
57882008-01-24 Andreas Krebbel <krebbel1@de.ibm.com>
5789
5790 * config/s390/s390.h (MOVE_RATIO): Define new target macro.
5791
986d97ed
RS
57922008-01-24 Richard Sandiford <rsandifo@nildram.co.uk>
5793
5794 PR tree-optimization/34472
5795 * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
5796 parameter to a "bool *" and set *DATA to false if there is
5797 an unsafe access. Do not delete the structure here.
5798 (check_cond_exprs): Delete it here instead.
5799 (check_cond_exprs, exclude_cold_structs): Do not increase
5800 I when removing a structure.
5801
fcc44808
UB
58022008-01-24 Uros Bizjak <ubizjak@gmail.com>
5803
5804 PR target/34856
5805 * config/i386/i386.c (ix86_expand_vector_init): Consider only
5806 CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements.
5807
134c2de3
JJ
58082008-01-24 Jakub Jakub Jelinek <jakub@redhat.com>
5809
5810 PR middle-end/34934
5811 * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
5812 a fixed vector for stack.
5813
89bf8683
BE
58142008-01-24 Ben Elliston <bje@au.ibm.com>
5815
5816 PR c++/25701
5817 * doc/gcc.texi (Software development): Add a direntry for g++.
5818
02a4bca9
HPN
58192008-01-23 Hans-Peter Nilsson <hp@axis.com>
5820
6c660aeb
HPN
5821 * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
5822 stale and straggling -fforce-addr comments above.
5823
02a4bca9
HPN
5824 * config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't
5825 define.
5826 * config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define.
5827 * config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define.
5828
b4da9f9d
MM
58292008-01-23 Michael Matz <matz@suse.de>
5830
5831 PR debug/34895
5832 * dwarf2out.c (force_type_die): Use modified_type_die instead of
5833 gen_type_die.
5834
1b7af7b0
AK
58352008-01-23 Andreas Krebbel <krebbel1@de.ibm.com>
5836
5837 * ipa-struct-reorg.c (create_new_malloc): Use pointer type as
5838 malloc result type.
5839
19298da4
AS
58402008-01-23 Anatoly Sokolov <aesok@post.ru>
5841
5842 * config/avr/avr.c (avr_current_arch): New variable.
5843 (avr_arch_types): Add 'avr31' and 'avr51' entries.
5844 (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
5845 (avr_mcu_types): Add 'avr31' and 'avr51' architectures.
5846 (avr_override_options): Init 'avr_current_arch'.
5847 (base_arch_s): Move from here...
5848 * config/avr/avr.h (base_arch_s): ... here. Add new members
5849 'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename
5850 'mega' to 'have_jmp_call'.
5851 (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__",
5852 "__AVR_HAVE_RAMPZ__", "__AVR_HAVE_ELPM__" and "__AVR_HAVE_ELPMX__"
5853 macros.
5854 (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51'
5855 architectures.
5856 * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
5857 MULTILIB_MATCHES): (Ditto.).
5858
b86b3ea3
RG
58592008-01-23 Richard Guenther <rguenther@suse.de>
5860
5861 PR middle-end/31529
5862 * cgraphunit.c (cgraph_reset_node): Always mark the node
5863 not reachable if it is not queued already.
5864
fa8d4a0f
BS
58652008-01-23 Bernd Schmidt <bernd.schmidt@analog.com>
5866
5867 * config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
5868 * config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
5869 (cputype_selected): New static variable.
5870 (bfin_handle_option): Set it if -mcpu is used.
5871 (override_option): Select default set of workarounds if no cpu type
5872 selected on the command line.
5873 (workaround_rts_anomaly): Only run if ENABLE_WA_RETS.
64882649
BS
5874
5875 From Michael Frysinger <michael.frysinger@analog.com>
5876 * config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
5877 BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
5878
5879 * config/bfin/elf.h (LIB_SPEC): Use proper linker script
5880 for bf547, bf523, bf524, and bf526.
5881 * config/bfin/bfin.c (bfin_cpus[]): Add bf547, bf523, bf524, and
5882 bf526.
5883 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
5884 __ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
5885 __ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
5886 __ADSPBF547__ and __ADSPBF54x__ for bf547.
5887 * doc/invoke.texi (Blackfin Options): Document that
5888 -mcpu now accept bf547, bf523, bf524, and bf526.
5889
df1a98ae
EB
58902008-01-22 Eric Botcazou <ebotcazou@adacore.com>
5891
5892 PR rtl-optimization/34628
5893 * combine.c (try_combine): Stop and undo after the first combination
5894 if an autoincrement side-effect on the first insn has effectively
5895 been lost.
5896
1a23970d
DE
58972008-01-22 David Edelsohn <edelsohn@gnu.org>
5898
5899 PR target/34529
5900 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
5901 Offset addresses are not valid for Altivec or paired float modes.
5902
42a89d2d
JJ
59032008-01-22 Jakub Jelinek <jakub@redhat.com>
5904
61c3a446
JJ
5905 PR c++/34607
5906 * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for
5907 if DECL_INITIAL (decl) is error_mark_node.
5908
270e749d
JJ
5909 PR c++/34914
5910 * c-common.c (handle_vector_size_attribute): Only allow
5911 integral, scalar float and fixed point types. Handle OFFSET_TYPE
5912 the same way as pointer, array etc. types.
5913 * tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.
5914
42a89d2d
JJ
5915 PR c++/34917
5916 * tree.c (build_type_attribute_qual_variant): Call
5917 build_qualified_type if attributes are equal, but quals are not.
5918
027b740e
MLI
59192008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
5920
5921 PR 32102
5922 * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
5923 * flags.h (warn_strict_aliasing): Remove.
5924 (warn_strict_overflow): Remove.
5925 * opts.c (warn_strict_aliasing): Remove.
5926 (warn_strict_overflow): Remove.
5927 * c-opts.c (c_common_handle_option): -Wall only sets
5928 -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
5929 (c_common_post_options): Give default values to -Wstrict-aliasing
5930 and -Wstrict-overflow if they are uninitialized.
5931 * common.opt (Wstrict-aliasing): Specify Var and Init.
5932 (Wstrict-overflow): Likewise.
5933
963acd6f
KZ
59342008-01-22 Kenneth Zadeck <zadeck@naturalbridge.com>
5935
5936 PR rtl-optimization/26854
5937 PR rtl-optimization/34400
5938 PR rtl-optimization/34884
5939 * ddg.c (create_ddg_dep_from_intra_loop_link): Use
5940 DF_RD->gen.
5941 * df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
5942 (df_rd_bb_info.expanded_lr_out): Deleted
5943 * loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
5944 * loop_iv.c (iv_analysis_loop_init): Ditto. * df-problems.c
5945 (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
5946 df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
5947 Removed code to allocate, initialize or free expanded_lr_out.
5948 (df_rd_bb_local_compute_process_def): Restructured to make more
5949 understandable.
5950 (df_rd_confluence_n): Removed code to no apply invalidate_by_call
5951 sets if the sets are being trimmed.
5952
115e6e55
L
59532008-01-22 H.J. Lu <hongjiu.lu@intel.com>
5954
5955 PR bootstrap/32287
5956 * configure.ac (ld_vers): Support GNU linker version xx.xx.*
5957 (as_vers): Likewise.
5958 * configure: Regenerated.
5959
f9d02384
MLI
59602008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
5961
5962 PR middle-end/33092
5963 * tree-pass.h (pass_build_alias): New pass.
5964 * tree-ssa-alias.c (gate_build_alias): New.
5965 (pass_build_alias): New.
5966 * passes.c (init_optimization_passes): Add pass_build_alias after
5967 pass_create_structure_vars.
5968
0387c142
WG
59692008-01-22 Wolfgang Gellerich <gellerich@de.ibm.com>
5970
5971 * config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
5972 Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
5973 (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
5974 S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
5975 (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
5976 S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
5977 (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
5978 S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
5979 (S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
5980 (S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
5981 (S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
5982 (S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
5983 * config/s390/s390.md (FP_ALL): New mode iterator.
5984 (_d): New mode attribute.
5985 ("*signbit<mode>2>"): Changed mode of first operand.
5986 ("isinf<mode>2"): Changed mode of first operand.
5987 ("*TDC_insn"): Adaptation for DFP modes.
5988
1d4f5374
BE
59892008-01-22 Ben Elliston <bje@au.ibm.com>
5990
5991 * tree.c (check_qualified_type): Improve function description.
5992
33b45227
JM
59932008-01-21 Jason Merrill <jason@redhat.com>
5994
5995 PR c++/34196
5996 * tree.h (TRY_CATCH_IS_CLEANUP): New macro.
5997 * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
5998 if it is set.
5999
79e168da
DD
60002008-01-21 DJ Delorie <dj@redhat.com>
6001
6002 * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
6003 return zero.
6004
bb0c55f6
RG
60052008-01-21 Richard Guenther <rguenther@suse.de>
6006
6007 PR middle-end/34856
6008 * tree-cfg.c (verify_expr): Allow all invariant expressions
6009 instead of just constant class ones as reference argument.
6010 * tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
6011 like any other constant.
6012 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
6013
94c54fea
L
60142008-01-21 H.J. Lu <hongjiu.lu@intel.com>
6015
6016 * regmove.c (fixup_match_1): Update call crossed frequencies.
6017
c54e3854
RG
60182008-01-21 Richard Guenther <rguenther@suse.de>
6019
6020 PR c/34885
6021 * tree-inline.c (setup_one_parameter): Deal with mismatched
6022 types using a VIEW_CONVERT_EXPR.
6023
b158b5c6
AD
60242008-01-21 Alon Dayan <alond@il.ibm.com>
6025 Olga Golovanevsky <olga@il.ibm.com>
6026
6027 PR tree-optimization/34701
6028 * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
6029 when the structure size is not a power of 2.
6030
604f825c
KZ
60312008-01-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6032
6033 * doc/install.texi: Add doc for --enable-checking=df.
6034
539c54ba
KK
60352008-01-20 Kaz Kojima <kkojima@gcc.gnu.org>
6036
6037 PR rtl-optimization/34808
6038 * emit-rtl.c (try_split): Handle REG_RETVAL notes.
6039
ecff8c1c
RS
60402008-01-20 Richard Sandiford <rsandifo@nildram.co.uk>
6041
6042 * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per
6043 input.
6044
2b49e1a0
KZ
60452008-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
6046
6047 PR rtl-optimization/26854
6048 PR rtl-optimization/34400
6049 * ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
6050 DF_RD->gen.
6051 * df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
6052 (df_rd_bb_info.expanded_lr_out): New.
6053 * loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
6054 * loop_iv.c (iv_analysis_loop_init): Ditto.
6055 * df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
6056 df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
6057 Added code to allocate, initialize or free expanded_lr_out.
6058 (df_rd_bb_local_compute_process_def): Restructured to make
6059 more understandable.
6060 (df_rd_confluence_n): Add code to do nothing with fake edges and
6061 code to no apply invalidate_by_call sets if the sets are being trimmed.
6062 (df_lr_local_finalize): Renamed to df_lr_finalize.
6063 (df_live_local_finalize): Renamed to df_live_finalize.
6064
0decaff6
RS
60652008-01-20 Richard Sandiford <rsandifo@nildram.co.uk>
6066
6067 PR target/34831
6068 * config/mips/mips.md (div<mode>3): Use <recip_condition> when
6069 deciding whether to use reciprocal instructions.
6070
d0b9dbd5
UB
60712008-01-19 Uros Bizjak <ubizjak@gmail.com>
6072
6073 * dwarf2out.c (dwarf2out_switch_text_section): Do not call
6074 dwarf2out_note_section_used if cold_text_section is NULL.
6075
135a171d
JJ
60762008-01-19 Jakub Jelinek <jakub@redhat.com>
6077
6078 PR gcov-profile/34610
6079 * tree-cfg.c (make_edges): Mark both outgoing edges from
6080 OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL.
6081 * omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits
6082 from OMP_FOR and OMP_CONTINUE outgoing edges.
6083
6084 * tree-profile.c (tree_profiling): Return early if
6085 cfun->after_tree_profile != 0. Set cfun->after_tree_profile
6086 at the end.
6087 * omp-low.c (expand_omp_parallel): Copy after_tree_profile
6088 from cfun to child_cfun.
6089 * function.h (struct function): Add after_tree_profile bit.
6090
0a84fec6
AS
60912008-01-19 Anatoly Sokolov <aesok@post.ru>
6092
6093 * config/avr/avr.S (_exit): Disable interrupt.
6094
5aa52064
KZ
60952008-01-18 Kenneth Zadeck <zadeck@naturalbridge.com>
6096 Steven Bosscher <stevenb.gcc@gmail.com>
6097
6098 PR rtl-optimization/26854
6099 PR rtl-optimization/34400
6100 * df-problems.c (df_live_scratch): New scratch bitmap.
6101 (df_live_alloc): Allocate df_live_scratch when doing df_live.
6102 (df_live_reset): Clear the proper bitmaps.
6103 (df_live_bb_local_compute): Only process the artificial defs once
6104 since the order is not important.
6105 (df_live_init): Init the df_live sets only with the variables
6106 found live by df_lr.
6107 (df_live_transfer_function): Use the df_lr sets to prune the
6108 df_live sets as they are being computed.
6109 (df_live_free): Free df_live_scratch.
6110
28a08168
ILT
61112008-01-18 Ian Lance Taylor <iant@google.com>
6112
6113 * common.opt: Add fmerge-debug-strings.
6114 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test
6115 flag_merge_debug_strings rather than flag_merge_constants.
6116 * doc/invoke.texi (Option Summary): Mention
6117 -fmerge-debug-strings.
6118 (Debugging Options): Document -fmerge-debug-strings.
6119
1ea193c2
ILT
61202008-01-18 Ian Lance Taylor <iant@google.com>
6121
6122 PR c++/33407
6123 * tree.h (DECL_IS_OPERATOR_NEW): Define.
6124 (struct tree_function_decl): Add new field operator_new_flag.
6125 * tree-inline.c (expand_call_inline): When inlining a call to
6126 operator new, force the return value to go into a variable, and
6127 set DECL_NO_TBAA_P on that variable.
6128 * c-decl.c (merge_decls): Merge DECL_IS_OPERATOR_NEW flag.
6129
74ab34d3
UB
61302008-01-18 Uros Bizjak <ubizjak@gmail.com>
6131
6132 PR debug/34484
6133 * dwarf2out.c (dwarf2out_switch_text_section): Do not guard with
6134 DWARF2_DEBUGGING_INFO.
6135 (dwarf2out_note_section_used): Ditto. Add prototype.
6136 (have_multiple_function_sections, text_section_used,
6137 cold_text_section_used, *cold_text_sections): Move declarations
6138 before their uses.
6139
9a75e92d 61402008-01-17 Bob Wilson <bob.wilson@acm.org>
6c633d45
BW
6141
6142 * config/xtensa/unwind-dw2-xtensa.h (_Unwind_FrameState): Remove pc
6143 field and add signal_ra.
6144 * config/xtensa/unwind-dw2-xtensa.c (uw_frame_state_for): Remove
6145 assignments to frame state pc. Move end of stack check after
6146 MD_FALLBACK_FRAME_STATE_FOR.
6147 (uw_update_context_1): Use frame state signal_regs if set, instead
6148 of checking signal_frame flag.
6149 (uw_update_context): Use frame state signal_ra if set.
6150 * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Define.
6151 * config/xtensa/linux-unwind.h: New file.
6152
9a75e92d 61532008-01-18 Bernhard Fischer <aldot@gcc.gnu.org>
4117d6f7
BF
6154
6155 * modulo-sched.c (get_sched_window): Fix comment typo.
6156
fae25b37
AM
61572008-01-17 Andrew MacLeod <amacleod@redhat.com>
6158
6159 PR tree-optimization/34648
6160 * tree-ssa-sccvn.c (visit_use): Expressions which can throw are varying.
6161
2e152e16
AS
61622008-01-17 Anatoly Sokolov <aesok@post.ru>
6163
6164 * config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
6165 * config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.
6166
185082a7
SP
61672008-01-17 Seongbae Park <seongbae.park@gmail.com>
6168
6169 PR rtl-optimization/34400
6170 * df-core.c (df_worklist_dataflow_overeager,
6171 df_worklist_dataflow_doublequeue): New functions.
6172 (df_worklist_dataflow): Two different worklist solvers.
6173 * params.def (PARAM_DF_DOUBLE_QUEUE_THRESHOLD_FACTOR):
6174 New param.
6175
01a550c2
SP
61762008-01-16 Sebastian Pop <sebastian.pop@amd.com>
6177
6178 PR testsuite/34821
6179 * doc/invoke.texi: Document the dependence on pthread for fopenmp
6180 and ftree-parallelize-loops.
6181
80663107
MN
61822008-01-17 Mircea Namolaru <namolaru@il.ibm.com>
6183
6184 PR rtl-optimization/34826
6185 * loop-doloop (doloop_modify): Update the REG_BR_PROB note.
6186
599824d2
AK
61872008-01-17 Andreas Krebbel <krebbel1@de.ibm.com>
6188
6189 * global.c (find_reg): Mark the eh regs as used if necessary.
6190 * ra-conflict.c (global_conflicts): Set no_eh_reg flag.
6191 * ra.h (struct allocno): no_eh_reg field added. Changed
6192 no_stack_reg type to bitfield.
6193
9328dd57
EB
61942008-01-17 Eric Botcazou <ebotcazou@adacore.com>
6195
6196 * tree.c (substitute_in_expr): Add missing 'break'.
6197
8a5b57cd
RG
61982008-01-17 Richard Guenther <rguenther@suse.de>
6199
6200 PR tree-optimization/34825
6201 * tree-ssa-math-opts.c (is_division_by): Do not recognize
6202 x / x as division to handle.
6203
e7ce29e7
JDA
62042008-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6205
6206 * pa64-hpux.h (LIB_SPEC): Add "-lpthread" in shared links if "-mt" or
6207 "-pthread" is specified.
6208 * pa-hpux11.h (LIB_SPEC): Likewise.
6209
9a75e92d 62102008-01-16 Janis Johnson <janis187@us.ibm.com>
37b87a3a
JJ
6211 Peter Bergner <bergner@vnet.ibm.com>
6212
6213 PR rtl-optimization/33796
6214 * sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc.
6215
6595ec51
JDA
62162008-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6217
6218 PR libgfortran/34699
6219 * pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on
6220 static links.
6221 * pa-hpux10.h (LINK_SPEC): Likewise.
6222 * pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1.
6223
bdb55eae
RG
62242008-01-16 Richard Guenther <rguenther@suse.de>
6225
6226 PR middle-end/32628
6227 * fold-const.c (fold_convert_const_int_from_int): Do not
6228 set overflow if that occured only because of a sign extension
6229 change when converting from/to a sizetype with the same
6230 precision and signedness.
6231
2e2c7ce2
UB
62322008-01-16 Uros Bizjak <ubizjak@gmail.com>
6233
6234 PR debug/34249
6235 * dwarf2out.c (output_call_frame_info): Move output of FDE initial
6236 location address to the correct place. Update copyright year.
6237
d49c149d
SP
62382008-01-16 Sebastian Pop <sebastian.pop@amd.com>
6239
6240 * lambda-code.c (lambda_transform_legal_p): Handle the case of
6241 no dependences in the dependence_relations vector.
6242
a03c6d64
JH
62432008-01-16 Jan Hubicka <jh@suse.cz>
6244
6245 PR rtl-optimization/31396
6246 * regstat.c (regstat_bb_compute_ri): Compute FREQ_CALLS_CROSSED.
6247 * cfg.c (dump_reg_info): Print it.
6248 * regs.h (struct reg_info_t): add freq_calls_crossed.
6249 (REG_FREQ_CALLS_CROSSED): New macro.
6250 * global.c (global_alloc): Compute freq_calls_crossed for allocno.
6251 (find_reg): Update call of CALLER_SAVE_PROFITABLE.
6252 * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
6253 regmove_optimize): Update call crossed frequencies.
6254 * local-alloc.c (struct qty): Add freq_calls_crossed.
6255 (alloc_qty): Copute freq_calls_crossed.
6256 (update_equiv_regs, combine_regs): Update REG_FREQ_CALLS_CROSSED.
6257 (find_free_reg): Update call of CALLER_SAVE_PROFITABLE.
6258 * ra.h (struct allocno): Add freq_calls_crossed.
6259
daf49354
SP
62602008-01-16 Sebastian Pop <sebastian.pop@amd.com>
6261
6262 * gcc.c (LINK_COMMAND_SPEC): Add includes and link options for
6263 libgomp when compiling with ftree-parallelize-loops.
6264 (GOMP_SELF_SPECS): Add -pthread for ftree-parallelize-loops.
6265
a1a5996d
RG
62662008-01-16 Richard Guenther <rguenther@suse.de>
6267
6268 PR tree-optimization/34769
6269 * tree-data-ref.c (initialize_matrix_A): Revert fix for PR34458.
6270 * tree.c (int_cst_value): Instead make this function more
6271 permissive in what it accepts as valid input. Document this
6272 function always sign-extends the value.
6273
de4af523 62742008-01-16 Jakub Jelinek <jakub@redhat.com>
d0b9dbd5 6275 Richard Guenther <rguenther@suse.de>
de4af523
JJ
6276
6277 PR c/34668
6278 * gimplify.c (fold_indirect_ref_rhs): Rename to ...
6279 (gimple_fold_indirect_ref_rhs): ... this.
6280 (gimple_fold_indirect_ref): New function with foldings
6281 that preserve lvalueness.
6282 (gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
6283 * tree-flow.h (gimple_fold_indirect_ref): Declare.
6284 * tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
6285 to fold an INDIRECT_REF, fall back to the old use of
6286 fold_indirect_ref_1.
6287
6935bae7
SP
62882008-01-16 Sebastian Pop <sebastian.pop@amd.com>
6289
6290 * tree-data-ref.c (subscript_dependence_tester_1): Call
6291 free_conflict_function.
6292 (compute_self_dependence): Same.
6293
a4b6974e
UB
62942008-01-16 Uros Bizjak <ubizjak@gmail.com>
6295
6296 PR debug/34249
6297 * debug.h (dwarf2out_switch_text_section): Move declaration from ...
6298 * dwarf2out.c (dwarf2out_switch_text_section): ... here. Make
6299 function global.
6300 * final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
6301 Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
6302 for DWARF2_UNWIND_INFO targets.
6303
eb1387a0
RG
63042008-01-16 Richard Guenther <rguenther@suse.de>
6305
6306 PR c/34768
6307 * c-typeck.c (common_pointer_type): Do not merge inconsistent
6308 type qualifiers for function types.
6309
9326236d
JD
63102008-01-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
6311
6312 * tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
6313 loop_iterator li from previous commit.
6314
63152008-01-15 Sebastian Pop <sebastian.pop@amd.com>
92a6bdbd
SP
6316
6317 * tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
6318
1d4af1e8
SP
63192008-01-12 Sebastian Pop <sebastian.pop@amd.com>
6320
6321 * tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
6322 (parallelize_loops): Don't parallelize irreducible components.
6323
8103eebf
MLI
63242008-01-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
6325
6326 PR c++/24924
6327 * c-opts (c_common_post_options): Do not enable CPP
6328 flag_pedantic_errors by default.
6329
d556d181
EB
63302008-01-14 Eric Botcazou <ebotcazou@adacore.com>
6331
6332 PR rtl-optimization/31944
6333 * cse.c (remove_pseudo_from_table): New function.
6334 (merge_equiv_classes): Use above function to remove pseudo-registers.
6335 (invalidate): Likewise.
6336
726612d2
RG
63372008-01-13 Richard Guenther <rguenther@suse.de>
6338
6339 PR middle-end/34601
6340 * emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE
6341 instead of TYPE_MODE to deal with calls from expand_one_error_var.
6342
51134e52
UB
63432008-01-13 Uros Bizjak <ubizjak@gmail.com>
6344
6345 * gcse.c (cprop_jump): Call validate_unshare_change instead of
6346 validate_change to unshare the source of the PC set.
6347
3097760b
JH
63482008-01-12 Jan Hubicka <jh@suse.cz>
6349
6350 PR middle-end/32135
6351 * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct
6352 references above array bounds. This might trigger bounds checks for
6353 pointers to arrays.
6354
42b22da8
SP
63552008-01-12 Sebastian Pop <sebastian.pop@amd.com>
6356
6357 * tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
6358 new_replaceable_dependencies.
6359
5db2e9ca
DK
63602008-01-12 Doug Kwan <dougkwan@google.com>
6361
6362 * c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
6363 instead of OPT_Wreturn_type in warning due to ignored return type
6364 qualifiers.
6365 * c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
6366 options included in -Wextra.
6367 * c.opt: New option -Wignored_qualifiers.
6368 * doc/invoke.texi (Warning Options, -Wextra): Add new option
6369 -Wignore_qualifiers.
6370 (-Wignored-qualifiers): Document.
6371 (-Wreturn-type): Remove description of functionality now handled
6372 by -Wignored-qualifiers.
6373
52ef2874
EB
63742008-01-12 Eric Botcazou <ebotcazou@adacore.com>
6375
6376 PR ada/33788
6377 * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Fold an existing
6378 NOP_EXPR if it is between integral types with the same precision.
6379
a60b56a4
JH
63802008-01-12 Jan Hubicka <jh@suse.cz>
6381
6382 PR other/28023
6383 * invoke.texi (max-inline-recursive-depth): Fix default value.
6384
29ac1d9a
ZD
63852008-01-12 Zdenek Dvorak <ook@ucw.cz>
6386
6387 * tree-parloops.c (transform_to_exit_first_loop): Cast nit to the
6388 correct type.
6389
166b25dc
BW
63902008-01-11 Bob Wilson <bob.wilson@acm.org>
6391
6392 * config/xtensa/xtensa.c (override_options): Set flag_shlib.
6393
ad8151b7
JW
63942008-01-11 James E. Wilson <wilson@specifix.com>
6395
6396 PR target/26015
6397 * config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define.
6398
0d40cc60
AS
63992008-01-11 Anatoly Sokolov <aesok@post.ru>
6400
6401 * config/avr/avr.c (expand_prologue, expand_epilogue): Don't
6402 save/restore frame pointer register and don't use 'call-prologues'
6403 optimization in function with "OS_task" attribute.
6404
15af420d
EB
64052008-01-11 Eric Botcazou <ebotcazou@adacore.com>
6406
6407 PR middle-end/31309
6408 * expr.c (copy_blkmode_from_reg): Use a mode suited to the size
6409 when copying to memory.
6410
c1e3e2d9
SB
64112008-01-11 Steven Bosscher <stevenb.gcc@gmail.com>
6412
6413 PR rtl-optimization/30905
6414 * cfgcleanup.c: Include dce.h
6415 (crossjumps_occured): New global variable.
6416 (try_crossjump_bb): Exit loop after finding a fallthru edge.
6417 If something changed, set crossjumps_occured to true.
6418 (try_optimize_cfg): Clear crossjumps_occured at the beginning.
6419 Don't add/remove fake edges to exit here...
6420 (cleanup_cfg): ...but do it here, when crossjumping.
6421 Run a fast DCE when successful crossjumps occured in the latest
6422 iteration of try_optimize_cfg.
6423
8d0eca24
RG
64242008-01-11 Richard Guenther <rguenther@suse.de>
6425
6426 * tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode.
6427 (struct vn_unary_op_s): Likewise.
6428 (vn_reference_insert): Free old reference on hash collision.
6429
acfb3980
RA
64302008-01-10 Raksit Ashok <raksit@google.com>
6431
6432 PR rtl-optimization/27971
31bfe034
RA
6433 * combine.c (find_split_point): Split PLUS expressions which are
6434 inside a MEM rtx, and whose first operand is complex.
acfb3980 6435
b8a669d0
DD
64362008-01-10 DJ Delorie <dj@redhat.com>
6437
6438 * config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from...
6439 (m32c_hard_regno_nregs): ...this, which is now a wrapper.
6440 (m32c_hard_regno_ok): Call the underlying function.
6441
d0f76c4b
RG
64422008-01-10 Richard Guenther <rguenther@suse.de>
6443
6444 PR middle-end/34683
6445 * tree-cfg.c (tree_merge_blocks): Do not go through the
6446 full-blown folding and stmt updating path if we just deal
6447 with virtual operands.
6448 * tree-ssa-copy.c (may_propagate_copy): Do not short-cut
6449 test for abnormal SSA_NAMEs.
6450
90d12f1f
AK
64512008-01-10 Andreas Krebbel <krebbel1@de.ibm.com>
6452
6453 PR middle-end/34641
6454 * reload.c (push_reload): Add assertions. All constants from
6455 reg_equiv_constant should have been used for replacing the respective
6456 pseudo earlier.
6457 (find_reloads_address): Invoke find_reloads_address_part for
6458 constant taken from the reg_equiv_constant array.
6459
71ae8557
SB
64602008-01-10 Steven Bosscher <stevenb.gcc@gmail.com>
6461
6462 * tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed
6463 field (valnum) the first in the struct. Replace bools with
6464 unit bit fields.
6465
125e025e
RG
64662008-01-10 Richard Guenther <rguenther@suse.de>
6467
6468 PR tree-optimization/34651
6469 * tree-sra.c (sra_build_assignment): Sanitize. Use the correct
6470 types and ordering for masking and converting.
6471
64cbaace
SP
64722008-01-09 Sebastian Pop <sebastian.pop@amd.com>
6473
6474 PR tree-optimization/34017
6475 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
6476 also for PHI_NODE expressions.
6477
88743d3a
JH
64782008-01-09 Jan Hubicka <jh@suse.cz>
6479
6480 PR tree-optimization/34708
6481 * tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR
6482 based on number of case labels.
6483 (init_inline_once): Remove switch_cost.
6484 * tree-inline.h (eni_weights_d): Remove switch_cost.
6485
c3e203cf
RG
64862008-01-09 Richard Guenther <rguenther@suse.de>
6487 Andrew Pinski <andrew_pinski@playstation.sony.com>
6488
6489 PR middle-end/30132
6490 * gimplify.c (gimplify_cond_expr): Do not create an addressable
6491 temporary if an rvalue is ok or an lvalue is not required.
6492
def49dd7
RG
64932008-01-09 Richard Guenther <rguenther@suse.de>
6494
6495 PR middle-end/34458
6496 * tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
6497 adjust return type.
6498
cbad2e09
RG
64992008-01-09 Richard Guenther <rguenther@suse.de>
6500
6501 PR middle-end/34679
6502 * tree.c (host_integerp): Check for sizetype only if the
6503 type is an integer type.
6504
59e5c37d
SB
65052008-01-09 Steven Bosscher <stevenb.gcc@gmail.com>
6506
6507 PR debug/26364
6508 * opts.c (decode_options): Disable inlining of functions called
6509 once if not in unit-at-a-time mode.
6510
712db60e
AO
65112008-01-09 Alexandre Oliva <aoliva@redhat.com>
6512
6513 * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
6514
3fe2f42a
RG
65152008-01-08 Richard Guenther <rguenther@suse.de>
6516
6517 PR middle-end/31863
6518 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
6519 out early if the result will be unused.
6520
4d869718
UB
65212008-01-08 Uros Bizjak <ubizjak@gmail.com>
6522
6523 PR target/34709
6524 Revert:
6525
6526 2008-01-05 Uros Bizjak <ubizjak@gmail.com>
6527 * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
6528 for TARGET_RECIP.
6529
cedbd764
JS
65302008-01-08 Jan Sjodin <jan.sjodin@amd.com>
6531
4d869718
UB
6532 * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs
6533 for vectorization tuned.
cedbd764 6534
a9990582
RG
65352008-01-08 Richard Guenther <rguenther@suse.de>
6536
6537 PR tree-optimization/34683
6538 * tree-ssa-operands.c (operand_build_cmp): Export.
6539 * tree-ssa-operands.h (operand_build_cmp): Declare.
6540 * tree-vn.c (vuses_compare): Remove.
6541 (sort_vuses): Use operand_build_cmp.
6542 (sort_vuses_heap): Likewise.
6543 * tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc
6544 to re-use old VEC if available. Do not sort already sorted VUSEs.
6545 (vdefs_to_vec): Do not sort already sorted VDEFs.
6546
c90eee44
JJ
65472008-01-08 Jakub Jelinek <jakub@redhat.com>
6548
6549 PR middle-end/34694
6550 * omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.
6551
8bce96f5
UB
65522008-01-08 Uros Bizjak <ubizjak@gmail.com>
6553
6554 PR target/34702
6555 * doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document
6556 limitations of reciprocal sequences on x86 targets.
6557
4eefcc98
RG
65582008-01-08 Richard Guenther <rguenther@suse.de>
6559
6560 PR tree-optimization/34683
6561 * tree-flow-inline.h (var_ann): Remove overzealous asserts.
6562
b69d564b
JJ
65632008-01-07 Jakub Jelinek <jakub@redhat.com>
6564
6565 PR target/34622
6566 * config/darwin.c (darwin_mergeable_string_section): Don't use
6567 .cstring if int_size_in_bytes != TREE_STRING_LENGTH.
6568
6b761851
UB
65692008-01-07 Uros Bizjak <ubizjak@gmail.com>
6570
6571 PR target/34682
6572 * config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and
6573 negxf2. Macroize expander using X87MODEF mode iterator. Change
6574 predicates of op0 and op1 to register_operand.
8bce96f5
UB
6575 (abs<mode>2): Rename from abssf2, absdf2 and negxf2. Macroize
6576 expander using X87MODEF mode iterator. Change predicates of
6577 op0 and op1 to register_operand.
6b761851
UB
6578 ("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from
6579 corresponding patterns and macroize using MODEF macro. Change
6580 predicates of op0 and op1 to register_operand and remove
6581 "m" constraint. Disparage "r" alternative with "!".
6582 ("*absneg<mode>2_i387"): Rename from corresponding patterns and
6583 macroize using X87MODEF macro. Change predicates of op0 and op1
6584 to register_operand and remove "m" constraint. Disparage "r"
6585 alternative with "!".
6586 (absneg splitter with memory operands): Remove.
6587 ("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding
6588 patterns and macroize using X87MODEF mode iterator.
6589 * config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
6590 Change predicate of op1 to register_operand.
6591 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
8bce96f5 6592 for memory operands.
6b761851 6593
5ca0373f
NF
65942008-01-07 Nathan Froyd <froydnj@codesourcery.com>
6595
6596 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548.
6597
2eac9a76
RG
65982008-01-07 Richard Guenther <rguenther@suse.de>
6599
6600 * basic-block.h (struct edge_def): Pair dest_idx with goto_locus
6601 fields.
6602
b61ea03d
RG
66032008-01-07 Richard Guenther <rguenther@suse.de>
6604
6605 PR tree-optimization/34683
6606 * tree-ssa-sccvn.c (vuses_to_vec): Pre-allocate the vector of
6607 VOPs of the needed size to save memory. Use VEC_quick_push
6608 to save compile-time.
6609 (vdefs_to_vec): Likewise.
6610
c4bd75cd 66112008-01-07 Sa Liu <saliu@de.ibm.com>
b61ea03d 6612
6b761851
UB
6613 * config/spu/spu.md (divdf3): Genetate inline code for double
6614 division. The implementation doesn't handle INF or NAN, therefore it
6615 only applies when -ffinite-math-only is given.
c4bd75cd 6616
ba551ec2
PC
66172008-01-06 Paolo Carlini <pcarlini@suse.de>
6618
6619 PR libstdc++/34680
6620 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate.
6621 * doc/cpp.texi ([Common Predefined Macros]): Document.
6622
43db7979
UB
66232008-01-06 Uros Bizjak <ubizjak@gmail.com>
6624
6625 * config/i386/i386.c (ix86_emit_swsqrtsf): Use negative constants in
6626 order to use commutative addition instead of subtraction.
6627
2c460d12
RE
66282008-01-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
6629 Mircea Namolaru <namolaru@il.ibm.com>
6630 Vladimir Yanovsky <yanov@il.ibm.com>
6631 Revital Eres <eres@il.ibm.com>
6632
6633 PR tree-optimization/34263
6634 * tree-outof-ssa.c (process_single_block_loop_latch,
6635 contains_tree_r): New functions.
6636 (analyze_edges_for_bb): Call process_single_block_loop_latch
6637 function to empty single-basic-block latch block if possible.
6638
5a37a60c
UB
66392008-01-05 Uros Bizjak <ubizjak@gmail.com>
6640
6641 * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
6642 for TARGET_RECIP.
6643 (ix86_emit_swsqrtsf): Do not filter out infinity for rsqrt expansion.
6644
1a8a3a5e
RS
66452008-01-05 Richard Sandiford <rsandifo@nildram.co.uk>
6646
6647 * c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR.
6648
2a4430a6
RS
66492008-01-05 Richard Sandiford <rsandifo@nildram.co.uk>
6650
6651 * config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check.
6652
58fcda21
JJ
66532008-01-05 Jakub Jelinek <jakub@redhat.com>
6654
6655 PR tree-optimization/34618
6656 * tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P
6657 flag from T.
6658
f1bf33ce
UB
66592008-01-05 Uros Bizjak <ubizjak@gmail.com>
6660
6661 PR target/34673
6662 * config/i386/i386.c (ix86_emit_swsqrtsf): Swap input operands
6663 in the call to gen_rtx_NE. Remove unneeded VECTOR_MODE_P check.
6664 Update copyright year.
6665
6666 * config/i386/i386.md (rsqrtsf2): Enable for TARGET_SSE_MATH.
6667 Update copyright year.
6668 * config/i386/sse.md (rsqrtv4sf2): Ditto. Unconditionally expand
6669 using NR fixup.
6670
12a6309e
ZZ
66712008-01-05 Zhouyi Zhou <zhouzhouyi@FreeBSD.org>
6672
6673 * tree-vrp.c (find_conditional_asserts): Remove redundant check that
6674 edge does not point to current bb before changing need_assert.
6675
bdb69bee
RG
66762008-01-04 Richard Guenther <rguenther@suse.de>
6677
6678 PR middle-end/34029
6679 * tree-cfg.c (verify_expr): Do not look inside ADDR_EXPRs
6680 for verifying purposes if they are is_gimple_min_invariant.
6681
ffed8a01
AH
66822008-01-04 Aldy Hernandez <aldyh@redhat.com>
6683
6684 PR tree-optimization/34448
6685 PR tree-optimization/34465
6686 * gimplify.c (gimplify_init_constructor): Add new parameter
6687 notify_temp_creation. Use it.
6688 (gimplify_modify_expr_rhs): Take volatiles into account when
6689 optimizing constructors.
6690 Do not optimize constructors if gimplify_init_constructor will dump to
6691 memory.
6692 * gcc.dg/tree-ssa/pr32901.c: Tests const volatiles.
6693 * gcc.c-torture/compile/pr34448.c: New.
6694
b5ca517c
JJ
66952008-01-04 Jakub Jelinek <jakub@redhat.com>
6696
6697 PR gcov-profile/34609
6698 * tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
6699 return_slot if result is TREE_ADDRESSABLE.
6700
6a3d1d49
RS
67012008-01-04 Richard Sandiford <rsandifo@nildram.co.uk>
6702
6703 * config/mips/mips.md (sqrt_condition): Tweak comment.
6704 (recip_condition): Likewise. Require TARGET_FLOAT64 for DFmode.
6705
6fc3c3c0
TT
67062008-01-03 Tom Tromey <tromey@redhat.com>
6707
b5ca517c 6708 PR c/34457
6fc3c3c0
TT
6709 * c-common.c (c_type_hash): Handle VLAs.
6710
045685a9
JH
67112008-01-03 Jan Hubicka <jh@suse.cz>
6712
6713 PR tree-optimization/31081
6714 * tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to
6715 0 when inlining and not inlining to first basic block.
6716 (remap_decl): When var is initialized to 0, don't set default_def.
6717 (expand_call_inline): Set entry_bb.
6718 * tree-inline.h (copy_body_data): Add entry_bb.
6719
2092ee7d
JJ
67202008-01-03 Jakub Jelinek <jakub@redhat.com>
6721
cac67c08
JJ
6722 PR c++/34619
6723 * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
6724 before returning.
6725
2092ee7d
JJ
6726 PR tree-optimization/29484
6727 * tree-inline.c (inline_forbidden_p_2): New function.
6728 (inline_forbidden_p): Disallow inlining if some static var
6729 has an address of a local LABEL_DECL in its initializer.
6730 * doc/extend.texi (Labels as Values): Document &&foo behaviour
6731 vs. inlining.
6732
2726bafe 67332008-01-03 Sebastian Pop <sebastian.pop@amd.com>
097392de
SP
6734
6735 PR tree-optimization/34635
6736 * tree-data-ref.c (add_other_self_distances): Make sure that the
6737 evolution step is constant.
6738
99819c63
JJ
67392008-01-03 Jakub Jelinek <jakub@redhat.com>
6740
6741 PR middle-end/34608
12a6309e 6742 * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
99819c63 6743
1463dfa4
RS
67442008-01-02 Richard Sandiford <rsandifo@nildram.co.uk>
6745
6746 * tree-sra.c (scalarize_init): Insert the generate_element_init
6747 statements after the generate_element_zero statements.
6748
ee6ec666
RG
67492008-01-02 Richard Guenther <rguenther@suse.de>
6750
6751 PR middle-end/34093
6752 PR middle-end/31976
6753 * tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer
6754 for very large number of operands instead of ICEing.
6755
6893e828
AN
67562008-01-02 Arthur Norman <acn1@cam.ac.uk>
6757
12a6309e 6758 PR target/34013
d0fb20be 6759 * config/i386/i386.c (ix86_expand_prologue): Save red-zone
6893e828
AN
6760 while stack probing.
6761
1a7817e4
DG
67622008-01-01 Douglas Gregor <doug.gregor@gmail.com>
6763
6893e828 6764 * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
12a6309e 6765 in C++0x mode.
1a7817e4 6766
882e337b
VR
67672008-01-01 Volker Reichelt <v.reichelt@netcologne.de>
6768
6769 PR libmudflap/26442
6770 * tree-mudflap.c (mx_register_decls): Guard warning by
6771 !DECL_ARTIFICIAL check.
6772
f02ffa12
JJ
67732008-01-01 Jakub Jelinek <jakub@redhat.com>
6774
6775 * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
6776 sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
6777 sse5_perm<mode>): Fix constraints.
This page took 0.956093 seconds and 5 git commands to generate.