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