1 2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3 * Makefile.in (TARGET_DEF_H): Add targhooks.h.
4 (FIXED_VALUE_H): New variable.
5 (RTL_BASE_H): Use $(INPUT_H) and $(FIXED_VALUE_H) instead of
6 input.h, fixed-value.h.
7 (TREE_H): Use $(INPUT_H), add $(SYMTAB_H).
8 (BASIC_BLOCK_H): Use $(BITMAP_H).
9 (FUNCTION_H): Add varray.h.
10 (IPA_REFERENCE_H): Use $(BITMAP_H).
11 (CGRAPH_H): Add $(BASIC_BLOCK_H).
12 (DF_H): Use $(BITMAP_H).
13 (GGC_H): Add statistics.h.
15 (INSN_ATTR_H): Use it.
16 (SYSTEM_H): Add safe-ctype.h, filenames.h.
18 (SYMTAB_H): Add $(OBSTACK_H).
19 (CPP_INTERNAL_H): New.
20 (TREE_DUMP_H): Add tree-pass.h.
21 (TREE_FLOW_H): Use $(BITMAP_H)
22 (PRETTY_PRINT_H): Use $(INPUT_H).
23 (EBITMAP_H): Rename from typo-ed EBIMAP_H.
26 (many object files): Fix lots of header dependencies throughout.
28 2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30 * Makefile.in (write_entries_to_file, write_entries_to_file_split):
32 (s-gtyp-input): Use them to write tmp-gi.list.
33 (echo_to_gi.list): Remove.
35 2008-07-14 Richard Guenther <rguenther@suse.de>
37 * tree-ssa-sccvn.c (pre_info): Remove.
38 (switch_to_PRE_table): Likewise.
39 (free_scc_vn): Do not clear SSA_NAME_VALUE.
41 (set_hashtable_value_ids): Do not create value-ids for the
43 (run_scc_vn): Remove double test. Remove bogus special-case
44 in value-number printing.
45 * tree-ssa-sccvn.h (switch_to_PRE_table): Remove.
46 * tree-ssa-ccp.c (get_symbol_constant_value): Do not look at
48 * tree-flow-inline.h (get_value_handle): Remove.
49 * tree-flow.h (get_value_handle): Remove.
51 2008-07-14 Martin Jambor <mjambor@suse.cz>
53 * tree-switch-conversion.c (gen_inbound_check): Make sure the type
54 in which we generate arithmetics is not a subrange.
56 2008-07-14 Martin Jambor <mjambor@suse.cz>
58 * Makefile.in (IPA_PROP_H): Added ipa-prop.h to IPA_PROP_H variable.
60 2008-07-14 Richard Guenther <rguenther@suse.de>
62 * tree-ssa-pre.c (insert_into_preds_of_block): Do not call
65 2008-07-14 Andreas Krebbel <krebbel1@de.ibm.com>
68 * config/s390/s390.c: (s390_secondary_reload): Add a secondary
69 reload for symbol refs moved to r0 with -fPIC.
70 (legitimize_pic_address): Use the target register as temporary
72 (emit_symbolic_move): Adjust comment.
73 * config/s390/s390.md (reloadsi_PIC_addr, reloaddi_PIC_addr):
76 2008-07-14 Ben Elliston <bje@au.ibm.com>
78 * c-common.h (C_CPP_HASHNODE): New macro.
79 * coretypes.h (struct cpp_token): Forward declare.
80 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
81 the context-sensitive keyword method.
82 * config/rs6000/rs6000-c.c (__vector_keyword, vector_keyword,
83 __pixel_keyword, pixel_keyword, __bool_keyword, bool_keyword,
84 expand_bool_pixel): New.
85 (altivec_categorize_keyword): New function.
86 (init_vector_keywords): New function.
87 (rs6000_macro_to_expand): Likewise.
88 (rs6000_cpu_cpp_builtins): Enable context-sensitive macros if not
89 compiling an ISO C dialect.
91 2008-07-13 Daniel Berlin <dberlin@dberlin.org>
93 * tree-ssa-pre.c (fully_constant_expression): Add fold_convert
95 (create_expression_by_pieces): Fix typo.
96 (do_regular_insertion): Use debug counter here too.
98 2008-07-14 Hans-Peter Nilsson <hp@axis.com>
101 * config/cris/cris.h (CRIS_CONST_OK_FOR_LETTER_P): Renamed from
102 CONST_OK_FOR_LETTER_P. All port-local users changed.
103 (CONST_OK_FOR_CONSTRAINT_P): Define; implement Kc as old K,
104 implement Kp matching power-of-two.
105 (CONSTRAINT_LEN): Define to match.
106 * config/cris/cris.md: Replace all use of constraint K with Kc.
107 ("*btst*): Use Kp for operand 0 of last alternative.
109 2008-07-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
112 * tree-call-cdce.c (check_target_format): Accept MIPS single, double
115 2008-07-13 Jan Hubicka <jh@suse.cz>
117 * tree.c (decl_assembler_name_equal): Expect assembler name of decl
120 2008-07-13 Richard Guenther <rguenther@suse.de>
123 * langhooks.c (lhd_print_error_function): Deal with recursive
126 2008-07-12 Jan Hubicka <jh@suse.cz>
128 * cgraph.c (assembler_name_hash): New static var.
129 (hash_node_by_assembler_name, eq_assembler_name): New.
130 (cgraph_node_for_asm): Use hashtable.
131 (cgraph_remove_node): Maintain hashtable.
132 (change_decl_assembler_name): Sanity check that names are not changing
133 after aliasing was processed.
134 * cgraph.h (varpoon_node): Add next GGC marker.
135 * tree.c (decl_assembler_name_equal): Constify.
136 (decl_assembler_name_hash): New.
137 * tree.h (decl_assembler_name_equal): Constify.
138 (decl_assembler_name_hash): Update.
140 2008-07-12 David Daney <ddaney@avtrex.com>
142 * config/mips/driver-native.c (host_detect_local_cpu): Handle
145 2008-07-12 Richard Sandiford <rdsandiford@googlemail.com>
147 * doc/md.texi: Document the MIPS "v" constraint.
148 * config/mips/mips.h (reg_class): Revert last change.
149 (REG_CLASS_NAMES): Likewise.
150 (REG_CLASS_CONTENTS): Likewise.
151 * config/mips/mips.c (mips_regno_to_class): Likewise.
152 * config/mips/constraints.md (v): Likewise, but add documentation.
153 Add a comment to say that this constraint should not be used in
156 2008-07-11 DJ Delorie <dj@redhat.com>
158 * config/h8300/h8300.md (length): Fix branch offset limit.
160 2008-07-11 Anatoly Sokolov <aesok@post.ru>
162 * config/avr/avr-protos.h (avr_peep2_scratch_safe): Remove prototype.
163 * config/avr/avr.c (avr_peep2_scratch_safe): Remove.
164 (avr_hard_regno_scratch_ok): New function.
165 (TARGET_HARD_REGNO_SCRATCH_OK): Define.
166 * config/avr/avr.md (all peepholes that request a scratch register):
167 Remove avr_peep2_scratch_safe use.
169 2008-07-11 Tom Tromey <tromey@redhat.com>
170 Ian Lance Taylor <iant@google.com>
172 * c-common.h (enum rid): Add RID_CXX_COMPAT_WARN.
173 (struct c_common_resword): Define.
174 (D_CONLY, D_CXXONLY, D_C99, D_CXX0X, D_EXT, D_EXT89): Define.
175 (D_ASM, D_OBJC, D_CXX_OBJC, D_CXXWARN): Define.
176 (c_common_reswords, num_c_common_reswords): Declare.
177 * c-common.c (c_common_reswords): New global const array.
178 (num_c_common_reswords): New const int.
179 * c-parser.c (struct resword, reswords): Don't define.
180 (D_C89, D_EXT, D_EXT89, D_OBJC): Don't define.
181 (c_parse_init): Clarify mask code. Use c_common_reswords rather
182 than reswords. If warning about C++ keywords, give them a special
184 (c_lex_one_token): Warn about C++ keywords. Call
185 objc_is_reserved_word rather than OBJC_IS_AT_KEYWORD.
186 (c_parser_external_declaration): Look for RID_xxx rather than
187 RID_AT_xxx, for ObjC++ keywords which are also C++ keywords.
188 (c_parser_statement_after_labels): Likewise.
189 (c_parser_objc_class_instance_variables): Likewise.
190 (c_parser_objc_class_declaration): Likewise.
191 (c_parser_objc_try_catch_statement): Likewise.
192 * c-decl.c (c_print_identifier): Ignore RID_CXX_COMPAT_WARN.
193 (declspecs_add_type): Likewise.
195 2008-07-11 Angelo Graziosi <angelo.graziosi@alice.it>
197 * ggc-page.c (alloc_page):
198 Substituting xmalloc, xcalloc with
199 XNEWVEC and XCNEWVAR macros which add the
202 2008-07-11 Richard Guenther <rguenther@suse.de>
204 PR tree-optimization/36765
205 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
206 aliases from HEAP vars to SMTs.
208 2008-07-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
210 * Makefile.in (LOOSE_WARN, STRICT_WARN): Update comments.
211 * configure.ac (loose_warn): Move -Wc++-compat from here...
212 (strict_warn): ...to here.
213 * configure: Regenerate.
215 2008-07-10 Joseph Myers <joseph@codesourcery.com>
217 * config.gcc (arm-*-coff*, armel-*-coff*, h8300-*-*,
218 i[34567]86-*-aout*, i[34567]86-*-coff*, m68k-*-aout*,
219 m68k-*-coff*, sh-*-*, mips-sgi-irix[56]*, pdp11-*-bsd,
220 rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Deprecate targets,
221 excluding more specific h8300-*-* and sh-*-* targets.
223 2008-07-10 Daniel Berlin <dberlin@dberlin.org>
225 * tree-ssa-pre.c (create_expression_by_pieces): Add fold_convert
228 (execute_pre): Call loop_optimizer_finalize in early exit.
230 2008-07-10 Jakub Jelinek <jakub@redhat.com>
233 * omp-low.c (lower_omp_2): If task_shared_vars, test all DECL_P
234 uids in the bitmap, not just VAR_DECL uids.
236 PR rtl-optimization/36419
237 * combine-stack-adj.c (adjust_frame_related_expr): New function.
238 (combine_stack_adjustments_for_block): Call it if needed. Delete
240 * dwarf2out.c (dwarf2out_frame_debug_expr): Adjust
241 DW_CFA_GNU_args_size if CSA pass merged some adjustments into
242 prologue sp adjustment.
244 2008-07-10 Peter Maydell <pmaydell@chiark.greenend.org.uk>
247 * opts.c (print_ignored_options): Report postponed diagnostics for
248 unknown -Wno-* options as warnings, not errors.
249 (postpone_unknown_option_error): Renamed to...
250 (postpone_unknown_option_warning): ... this.
252 2008-07-09 Doug Kwan <dougkwan@google.com>
255 2008-07-08 Doug Kwan <dougkwan@google.com>
257 * config/arm/arm.opt (mandroid): New option.
258 * config/arm/bpabi.h (ANDROID_LINK_SPEC): New macro.
259 (LINK_SPEC): Enable Android specific behaviour when -mandroid is used.
261 (CC1PLUS_SPEC): Same.
263 (STARTFILE_SPEC): Same.
264 (ENDFILE_SPEC): Same.
265 (TARGET_BPABI_CPP_BUILTINS): Define __ANDROID__ when -mandroid is
268 2008-07-09 Richard Sandiford <rdsandiford@googlemail.com>
271 * config/mips/mips.h (reg_class): Remove V1_REG.
272 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
273 * config/mips/mips.c (mips_regno_to_class): Map $3 to M16_NA_REGS
275 (mips_get_tp): New function.
276 (mips_legitimize_tls_address): Use it.
277 * config/mips/constraints.md (v): Delete.
278 * config/mips/mips.md (TLS_GET_TP_REGNUM): New constant.
279 (tls_get_tp_<mode>): Allow any GPR destination and clobber $3.
280 After reload, split into a move and ...
281 (*tls_get_tp_<mode>_split): ...this new instruction.
283 2008-07-09 David Daney <ddaney@avtrex.com>
285 * config/mips/driver-native.c: Include coretypes.h and tm.h.
287 2008-07-09 Jakub Jelinek <jakub@redhat.com>
289 * gimplify.c (struct gimplify_ctx): Move to tree-gimple.h.
290 (push_gimplify_context): Don't allocate temp_htab nor c itself here.
292 (pop_gimplify_context): Check c->temp_htab instead of optimize whether
293 htab_delete should be called. Don't free c.
294 (lookup_tmp_var): Create temp_htab lazily.
295 (gimplify_scan_omp_clauses, gimplify_omp_parallel, gimplify_omp_task,
296 gimplify_body, force_gimple_operand): Adjust push_gimplify_context
298 * omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master,
299 lower_omp_ordered, lower_omp_critical, lower_omp_for,
300 create_task_copyfn, lower_omp_taskreg, execute_lower_omp):
301 * tree-ssa-ccp.c (convert_to_gimple_builtin): Likewise.
302 * tree-sra.c (generate_element_init): Likewise.
303 * tree-mudflap.c (execute_mudflap_function_ops,
304 execute_mudflap_function_decls): Likewise.
305 * tree-inline.c (setup_one_parameter, optimize_inline_calls): Likewise.
306 * tree-gimple.h (struct gimplify_ctx): New type.
307 (push_gimplify_context): Adjust prototype.
309 2008-07-09 Daniel Berlin <dberlin@dberlin.org>
311 * tree-ssa-pre.c (phi_translate_1): Update placement of
314 2008-07-09 Anatoly Sokolov <aesok@post.ru>
316 * target.h (struct gcc_target): Add hard_regno_scratch_ok field.
317 * target-def.h (TARGET_HARD_REGNO_SCRATCH_OK): New.
318 (TARGET_INITIALIZER): Use TARGET_HARD_REGNO_SCRATCH_OK.
319 * targhooks.c (default_hard_regno_scratch_ok): New function.
320 * targhooks.h (default_hard_regno_scratch_ok): Declare function.
321 * doc/tm.texi: Document TARGET_HARD_REGNO_SCRATCH_OK hook.
322 * recog.c: Include "target.h".
323 (peep2_find_free_register): Add check for global regs. Add target
325 * Makefile.in (recog.o): Depend on target.h.
327 2008-07-09 Kaz Kojima <kkojima@gcc.gnu.org>
329 * config/sh/sh.c (sh_canonical_va_list_type): New.
330 (TARGET_CANONICAL_VA_LIST_TYPE): Define.
332 2008-07-09 Raksit Ashok <raksit@google.com>
334 * doc/invoke.texi (Option Summary): Mention new option
335 -Wdisallowed-function-list=...
336 (Warning Options): Document -Wdisallowed-function-list=...
337 * common.opt (Wdisallowed-function-list=): New flag.
338 * flags.h (warn_disallowed_functions): External definition of new
339 boolean warning flag.
340 (warn_if_disallowed_function_p): Declare new function.
341 * opts.c (warning_disallowed_functions): New static variable.
342 (warn_disallowed_functions): New boolean warning flag.
343 (warn_if_disallowed_function_p): New function.
344 (add_comma_separated_to_vector): Rename
345 add_instrument_functions_exclude_list to this.
346 (common_handle_option): Handle new option. Rename calls to
347 add_instrument_functions_exclude_list into calls to
348 add_comma_separated_to_vector.
349 * c-parser.c (c_parser_postfix_expression_after_primary): New warning
350 based on flag warn_disallowed_functions.
352 2008-07-09 Christian Bruel <christian.bruel@st.com>
354 * final.c (get_attr_length_1): Call get_attr_length_1 with fallback_fn
355 instead of get_attr_length.
357 2008-07-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
359 * genattrtab.c (insert_right_side, evaluate_eq_attr): Avoid C++
361 * genemit.c (gen_insn): Likewise.
362 * gengtype.c (note_def_vec): Likewise.
363 * gengtype.h (note_def_vec): Likewise.
364 * genoutput.c (struct data, output_insn_data, process_template,
365 gen_expand, gen_split, note_constraint): Likewise.
366 * genrecog.c (new_decision, add_to_sequence, factor_tests,
367 make_insn_sequence): Likewise.
368 * gensupport.c (record_insn_name): Likewise.
370 2008-07-08 Doug Kwan <dougkwan@google.com>
372 * config/arm/arm.opt (mandroid): New option.
373 * config/arm/bpabi.h (ANDROID_LINK_SPEC): New macro.
374 (LINK_SPEC): Enable Android specific behaviour when -mandroid is used.
376 (CC1PLUS_SPEC): Same.
378 (STARTFILE_SPEC): Same.
379 (ENDFILE_SPEC): Same.
380 (TARGET_BPABI_CPP_BUILTINS): Define __ANDROID__ when -mandroid is
383 2008-07-08 Raksit Ashok <raksit@google.com>
385 * expr.c (emit_block_move_via_movmem): Fix expected_align parameter.
386 (set_storage_via_setmem): Fix expected_align parameter.
387 * doc/invoke.texi (i386 and x86-64 Options): Add a couple of options
388 missing from the list.
389 * doc/md.texi (movmem): Explicitly state that expected alignment is
390 to be expressed in bytes.
391 (setmem): Explicitly state that expected alignment is to be expressed
394 2008-07-08 Joseph Myers <joseph@codesourcery.com>
396 * reload.c (find_reloads_subreg_address): Do not require validity
397 of address in original mode before reloading address.
399 2008-07-07 Tianwei Sheng <tianweis@google.com>
401 * df-core.c (df_remove_problem): Adjust the access to avoid out of
404 2008-07-08 Jakub Jelinek <jakub@redhat.com>
406 * tree-sra.c (sra_build_assignment): Handle CONVERT_EXPR_P
409 2008-07-05 Daniel Berlin <dberlin@dberlin.org>
411 Fix PR tree-optimization/23455
412 Fix PR tree-optimization/35286
413 Fix PR tree-optimization/35287
414 * Makefile.in (OBJS-common): Remove tree-vn.o.
416 * dbgcnt.def: Add treepre_insert debug counter.
417 * gcc/tree-flow.h (add_to_value): Updated for other changes.
418 (debug_value_expressions): Ditto.
419 (print_value_expressions): Ditto.
420 * tree-pretty-print.c (dump_generic_node): Updated for
421 VALUE_HANDLE removal.
422 * tree-ssa-dom.c (record_equality): Ditto.
423 (cprop_operand): Ditto.
424 (lookup_avail_expr): Ditto.
425 * tree-ssa-threadedge.c
426 (record_temporary_equivalences_from_stmts_at_dest): Ditto.
427 (simplify_control_stmt_condition): Ditto.
428 * tree.c (tree_code_size): Ditto.
429 (tree_node_structure): Ditto.
430 (iterative_hash_expr): Ditto.
432 * tree.h (VALUE_HANDLE_ID): Ditto.
433 (VALUE_HANDLE_EXPR_SET): Ditto.
434 (struct tree_value_handle): Ditto.
435 (union tree_node): Ditto.
436 * treestruct.def: Ditto.
437 * tree-vn.c: Removed.
438 * tree-ssa-pre.c: Rewritten entirely.
439 * tree-ssa-sccvn.c (constant_to_value_id): New hashtable.
440 (constant_value_ids): Ditto.
441 (vn_nary_op_t): Moved to header.
443 (vn_reference_op_t): Ditto
444 (vn_reference_t): Ditto.
445 (next_value_id): New variable.
446 (VN_INFO): Add an assert.
447 (vn_constant_eq): New function.
448 (vn_constant_hash): Ditto.
449 (get_or_alloc_constant_value_id): Ditto.
450 (value_id_constant_p): Ditto.
451 (vn_reference_compute_hash): De-staticify.
452 (copy_reference_ops_from_ref): Don't use get_callee_fndecl.
453 Disable some code with a FIXME.
454 Remove VALUE_HANDLE use.
455 (valueize_refs): Update opcode if it changes from ssa name to
457 (vn_reference_lookup_1): Add new argument.
458 (vn_reference_lookup): Ditto.
459 (vn_reference_lookup_pieces): New function.
460 (vn_reference_insert): Add return type. Modify to deal with value
462 (vn_reference_insert_pieces): New function.
463 (vn_nary_op_compute_hash): De-staticify.
464 (vn_nary_op_eq): Ditto.
465 (vn_nary_op_lookup_pieces): New function.
466 (vn_nary_op_lookup): Add new argument.
467 (vn_nary_op_insert_pieces): New function.
468 (vn_nary_op_insert): Add return type. Modify to deal with value
470 (vn_phi_insert): Ditto.
471 (visit_unary_op): Update for callee changes.
472 (visit_binary_op): Ditto.
473 (visit_reference_op_load): Ditto.
474 (visit_reference_op_store): Ditto.
475 (init_scc_vn): Init next_value_id, constant_to_value_id and
477 (free_scc_vn): Free them.
478 (set_hashtable_value_ids): New function.
479 (run_scc_vn): Use it.
480 (get_max_value_id): New function.
481 (get_next_value_id): Ditto.
482 (expressions_equal_p): Moved from tree-vn.c
484 (sort_vuses_heap): Ditto.
485 * tree-ssa-sccvn.h: Structures moved from tree-ssa-sccvn.c (noted
487 * tree.c (iterative_hash_hashval_t): Made non-static
488 * tree.h (iterative_hash_hashval_t): Declare it.
490 2008-07-08 Martin Jambor <mjambor@suse.cz>
492 * ipa-cp.c (ipcp_init_cloned_node): Call ipa_check_create_node_params
493 instead of ipa_create_node_params.
494 (ipcp_driver): Allocate infos with ipa_check_create_node_params and
495 ipa_check_create_edge_args, free them with
496 free_all_ipa_structures_after_ipa_cp, call ipa_register_cgraph_hooks.
498 * ipa-prop.c: Include flags.h and tree-inline.h.
499 (ipa_node_params_vector): New variable.
500 (ipa_edge_args_vector): New variable.
501 (edge_removal_hook_holder): New variable.
502 (node_removal_hook_holder): New variable.
503 (edge_duplication_hook_holder): New variable.
504 (node_duplication_hook_holder): New variable.
505 (ipa_detect_param_modifications): Check for presence of modified flags.
506 (ipa_compute_jump_functions): Check for presence of jump functions.
507 (ipa_free_edge_args_substructures): New function.
508 (ipa_create_node_params): Removed.
509 (ipa_free_all_edge_args): Changed to deallocate the on-the-side vector.
510 (ipa_free_node_params_substructures): New function.
511 (ipa_free_all_node_params): Changed to deallocate the on-the-side
513 (ipa_edge_removal_hook): New function.
514 (ipa_node_removal_hook): New function.
515 (duplicate_array): New function.
516 (ipa_edge_duplication_hook): New function.
517 (ipa_node_duplication_hook): New function.
518 (ipa_register_cgraph_hooks): New function.
519 (ipa_unregister_cgraph_hooks): New function.
520 (free_all_ipa_structures_after_ipa_cp): New function.
522 * ipa-prop.h: Include vec.h.
523 (ipa_node_params_t): New typedef with vector types for it.
524 (ipa_edge_args_t): New typedef with vector types for it.
525 (IPA_NODE_REF): Changed to access an on-the-side vector.
526 (IPA_EDGE_REF): Changed to access an on-the-side vector.
527 (ipa_check_create_node_params): New function.
528 (ipa_check_create_edge_args): New function.
530 * Makefile.in (IPA_PROP_H): New variable for ipa-prop.h. Converted
533 2008-07-07 Tom Tromey <tromey@redhat.com>
535 * configure, config.in: Rebuilt.
536 * configure.ac: Don't check for scandir or alphasort.
538 2008-07-07 Joseph Myers <joseph@codesourcery.com>
540 * config/arm/arm.c (arm_init_neon_builtins): Register built-in
541 types immediately after creating them.
543 2008-07-07 Joseph Myers <joseph@codesourcery.com>
545 * config/arm/aout.h (DOLLARS_IN_IDENTIFIERS): Remove.
547 2008-07-07 Fernando Pereira <fernando@cs.ucla.edu>
549 * tree-ssa-structalias.c (compute_points_to_sets): Add call to
550 dump_constraint_graph.
551 (dump_constraint_edge): New function.
552 (dump_constraint_graph): New function.
553 (debug_constraint_graph): New function.
554 (dump_constraint): Removed useless comparison.
555 * tree-ssa-structalias.h (dump_constraint_edge): Declare.
556 (dump_constraint_graph): Declare.
557 (debug_constraint_graph): Declare.
558 * tree-dump.c (struct dump_option_value_info): Declare
561 2008-07-07 Kai Tietz <kai.tietz@onevision.com>
563 * config/i386/i386.c (is_va_list_char_pointer): New.
564 (ix86_va_start): Replace compare with ms_va_list_type_node
565 by is_va_list_char_pointer.
566 (ix86_gimplify_va_arg): Likewise.
568 2008-07-07 Martin Jambor <mjambor@suse.cz>
570 * cgraph.c (cgraph_edge_max_uid): New variable.
571 (struct cgraph_edge_hook_list): New type.
572 (struct cgraph_node_hook_list): New type.
573 (struct cgraph_2edge_hook_list): New type.
574 (struct cgraph_2node_hook_list): New type.
575 (first_cgraph_edge_removal_hook): New variable.
576 (first_cgraph_node_removal_hook): New variable.
577 (first_cgraph_edge_duplicated_hook): New variable.
578 (first_cgraph_node_duplicated_hook): New variable.
579 (cgraph_add_edge_removal_hook): New function.
580 (cgraph_remove_edge_removal_hook): New function.
581 (cgraph_call_edge_removal_hooks): New function.
582 (cgraph_add_node_removal_hook): New function.
583 (cgraph_remove_node_removal_hook): New function.
584 (cgraph_call_node_removal_hooks): New function.
585 (cgraph_add_edge_duplication_hook): New function.
586 (cgraph_remove_edge_duplication_hook): New function.
587 (cgraph_call_edge_duplication_hooks): New function.
588 (cgraph_add_node_duplication_hook): New function.
589 (cgraph_remove_node_duplication_hook): New function.
590 (cgraph_call_node_duplication_hooks): New function.
591 (cgraph_create_edge): Assign to edge uid.
592 (cgraph_remove_edge): Call edge removal hooks.
593 (cgraph_node_remove_callees): Call edge removal hooks.
594 (cgraph_node_remove_callers): Call edge removal hooks.
595 (cgraph_remove_node): Call node removal hooks.
596 (cgraph_clone_edge): Call edge duplication hooks.
597 (cgraph_clone_node): Call node duplication hooks.
599 * cgraph.h (cgraph_edge): New field uid.
600 (cgraph_edge_hook): New type.
601 (cgraph_node_hook): New type.
602 (cgraph_2edge_hook): New type.
603 (cgraph_2node_hook): New type.
605 2008-07-07 Andreas Tobler <a.tobler@schweiz.org>
607 * config.in: Regenerate.
609 2008-07-07 Vladimir Prus <vladimir@codesourcery.com>
611 * gcc.c (print_sysroot): New.
612 (option_map, display_help, process_command): Handle the
613 -print-sysroot option.
614 (main): Print the sysroot if requested.
615 * doc/invoke.texi (Debugging Options): Document -print-sysroot.
617 2008-07-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
620 * unwind-pe.h (size_of_encoded_value): add attribute unused.
622 2008-07-07 Daniel Jacobowitz <dan@codesourcery.com>
624 * function.c (assign_parm_remove_parallels): Check mode of
626 (assign_parm_setup_block_p): Also check mode of entry_parm.
628 2008-07-07 Richard Guenther <rguenther@suse.de>
630 * tree-ssa-structalias.h (set_used_smts): Remove.
631 * tree-ssa-structalias.c (used_smts): Likewise.
632 (set_used_smts): Likewise.
633 * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Remove
634 call to set_used_smts.
636 2008-07-07 Richard Guenther <rguenther@suse.de>
638 * tree-ssa-structalias.c (struct variable_info): Add is_full_var flag.
639 (new_var_info): Set it to false.
640 (solution_set_add): Correctly handle pointers outside a var and
642 (type_safe): Treat variables with is_full_var properly.
643 (do_sd_constraint): Likewise.
644 (do_ds_constraint): Likewise.
645 (process_constraint): Remove zeroing offset for !use_field_sensitive.
646 (get_constraint_for_ptr_offset): New function.
647 (get_constraint_for_component_ref): For addresses at least include
648 the last field of the variable. Handle is_full_vars properly.
649 (get_constraint_for_1): Factor common code, handle POINTER_PLUS_EXPR.
650 (handle_ptr_arith): Remove.
651 (find_func_aliases): Simplify assignment handling.
652 (create_function_info_for): For parameter and result varinfos set
654 (create_variable_info_for): Set is_full_var flag whenever we
655 just created a single varinfo for a decl.
656 (init_alias_vars): Initialize use_field_sensitive from
657 max-fields-for-field-sensitive parameter.
659 2008-07-07 Richard Guenther <rguenther@suse.de>
661 PR tree-optimization/36713
662 * tree-flow-inline.h (is_call_used): New function.
663 * tree-nrv.c (dest_safe_for_nrv_p): Use it.
664 * tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
665 * tree-outof-ssa.c (create_temp): Set call-used flag if required.
667 2008-07-07 Maxim Kuvyrkov <maxim@codesourcery.com>
669 * config/m68k/m68k.c (m68k_return_in_memory): Fix arguments types.
671 2008-07-07 Mark Shinwell <shinwell@codesourcery.com>
673 * config/m68k/lb1sf68.asm: Add PIC macros for Linux targets.
675 2008-07-07 Maxim Kuvyrkov <maxim@codesourcery.com>
676 Nathan Sidwell <nathan@codesourcery.com>
678 * config.gcc (m68k-*-linux*): Add with_arch. Add sysroot-suffix.h
679 to tm_file. Add m68k/t-floatlib, m68k/t-linux & m68k/t-mlibs to
681 * config/m68k/t-linux: New.
682 * doc/install.texi: Document m68k-*-linux is now multilibbed by
685 2008-07-07 Nathan Sidwell <nathan@codesourcery.com>
687 * config/m68k/t-cf (MULTILIB_EXTRA_OPTS): Add no-mac.
688 * config/m68k/m68k-devices.def: Remove multilibs that only differ
691 2008-07-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
693 * gcc.c (execute): Fix -Wc++-compat warning.
695 2008-07-06 H.J. Lu <hongjiu.lu@intel.com>
698 * config/ia64/ia64.c (ia64_split_tmode): Fix typo in TImode
699 constant for little endian.
701 2008-07-06 Richard Sandiford <rdsandiford@googlemail.com>
703 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Check
704 mips_base_mips16 instead of TARGET_MIPS16.
705 (mips_base_mips16): Declare.
706 * config/mips/mips.c (mips_base_mips16): Make global.
707 (was_mips16_p): Remove GTY marker.
708 (was_mips16_pch_p): New variable.
709 (mips_set_mips16_mode): Check both was_mips16_p and was_mips16_pch_p.
710 (mips_override_options): Force to non-MIPS16 mode initially.
711 Do not complain about MIPS16 PIC incompatibilities here.
712 Only allow -mgpopt if -mexplicit-relocs is in force for
715 2008-07-06 Andreas Tobler <a.tobler@schweiz.org>
717 * configure.ac: Check for caddr_t, define to char * if not defined.
718 * configure: Regenerate.
719 * ggc-common.c (mmap_gt_pch_get_address): Fix -Wc++-compat warnings.
720 (mmap_gt_pch_use_address): Likewise.
721 * config/host-solaris.c (sol_gt_pch_use_address): Likewise.
723 2008-07-06 Richard Guenther <rguenther@suse.de>
725 * tree-ssa-structalias.c (struct variable_info): Remove has_union.
726 (new_var_info): Deal with it.
727 (solution_set_add): Likewise.
728 (bitpos_of_field): Make signed, fix.
729 (struct fieldoff): Remove type and decl fields. Make size field
730 unsigned HOST_WIDE_INT. Add has_unknown_size and may_have_pointers
732 (fieldoff_compare): Deal with it.
733 (push_fields_onto_fieldstack): Remove has_union argument, glob
734 adjacent non-pointer fields together.
735 (create_function_info_for): Do not set has_union.
736 (create_variable_info_for): Simplify.
738 2008-07-06 Kai Tietz <kai.tietz@onevision.com>
740 * config.gcc (extra_headers): Add cross-stdarg.h for target
741 x86_64-*-* and i?86-*-*.
742 * config/i386/cross-stdarg.h: New.
743 * builtins.c (std_fn_abi_va_list): New.
744 (std_canonical_va_list_type): New.
745 (stabilize_va_list): Replace va_list_type_node use by
746 mtarget.canonical_va_list_type.
747 (gimplify_va_arg_expr): Likewise.
748 (expand_builtin_va_copy): Replace va_list_type_node use by
749 mtarget.fn_abi_va_list.
750 * tree-sra.c (is_va_list_type): New helper.
751 (decl_can_be_decomposed_p): Replace
752 va_list_type_node use by is_va_list_type.
753 * tree-ssa-ccp.c (optimize_stdarg_builtin): Likewise.
754 * tree-stdarg.c (execute_optimize_stdarg): Likewise.
755 * c-common.c (c_common_nodes_and_builtins): Use TARGET_ENUM_VA_LIST.
756 * config/i386/i386-protos.h (ix86_get_valist_type): New.
757 (ix86_enum_va_list): New.
758 * config/i386/i386.c (sysv_va_list_type_node): New.
759 (ms_va_list_type_node): New.
760 (ix86_function_type_abi): Remove sorry.
761 (ix86_build_builtin_va_list_abi): New.
762 (ix86_build_builtin_va_list): Call ix86_build_builtin_va_list_abi
764 (ix86_va_start): Replace va_list_type_node by sysv_va_list_type_node.
765 (ix86_init_builtins_va_builtins_abi): New.
766 (ix86_init_builtins): Use ix86_init_builtins_va_builtins_abi
768 (ix86_handle_abi_attribute): New.
769 (attribute_spec): Add sysv_abi and ms_abi.
770 (ix86_fn_abi_va_list): New.
771 (ix86_canonical_va_list_type): New.
772 (ix86_enum_va_list): New.
773 (TARGET_FN_ABI_VA_LIST): New.
774 (TARGET_CANONICAL_VA_LIST_TYPE): New.
775 * config/i386/i386.h (TARGET_ENUM_VA_LIST): New.
776 * doc/tm.texi (TARGET_FN_ABI_VA_LIST): New.
777 (TARGET_CANONICAL_VA_LIST_TYPE): New.
778 (TARGET_ENUM_VA_LIST): New.
779 * expr.h (std_fn_abi_va_list): New.
780 (std_canonical_va_list_type): New.
781 * target-def.h (TARGET_FN_ABI_VA_LIST): New.
782 (TARGET_CANONICAL_VA_LIST_TYPE): New.
783 (TARGET_INITIALIZER): Add TARGET_FN_ABI_VA_LIST and
784 TARGET_CANONICAL_VA_LIST_TYPE.
785 * target.h (struct gcc_target): Add fn_abi_va_list hook
786 and canonical_va_list_type hook.
788 2008-07-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
790 * fold-const.c (fold_convert_const): Treat OFFSET_TYPE the same as
791 integral and pointer types.
793 2008-07-04 Roger Sayle <roger@eyesopen.com>
795 * config/rs6000/host-darwin.c (darwin_rs6000_extra_siganls): Cast
796 the "void*" result of xmalloc to "char*" to fix bootstrap breakage.
798 2008-07-04 Kaz Kojima <kkojima@gcc.gnu.org>
801 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns
804 2008-07-04 Jakub Jelinek <jakub@redhat.com>
806 * tree-switch-conversion.c (build_one_array, gen_def_assigns): Use
807 build_gimple_modify_stmt.
808 (build_arrays, gen_inbound_check): Likewise. Force RHS to be
809 gimple operand. Use fold_build* instead of build*.
811 2008-07-04 Richard Guenther <rguenther@suse.de>
813 * tree-ssa-structalias.c (lookup_vi_for_tree): Declare.
814 (do_sd_constraint): Handle a dereference of ESCAPED and CALLUSED
815 properly to compute the reachability set if we do field-sensitive PTA.
816 * invoke.texi (max-fields-for-field-sensitive): Document default.
817 * opts.c (decode_options): Set max-fields-for-field-sensitive to
818 100 for optimize >= 2.
820 2008-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
822 * ggc-zone.c (lookup_page_table_if_allocated,
823 set_page_table_entry, zone_find_object_size, alloc_small_page,
824 alloc_large_page, ggc_free, gt_ggc_m_S, ggc_marked_p, init_ggc,
825 new_ggc_zone, init_ggc_pch, ggc_pch_this_base, ggc_pch_read): Fix
826 -Wc++-compat and/or -Wcast-qual warnings.
828 2008-07-04 Alan Modra <amodra@bigpond.net.au>
831 * config/rs6000/rs6000.md (call, call_value): Don't arrange for
832 pic_offset_table_rtx to be marked as used here.
833 (call_nonlocal_sysv, call_value_nonlocal_sysv): Add split for
834 TARGET_SECURE_PLT to "use" pic_offset_table_rtx.
835 (call_nonlocal_sysv_secure, call_value_nonlocal_sysv_secure): New insn.
836 (sibcall_nonlocal_sysv, sibcall_value_nonlocal_sysv): Assert
839 2008-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
841 * alloc-pool.c (hash_descriptor, eq_descriptor,
842 alloc_pool_descriptor): Fix -Wc++-compat warnings.
843 * bitmap.c (hash_descriptor, eq_descriptor, bitmap_descriptor):
845 * ggc-common.c (hash_descriptor, eq_descriptor, hash_ptr, eq_ptr,
846 loc_descriptor, ggc_prune_ptr, ggc_free_overhead,
847 final_cmp_statistic, cmp_statistic, dump_ggc_loc_statistics):
849 * varray.c (hash_descriptor, eq_descriptor, varray_descriptor):
852 2008-07-03 Eric Botcazou <ebotcazou@adacore.com>
854 * tree-flow.h (loop_only_exit_p): Declare.
855 * tree-ssa-loop-niter.c (loop_only_exit_p): Make public.
856 * tree-ssa-loop-ivopts.c (may_eliminate_iv): Reinstate direct check on
857 the number of iterations if it is constant. Otherwise, if this is the
858 only possible exit of the loop, use the conservative estimate on the
859 number of iterations of the entire loop if available.
861 2008-07-03 Richard Sandiford <rdsandiford@googlemail.com>
863 * Makefile.in (libgcc.mvars): Add LIBGCC_SYNC and LIBGCC_SYNC_CFLAGS.
864 * libgcc-std.ver (GCC_4.4.0): New version, inherited from GCC_4.3.0.
865 Add synchronization functions.
866 * config/sync.c: New file.
867 * config/mips/t-libgcc-mips16 (LIBGCC_SYNC): Define.
868 (LIBGCC_SYNC_CFLAGS): Likewise.
870 2008-07-03 Uros Bizjak <ubizjak@gmail.com>
873 * config/i386/i386.md (mode): Add TF to "mode" attribute.
874 (*pushtf_sse): New insn pattern.
875 (pushtf splitters): New splitters.
877 2008-07-03 Michael Meissner <gnu@the-meissners.org>
880 * predict.c (build_predict_expr): Use void_type_node for the tree
881 type, instead of NULL_TREE.
883 2008-07-03 H.J. Lu <hongjiu.lu@intel.com>
885 * config/i386/i386.c (contains_aligned_value_p): Return true
887 (ix86_data_alignment): Align TCmode to 128bits.
888 (ix86_local_alignment): Likewise.
890 2008-07-03 Andrew Haley <aph@redhat.com>
893 * vec.h (VEC_TA): New.
894 (DEF_VEC_I, DEF_VEC_P, DEF_VEC_ALLOC_I, DEF_VEC_ALLOC_P,
895 DEF_VEC_O, DEF_VEC_ALLOC_O: Use VEC_TA.
896 * c-common.c (C_COMMON_FIXED_TYPES_SAT): New macro.
897 (C_COMMON_FIXED_MODE_TYPES_SAT): New macro.
898 (C_COMMON_FIXED_TYPES): Remove first arg.
899 (C_COMMON_FIXED_MODE_TYPES): Likewise.
900 * tree.c (MAKE_FIXED_TYPE_NODE): Break into two macros,
901 MAKE_FIXED_TYPE_NODE and MAKE_FIXED_TYPE_NODE_WIDTH in order
902 not to use empty macro arguments.
904 2008-07-02 Joseph Myers <joseph@codesourcery.com>
906 * config/alpha/vms_tramp.asm, config/arm/crti.asm,
907 config/arm/crtn.asm, config/bfin/crti.s, config/bfin/crtlibid.s,
908 config/bfin/crtn.s, config/fr30/crti.asm, config/fr30/crtn.asm,
909 config/frv/lib1funcs.asm, config/i386/sol2-c1.asm,
910 config/i386/sol2-ci.asm, config/i386/sol2-cn.asm,
911 config/i386/sol2-gc1.asm, config/ia64/crti.asm,
912 config/ia64/crtn.asm, config/m68hc11/larith.asm,
913 config/m68hc11/m68hc11-crt0.S, config/m68k/crti.s,
914 config/m68k/crtn.s, config/mcore/crti.asm, config/mcore/crtn.asm,
915 config/rs6000/crtresfpr.asm, config/rs6000/crtresgpr.asm,
916 config/rs6000/crtresxfpr.asm, config/rs6000/crtresxgpr.asm,
917 config/rs6000/crtsavfpr.asm, config/rs6000/crtsavgpr.asm,
918 config/rs6000/crtsavres.asm, config/rs6000/e500crtres32gpr.asm,
919 config/rs6000/e500crtres64gpr.asm,
920 config/rs6000/e500crtres64gprctr.asm,
921 config/rs6000/e500crtrest32gpr.asm,
922 config/rs6000/e500crtrest64gpr.asm,
923 config/rs6000/e500crtresx32gpr.asm,
924 config/rs6000/e500crtresx64gpr.asm,
925 config/rs6000/e500crtsav32gpr.asm,
926 config/rs6000/e500crtsav64gpr.asm,
927 config/rs6000/e500crtsav64gprctr.asm,
928 config/rs6000/e500crtsavg32gpr.asm,
929 config/rs6000/e500crtsavg64gpr.asm,
930 config/rs6000/e500crtsavg64gprctr.asm, config/rs6000/eabi-ci.asm,
931 config/rs6000/eabi-cn.asm, config/rs6000/eabi.asm,
932 config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
933 config/rs6000/tramp.asm, config/sparc/sol2-ci.asm,
934 config/sparc/sol2-cn.asm: Remove .file directives.
936 2008-07-02 Richard Sandiford <rdsandiford@googlemail.com>
938 * resource.c (mark_referenced_resources): Look inside
939 UNSPEC_VOLATILEs and ASM_INPUTs.
941 2008-07-02 Ian Lance Taylor <iant@google.com>
943 * rtlanal.c (add_reg_note): New function.
944 * rtl.h (add_reg_note): Declare.
945 * auto-inc-dec.c (attempt_change): Use add_reg_note.
946 * bb-reorder.c (add_reg_crossing_jump_notes): Likewise.
947 * builtins.c (expand_builtin_longjmp): Likewise.
948 (expand_builtin_nonlocal_goto): Likewise.
949 * calls.c (emit_call_1, expand_call): Likewise.
950 * cfgexpand.c (add_reg_br_prob_note): Likewise.
951 * cfglayout.c (fixup_reorder_chain): Likewise.
952 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
953 (commit_one_edge_insertion): Likewise.
954 * combine.c (move_deaths, distribute_notes): Likewise.
955 * df-problems.c (df_set_note): Likewise.
956 * emit-rtl.c (link_cc0_insns, try_split): Likewise.
957 (set_unique_reg_note): Likewise.
958 (emit_copy_of_insn_after): Likewise.
959 * expr.c (expand_expr_real): Likewise.
960 * gcse.c (add_label_notes): Likewise.
961 * haifa-sched.c (create_check_block_twin): Likewise.
962 * jump.c (mark_jump_label_1): Likewise.
963 * loop-doloop.c (add_test, doloop_modify): Likewise.
964 * loop-unswitch.c (compare_and_jump_seq): Likewise.
965 * lower-subreg.c (move_eh_region_note): Likewise.
966 * optabs.c (emit_libcall_block): Likewise.
967 * predict.c (predict_insn): Likewise.
968 (combine_predictions_for_insn): Likewise.
969 * recog.c (peephole2_optimize): Likewise.
970 * regmove.c (try_auto_increment): Likewise.
971 * reg-stack.c (emit_pop_insn, move_for_stack_reg): Likewise.
972 * reload.c (find_reloads): Likewise.
973 * reload1.c (fixup_eh_region_note): Likewise.
974 (reload_as_needed, add_auto_inc_notes, copy_eh_notes): Likewise.
975 * reorg.c (delete_prior_computation): Likewise.
976 (delete_computation, dbr_schedule): Likewise.
977 * config/pa/pa.c (legitimize_pic_address): Likewise.
978 * config/sh/sh.c (sh_reorg): Likewise.
980 2008-07-02 H.J. Lu <hongjiu.lu@intel.com>
983 * config/libgcc-glibc.ver: Add %exclude.
984 * config/m32r/libgcc-glibc.ver: Likwise.
985 * config/s390/libgcc-glibc.ver: Likwise.
986 * config/sh/libgcc-glibc.ver: Likwise.
987 * config/sparc/libgcc-sparc-glibc.ver: Likwise.
989 * config/i386/libgcc-glibc.ver: New.
991 * config/i386/libgcc-x86_64-glibc.ver: Removed.
993 2008-07-02 H.J. Lu <hongjiu.lu@intel.com>
995 * config.gcc: Remove i386/t-fprules-softfp64 soft-fp/t-softfp
996 from tmake_file from i[34567]86-*-darwin*, x86_64-*-darwin*,
997 i[34567]86-*-linux*, x86_64-*-linux*. Add
998 i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file for
999 i[34567]86-*-darwin*, x86_64-*-darwin*, i[34567]86-*-linux*,
1000 x86_64-*-linux*. Add i386/t-linux to tmake_file for
1001 i[34567]86-*-linux*, x86_64-*-linux*.
1003 * libgcc-std.ver: Add empty GCC_4.4.0.
1005 * mkmap-symver.awk: Support multiple versions per symbol.
1007 * config/i386/i386.c (ix86_init_builtins): Always define
1008 __builtin_fabsq and __builtin_copysignq with fallbacks.
1009 (ix86_expand_builtin): Emit normal call for __builtin_fabsq
1010 and __builtin_copysignq if SSE2 isn't available.
1012 * config/i386/linux.h (LIBGCC2_HAS_TF_MODE): Defined.
1013 (LIBGCC2_TF_CEXT): Likwise.
1016 * config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): Defined as 1.
1018 * config/i386/sfp-machine.h: Moved to libgcc.
1020 * config/i386/sfp-machine.h: New.
1021 * config/i386/t-linux: Likwise.
1023 * config/i386/t-darwin: Remove softfp_wrap_start and
1025 * config/i386/t-darwin64: Likewise.
1027 * config/i386/t-fprules-softfp64: Renamed to ...
1028 * config/i386/t-fprules-softfp: This.
1030 * config/i386/t-linux64: Remove SHLIB_MAPFILES, softfp_wrap_start
1031 and softfp_wrap_end.
1033 2008-07-02 Jason Merrill <jason@redhat.com>
1035 * tree.c (ctor_to_list): Use FOR_EACH_CONSTRUCTOR_ELT.
1037 * tree.c (ctor_to_list): New fn.
1038 * tree.h: Declare it.
1039 (CONSTRUCTOR_ELT): New macro.
1040 (CONSTRUCTOR_NELTS): New macro.
1042 2008-07-02 Richard Guenther <rguenther@suse.de>
1044 * tree-ssa-structalias.c (struct variable_info): Reorder
1045 to fill padding on 64bit hosts. Make collapsed_to an int.
1046 (get_varinfo_fc): Deal with that.
1047 (new_var_info): Likewise.
1048 (collapse_rest_of_var): Likewise.
1050 2008-07-02 Joshua Sumali <jsumali@redhat.com>
1052 * doc/install.texi (--enable-java-home): Document.
1053 (--enable-aot-compile-rpm): Likewise.
1054 (--with-arch-directory): Likewise.
1055 (--with-os-directory): Likewise.
1056 (--with-origin-name): Likewise.
1057 (--with-arch-suffix): Likewise.
1058 (--with-jvm-root-dir): Likewise.
1059 (--with-jvm-jar-dir): Likewise.
1060 (--with-python-dir): Likewise.
1062 2008-07-02 Richard Guenther <rguenther@suse.de>
1064 * tree-ssa-forwprop.c (can_propagate_from): Exclude loads
1065 from decls explicitly. Merge operand checking from tuples.
1067 2008-07-02 Martin Jambor <mjambor@suse.cz>
1069 * tree-switch-conversion.c: Included timevar.h which I forgot before.
1071 2008-07-02 Martin Jambor <mjambor@suse.cz>
1073 * tree-switch-conversion.c: Included timevar.h
1074 (pass_convert_switch): Added a timevar id (TV_TREE_SWITCH_CONVERSION).
1076 * timevar.def: Added TV_TREE_SWITCH_CONVERSION.
1078 2008-07-02 Martin Jambor <mjambor@suse.cz>
1080 * tree-switch-conversion.c: Corrected various comments and
1082 (build_constructors): Fixed minor formatting mistakes.
1084 * invoke.texi (Optimize Options): Corrected the
1085 switch-conversion-max-branch-ratio parameter.
1087 2008-07-02 Mark Shinwell <shinwell@codesourcery.com>
1089 * final.c (asm_insn_count): Return zero for an empty asm body.
1091 2008-07-02 Richard Guenther <rguenther@suse.de>
1093 * bitmap.h (bitmap_set_bit): Return bool.
1094 (bitmap_clear_bit): Likewise.
1095 * bitmap.c (bitmap_set_bit): Return if the bit changed. Only
1096 write to the bitmap if it would.
1097 (bitmap_clear_bit): Likewise.
1098 * tree-ssa-structalias.c (add_implicit_graph_edge): Use
1099 bitmap_set_bit return value.
1100 (add_pred_graph_edge): Likewise.
1101 (add_graph_edge): Likewise.
1102 (do_sd_constraint): Likewise.
1103 (do_ds_constraint): Likewise.
1105 2008-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1107 * config/alpha/alpha.c (alpha_need_linkage, alpha_use_linkage):
1108 Fix -Wc++-compat and/or -Wcast-qual warnings.
1109 * config/i386/netware.c (gen_stdcall_or_fastcall_decoration,
1110 gen_regparm_prefix): Likewise.
1111 * vmsdbgout.c (write_modbeg, lookup_filename,
1112 vmsdbgout_source_line, vmsdbgout_init): Likewise.
1114 2008-07-02 Danny Smith <dannysmith@users.sourceforge.net>
1116 * config/i386/mingw32.h (TARGET_USE_JCR_SECTION): Undef to let
1117 defaults.h definition apply.
1119 2008-07-01 Daniel Jacobowitz <dan@codesourcery.com>
1121 * function.c (assign_parm_remove_parallels): New.
1122 (assign_parm_setup_block_p): Do not return true for non-BLKmode
1124 (assign_parm_setup_block): Do not handle them.
1125 (assign_parm_setup_reg, assign_parm_setup_stack): Call
1126 assign_parm_remove_parallels.
1128 2008-07-01 Daniel Jacobowitz <dan@codesourcery.com>
1130 * c-typeck.c (convert_for_assignment): Use
1131 vector_targets_convertible_p.
1132 * c-common.c (vector_targets_convertible_p): New.
1133 * c-common.h (vector_targets_convertible_p): New prototype.
1134 * config/rs6000/rs6000.c (rs6000_is_opaque_type): Do not check
1135 opaque_p_V2SI_type_node.
1137 2008-07-01 Steve Ellcey <sje@cup.hp.com>
1139 * config/ia64/ia64.c (ia64_cannot_force_const_mem): Do not allow
1142 2008-07-01 Uros Bizjak <ubizjak@gmail.com>
1144 * config/i386/i386.c (ix86_build_signbit_mask): Generate TImode and
1145 TFmode constants via two element DImode vector for hosts with
1146 HOST_BITS_PER_WIDE_INT < 64.
1147 (ix86_init_builtins): Define __builtin_fabsq and __builtin_copysignq
1148 also for HOST_BITS_PER_WIDE_INT < 64.
1150 2008-07-01 Richard Guenther <rguenther@suse.de>
1152 PR tree-optimization/36666
1153 * tree-ssa-structalias.c (get_constraint_for_1): Declare.
1154 (get_constraint_exp_from_ssa_var): Split into ...
1155 (get_constraint_exp_for_temp): ... this ...
1156 (get_constraint_for_ssa_var): ... and that.
1157 Return constraint expressions for all touched sub-fields
1158 if the results address is not taken.
1159 (process_constraint): Remove assertion that aggregate
1160 assignments do not happen at this place.
1161 (get_constraint_for_component_ref): Add address_p argument.
1162 Return constraint expressions for all touched sub-fields
1163 if the results address is not taken.
1164 (do_deref): Use get_constraint_exp_for_temp.
1165 (get_constraint_for_1): Rename from ...
1166 (get_constraint_for): ... this. Add the old function as wrapper.
1167 (do_structure_copy): Use get_constraint_for_1.
1169 2008-07-01 Martin Jambor <mjambor@suse.cz>
1171 * Makefile.in (tree-switch-conversion.o): Add.
1172 (OBJS-common): Add tree-swtch-conversion.o.
1173 * passes.c (init_optimization_passes): Add pass_convert_switch.
1174 * tree-pass.h: (pass_convert_switch): Add.
1175 * tree-switch-conversion.c: New file.
1176 * gcc.dg/tree-ssa/cswtch.c: New testcase.
1177 * common.opt (ftree-cswtch): New option.
1178 * params.h (PARAM_SWITCH_CONVERSION_BRANCH_RATIO): New parameter.
1179 * params.def (PARAM_SWITCH_CONVERSION_BRANCH_RATIO): New parameter.
1180 * opts.c (decode_options): Set flag_tree_switch_conversion when
1181 optimization level is >= 2.
1182 * doc/invoke.texi (Optimize Options): Added description of
1183 -ftree-swtch-conversion and switch-conversion-max-branch-ratio.
1185 2008-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1187 * config/darwin-driver.c (darwin_default_min_version): Fix
1188 -Wc++-compat warnings.
1190 2008-06-30 Uros Bizjak <ubizjak@gmail.com>
1192 * config/i386/i386.md (*movti_rex64): Add "!" to "r" constraint
1195 2008-06-30 Kenneth Zadeck <zadeck@naturalbridge.com>
1197 * ifcvt.c (cond_move_process_if_block): Free vectors on false return.
1199 2008-06-30 Kenneth Zadeck <zadeck@naturalbridge.com>
1201 PR rtl-optimization/34744
1202 * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): New macros.
1203 (df_scan_free_internal): Free data structures not
1204 allocated in storage pools.
1205 (df_mw_hardreg_chain_delete_eq_uses): Use df_scan_free_mws_vec.
1206 (df_refs_add_to_chains): Use df_scan_free_ref_vec and
1207 df_scan_free_mws_vec.
1208 * dse.c (dse_step6): Free offset_map_p and offset_map_n
1211 2008-06-30 H.J. Lu <hongjiu.lu@intel.com>
1213 * config/i386/i386.c (contains_aligned_value_p): Return true
1215 (ix86_function_arg_boundary): Return its natural boundary
1217 (return_in_memory_32): Don't check TDmode.
1218 (ix86_split_to_parts): Support splitting into 4 parts and
1219 support TFmode for 32bit target.
1220 (ix86_split_long_move): Support splitting into 4 parts.
1221 (bdesc_args): Enable IX86_BUILTIN_FABSQ and IX86_BUILTIN_COPYSIGNQ
1223 (ix86_init_mmx_sse_builtins): Move __float80 and __float128 to ...
1224 (ix86_init_builtins): Here.
1225 (ix86_scalar_mode_supported_p): Always return true for TFmode.
1226 (ix86_c_mode_for_suffix): Always return TFmode and XFmode for
1227 'q' and 'w', respectively.
1229 * config/i386/i386.md (movtf): Check TARGET_SSE2 instead of
1231 (movtf_internal): Likewise.
1232 (<code>tf2): Likewise.
1233 (*absnegtf2_sse): Likewise.
1234 (copysign<mode>3): Likewise.
1235 (copysign<mode>3_const): Likewise.
1236 (copysign<mode>3_var): Likewise.
1237 (define_split UNSPEC_COPYSIGN): Likewise.
1238 * config/i386/sse.md (*nandtf3): Likewise.
1239 (<code>tf3): Likewise.
1240 (*<code>tf3): Likewise.
1242 2008-06-30 Joey Ye <joey.ye@intel.com>
1243 H.J. Lu <hongjiu.lu@intel.com>
1245 * global.c (compute_regsets): Set frame_pointer_needed here.
1246 * reload1.c (init_elim_table): Don't set frame_pointer_needed here.
1248 2008-06-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1250 * doc/install.texi (specific): Expand Windows build notes.
1252 2008-06-30 Ira Rosen <irar@il.ibm.com>
1254 PR tree-optimization/36648
1255 * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Divide
1256 number of prolog iterations by step. Fix the comment.
1258 2008-06-30 Richard Guenther <rguenther@suse.de>
1261 * tree-ssa-structalias.c (handle_lhs_call): Add flags argument,
1262 handle calls from ECF_MALLOC functions.
1263 (handle_pure_call): ECF_MALLOC functions do not return
1265 (find_func_aliases): Handle all calls, adjust calls to handle_lhs_call.
1267 2008-06-29 Andreas Schwab <schwab@suse.de>
1269 * config/m68k/m68k.c (print_operand): Always print a float
1271 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND)
1272 (ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND):
1275 * config/rs6000/x-linux64: Remove never used file.
1277 2008-06-29 Richard Guenther <rguenther@suse.de>
1279 * tree-ssa-structalias.h (compute_points_to_sets): Adjust
1281 (struct alias_info): Move ...
1282 * tree-ssa-alias.c: ... here.
1283 (update_alias_info): Declare.
1284 (compute_may_aliases): Call it.
1285 (update_alias_info): New function.
1286 * tree-ssa-structalias.c (update_alias_info): Move ...
1287 * tree-ssa-alias.c (update_alias_info_1): ... here.
1288 * tree-ssa-structalias.c (process_constraint_1): Remove
1289 unused from_call argument. Rename to ...
1290 (process_constraint): ... this. Delete old wrapper.
1291 (make_constraint_to): Adjust callers.
1292 (handle_const_call): Likewise.
1293 (handle_pure_call): Likewise.
1294 (init_base_vars): Likewise.
1295 (handle_lhs_call): Likewise. Remove unnecessary constraint.
1296 (find_func_aliases): We don't need structure copies for
1298 (make_constraint_from_anything): Remove.
1299 (create_variable_info_for): For globals make constraints
1300 from escaped, not from anything.
1301 (compute_points_to_sets): Do not call update_alias_info.
1302 (ipa_pta_execute): Use make_constraint_from.
1304 2008-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1306 * Makefile.in (CXX_COMPAT_WARN, cxx_compat_warn): Delete.
1307 (bitmap.o-warn, dominance.o-warn): New.
1308 * configure.ac (cxx_compat_warn): Delete.
1309 (loose_warn): Add -Wcast-qual and -Wc++-compat.
1310 * system.h: Remove #pragma diagnostic for -Wcast-qual and
1312 * configure: Regenerate.
1314 * optabs.c (libfunc_decl_hash, libfunc_decl_eq): Fix -Wcast-qual
1317 2008-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1319 * alloc-pool.c (create_alloc_pool): Fix -Wc++-compat warnings.
1320 * df-scan.c (df_notes_rescan): Likewise.
1321 * ggc-page.c (set_page_table_entry): Likewise.
1322 * intl.c (gcc_gettext_width): Likewise.
1323 * varasm.c (get_unnamed_section, get_noswitch_section,
1324 get_section): Likewise.
1326 2008-06-28 Andrew Jenner <andrew@codesourcery.com>
1328 * regrename.c (build_def_use): Don't copy RTX.
1330 2008-06-28 Sandra Loosemore <sandra@codesourcery.com>
1332 * doc/extend.texi (Variable Attributes): Use @ref instead of @xref.
1333 (Type Attributes): Fix nesting of @table and @subsection. Adjust
1334 punctuation. Use @ref instead of @xref.
1335 (Function Names): Remove stray @display/@end display.
1336 (C++ Attributes): Use @ref instead of @xref.
1337 (Deprecated Features): Fix punctuation around @xref.
1338 (Backwards Compatibility): Likewise.
1339 * doc/rtl.texi (Incdec): Remove stray @table/@end table.
1341 2008-06-28 Joseph Myers <joseph@codesourcery.com>
1343 * config/rs6000/predicates.md (easy_fp_constant): Reject TFmode
1344 constants for E500 double.
1346 2008-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1348 * doc/rtl.texi (const_vector): Document const_fixed as legitimate
1349 element type of const_vector.
1351 2008-06-28 Uros Bizjak <ubizjak@gmail.com>
1353 * config/i386/i386.md (addti3, adddi3, addsi3, addhi3, addqi3):
1354 Remove FLAGS_REG clobber from expander pattern.
1355 (subti3, subdi3, subsi3, subhi3, subqi3): Ditto.
1356 (anddi3, andsi3, andhi3, andqi3): Ditto.
1357 (iordi3, iorsi3, iorhi3, iorqi3): Ditto.
1358 (xordi3, xorsi3, xorhi3, xorqi3): Ditto.
1359 (negti2, negdi2, negsi2, neghi2, negqi2): Ditto.
1360 (ashlsi3, ashlhi3, ashlqi3): Ditto.
1361 (ashrsi3, ashrhi3, ashrqi3): Ditto.
1362 (lshrsi3, lshrhi3, lshrqi3): Ditto.
1363 (rotldi3, rotlsi3, rotlhi3, rotlqi3): Ditto.
1364 (rotrdi3, rotrsi3, rotrhi3, rotrqi3): Ditto.
1366 2008-06-28 Richard Guenther <rguenther@suse.de>
1368 * tree-ssa-structalias.c (callused_id, var_callused,
1369 callused_tree): Add.
1370 (handle_pure_call): New function.
1371 (find_func_aliases): Call it.
1372 (find_what_p_points_to): Handle the call-used set.
1373 (clobber_what_escaped): Likewise.
1374 (compute_call_used_vars): New function.
1375 (init_base_vars): Init the call-used variable.
1376 (do_sd_constraint): Do not propagate the solution from CALLUSED
1377 but use CALLUSED as a placeholder.
1378 (solve_graph): Likewise.
1379 * tree-flow-inline.h (gimple_call_used_vars): New function.
1380 * tree-flow.h (struct gimple_df): Add call_used_vars bitmap.
1381 (compute_call_used_vars): Declare.
1382 * tree-ssa-alias.c (set_initial_properties): Call
1383 compute_call_used_vars.
1384 (reset_alias_info): Clear call-used variables.
1385 (add_call_clobber_ops): Assert we are not called for const/pure
1386 functions. Remove handling of them.
1387 (add_call_read_ops): Handle pure functions by adding the
1388 call-used set of variables as VUSEs.
1389 * tree-ssa.c (init_tree_ssa): Allocate call-used bitmap.
1390 (delete_tree_ssa): Free it.
1391 * tree-dfa.c (remove_referenced_var): Clear the var from the
1394 2008-06-28 Kai Tietz <kai.tietz@onevision.com>
1396 * tree.c (build_varargs_function_type_list): New.
1397 (build_function_type_list_1): New.
1398 (build_function_type_list): Use build_function_type_list_1.
1399 * tree.h (build_varargs_function_type_list): New.
1401 2008-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1404 * config/spu/spu.c (spu_builtin_splats): Do not generate
1405 invalid CONST_VECTOR expressions.
1406 (spu_expand_vector_init): Likewise.
1408 2008-06-28 Richard Sandiford <rdsandiford@googlemail.com>
1410 * optabs.c (libfunc_decls): New variable.
1411 (libfunc_decl_hash, libfunc_decl_eq): New functions.
1412 (init_one_libfunc): Reuse decls and SYMBOL_REFs when asked
1413 for the same function twice.
1415 2008-06-27 Uros Bizjak <ubizjak@gmail.com>
1417 * config/i386/i386.md (ashlti3, ashrti3, lshrti3): Expand using
1418 ix86_expand_binary_operator directly.
1419 (*ashlti3_1): Rename from ashlti3_1. Use nonmemory_operand predicate
1421 (*ashrti3_1): Ditto.
1422 (*lshrti3_1): Ditto.
1423 (*ashlti3_2, *ashrti3_2, *lshrti3_2): Remove insn patterns.
1424 (ashlti, ashrti and lshrti splitters): Handle nonmemory operand 2
1425 using only one splitter. Conditionaly execute splitter before or
1426 after peephole2 pass.
1427 (ashlti, ashrti and lshrti peephole2): Define peephole2 patterns.
1428 (x86_shld): Rename from x86_shld_1. Compress operand 2 constraints.
1429 Use only one alternative in asm template.
1430 (x86_64_shld): Compress operand 2 constraints. Use only one alternative
1432 (*ashldi3_cmp_rex64): Use const_1_to_63_operand operand predicate and
1433 "J" operand constraint for operand 2.
1434 (*ashldi3_cconly_rex64): Ditto.
1435 (*ashrdi3_cmp_rex64): Ditto.
1436 (*ashrdi3_cconly_rex64): Ditto.
1437 (*lshrdi3_cmp_rex64): Ditto.
1438 (*lshrdi3_cconly_rex64): Ditto.
1439 * config/i386/predicates.md (const_1_to_63_operand): New predicate.
1440 * config/i386/i386.md (print_operand) ['s']: Print ", " using fputs.
1441 (split_ashr, split_ashl, split_lshr): Use gen_x86_shrd instead of
1444 2008-06-27 Jakub Jelinek <jakub@redhat.com>
1446 * gimplify.c (omp_is_private): Don't return true if decl is not
1447 already private on #pragma omp for or #pragma omp parallel for.
1450 * tree-cfg.c (struct move_stmt_d): Replace block field with
1451 orig_block and new_block fields.
1452 (move_stmt_r): Only set TREE_BLOCK to p->new_block if
1453 if it used to be NULL, p->orig_block or if p->orig_block is NULL.
1454 (move_block_to_fn): Replace vars_map and new_label_map arguments
1455 with struct move_stmt_d pointer.
1456 (replace_block_vars_by_duplicates): New function.
1457 (move_sese_region_to_fn): Add ORIG_BLOCK argument. Adjust
1458 move_block_to_fn caller. If ORIG_BLOCK is non-NULL, move over
1459 all subblocks of ORIG_BLOCK to the new function. Call
1460 replace_block_vars_by_duplicates.
1461 * tree-flow.h (move_sese_region_to_fn): Adjust prototype.
1462 * omp-low.c (expand_omp_taskreg): Set TREE_USED on DECL_INITIAL
1463 BLOCK of the new function. Adjust move_sese_region_to_fn caller.
1464 Prune vars with original DECL_CONTEXT from child_cfun->local_decls.
1465 (expand_omp): Temporarily set input_location to the location of
1466 region's controlling stmt.
1467 (lower_omp_sections, lower_omp_for): Add a BLOCK into outermost
1468 BIND_EXPR, push ctx->block_vars and gimplification vars into
1469 the BIND_EXPR and its block's BLOCK_VARS instead of directly
1471 (lower_omp_single): Set TREE_USED on the BIND_EXPR's BLOCK if
1472 there are any BLOCK_VARS.
1473 (lower_omp_taskreg): Set BLOCK on a BIND_EXPR containing the
1474 OMP_PARALLEL or OMP_TASK stmt.
1475 (lower_omp): Save and restore input_location around the lower_omp_1
1478 2008-06-27 Richard Guenther <rguenther@suse.de>
1480 PR tree-optimization/36400
1481 PR tree-optimization/36373
1482 PR tree-optimization/36344
1483 * tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
1484 var_nonlocal, nonlocal_tree, nonlocal_id): New globals
1485 (update_alias_info): Remove call clobbering code.
1486 (make_constraint_to): New helper function.
1487 (make_escape_constraint): Likewise.
1488 (handle_rhs_call): Use it on all pointer containing arguments.
1489 Also mark the static chain escaped.
1490 (handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
1491 instead of ANYTHING.
1492 (make_constraint_from): New helper split out from ...
1493 (make_constraint_from_anything): ... here.
1494 (find_func_aliases): Add constraints for escape sites.
1495 (intra_create_variable_infos): Make constraints from NONLOCAL
1497 (find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
1499 (clobber_what_p_points_to): Remove.
1500 (clobber_what_escaped): New function.
1501 (init_base_vars): Init NONLOCAL and ESCAPED.
1502 (do_sd_constraint): Do not propagate the solution from ESCAPED
1503 but use ESCAPED as a placeholder.
1504 (solve_graph): Likewise.
1505 * tree-flow.h (clobber_what_p_points_to): Remove.
1506 (clobber_what_escaped): Declare.
1507 * tree-ssa-alias.c (set_initial_properties): Call it.
1508 Remove code clobbering escaped pointers.
1510 2008-06-27 Richard Sandiford <rdsandiford@googlemail.com>
1512 * function.c (allocate_struct_function): Only allocate a unique
1513 funcdef_no if the decl is nonzero.
1515 2008-06-27 Richard Sandiford <rdsandiford@googlemail.com>
1517 * config/mips/mips-protos.h (mips_split_const_insns): Declare.
1518 * config/mips/mips.c (mips_split_const_insns): New function.
1519 * config/mips/mips.md (move_type): New attribute.
1520 (mode): Move attribute definition earlier in file. Add "TI" and "TF".
1521 (dword_mode): New attribute.
1522 (type): Avoid long line. Map "move_type"s to "type"s,
1523 choosing "multi" for doubleword moves if appropriate.
1524 Swap MTC/MFC comments to match their declaration order.
1525 (extended_mips16): Default to "yes" if "move_type" is "sll0",
1526 "type" is "branch" or "jal" is "direct".
1527 (length): Handle "extended_mips16" first. Make the default
1528 "0" for "ghost" instructions. Set the length from "move_type".
1529 (truncdisi2, truncdihi2, truncdiqi2): Use "move_type" instead
1530 of "type", with "sll0" for the register alternative. Remove the
1531 "extended_mips16" attribute.
1532 (zero_extendsidi2, *clear_upper32): Use "move_type" instead
1533 of "type", with "shift_shift" for the register alternative.
1534 Remove the "length" attribute.
1535 (*extend<SHORT:mode><GPR:mode>2, *extendqihi2): Likewise.
1536 (*zero_extend<SHORT:mode><GPR:mode>2): Use "move_type" instead
1537 of "type", with "andi" for the register alternative.
1538 (*zero_extendqihi2): Likewise.
1539 (*zero_extend<SHORT:mode><GPR:mode>2_mips16e): Use a "move_type"
1540 of "andi" instead of a "type" of "arith".
1541 (*zero_extend<SHORT:mode><GPR:mode>2_mips16): Use "move_type"
1543 (*zero_extendqihi2_mips16, mov_<load>l, mov_<load>r, mov_<store>l)
1544 (mov_<store>r, *mov<mode>_ra): Likewise.
1545 (extendsidi2): Use "move_type" instead of "type", with "move"
1546 for the register alternative.
1547 (*extend<SHORT:mode><GPR:mode>2_mips16e): Use "move_type" instead
1548 of "type", with "signext" for the register alternative.
1549 (*extend<SHORT:mode><GPR:mode>2_se<SHORT:size>): Likewise.
1550 (*extendqihi2_mips16e, *extendqihi2_seb): Likewise.
1551 (fix_truncdfsi2_insn, fix_truncsfsi2_insn, fix_truncdfdi2)
1552 (fix_truncsfdi2, floatsidf2, floatdidf2, floatsisf2, floatdisf2)
1553 (floatdisf2, *branch_equality<mode>_mips16): Likewise.
1554 (unnamed branch insn): Likewise.
1555 (*movdi_gp32_fp64): Fold into...
1556 (*movdi_32bit): ...here.
1557 (*movdf_hardfloat_64bit, *movdf_hardfloat_32bit): Combine into...
1558 (*movdf_hardfloat): ...this new pattern.
1559 (*movdf_softfloat): Remove redundant FPR alternatives.
1560 (*movti, *movti_mips16, *movtf, *movtf_mips16): Add "mode" attributes.
1561 (*movv2sf_hardfloat_64bit, *movv2sf_hardfloat_32bit): Combine into...
1562 (*movv2sf): ...this new pattern. Use "DF" rather than "SF" for
1563 the "move" attribute.
1564 (*movdi_32bit): Use "move_type" instead of "type" and remove the
1565 "length" attribute. Use "fpload" and "fpstore" instead of "load"
1566 and "store" for COP loads and stores.
1567 (*movdi_32bit_mips16, *movdi_64bit, *movsi_internal, movcc)
1568 (*movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16)
1569 (*movsf_hardfloat, *movsf_softfloat, *movsi_mips16, *movdf_hardfloat)
1570 (*movdf_softfloat, *movdf_mips16, *movti, *movti_mips16, *movtf)
1571 (*movtf_mips16, *movv2sf): Likewise.
1572 (mfhi<GPR:mode>_<HILO:mode>, mflo<GPR:mode>_<HILO:mode>)
1573 (load_low<mode>, load_high<mode>, store_word<mode>, mthc1<mode>)
1574 (mfhc1<mode>): Use "move_type" instead of "move".
1575 (*low<mode>_mips16): Use "extended_mips16" instead of "length".
1576 (loadgp_blockage): Remove the "length" attribute.
1577 (blockage, set_got_version, update_got_version): Likewise.
1578 (call_internal): Remove the "extended_mips16" attribute.
1579 (call_value_internal, call_value_multiple_internal): Likewise.
1580 * config/mips/loongson.md (mov<mode>_internal): Use "move_type"
1582 * config/mips/mips-dsp.md (mips_lbux, mips_lhx, mips_lwx): Remove
1583 the "length" attribute.
1585 2008-06-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1587 * c-format.c (handle_format_attribute): Fix -Wc++-compat and/or
1588 -Wcast-qual warnings.
1589 * c-pragma.c (dpm_eq, handle_pragma_push_macro,
1590 handle_pragma_pop_macro): Likewise.
1591 * collect2.c (resolve_lib_name): Likewise.
1592 * config/arc/arc.c (arc_init): Likewise.
1593 * config/arm/arm.c (neon_builtin_compare,
1594 locate_neon_builtin_icode): Likewise.
1595 * config/arm/pe.c (arm_mark_dllexport, arm_pe_unique_section): Likewise.
1596 * config/bfin/bfin.c (bfin_init_machine_status,
1597 bfin_optimize_loop): Likewise.
1598 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Likewise.
1599 * config/cris/cris.c (cris_init_expanders): Likewise.
1600 * config/darwin-c.c (frameworks_in_use, add_framework): Likewise.
1601 * config/darwin.c (machopic_indirection_eq,
1602 machopic_indirection_name, machopic_output_indirection): Likewise.
1603 * config/frv/frv.c (frv_init_machine_status, frv_compare_insns,
1604 frv_io_check_address, frv_io_handle_set, frv_io_handle_use_1,
1605 frv_optimize_membar): Likewise.
1606 * config/i386/cygwin.h (mingw_scan,
1607 GCC_DRIVER_HOST_INITIALIZATION): Likewise.
1608 * config/i386/cygwin1.c (mingw_scan): Likewise.
1609 * config/i386/i386.c (machopic_output_stub): Likewise.
1610 * config/i386/winnt.c (gen_stdcall_or_fastcall_suffix,
1611 i386_pe_unique_section): Likewise.
1612 * config/ia64/ia64.c (ia64_init_machine_status,
1613 ia64_h_i_d_extended, get_free_bundle_state, bundling, ia64_reorg):
1615 * config/iq2000/iq2000.c, iq2000_init_machine_status): Likewise.
1616 * config/m68hc11/m68hc11.c (m68hc11_encode_label): Likewise.
1617 * config/m68k/m68k.c (m68k_handle_option,
1618 m68k_sched_md_init_global): Likewise.
1619 * config/mcore/mcore.c (mcore_mark_dllexport, mcore_mark_dllimport,
1620 mcore_unique_section): Likewise.
1621 * config/mips/mips.c (mips_block_move_straight,
1622 mips16_rewrite_pool_refs, mips_sim_wait_regs_2, mips_sim_record_set):
1624 * config/mmix/mmix.c (mmix_init_machine_status,
1625 mmix_encode_section_info): Likewise.
1626 * config/pa/pa.c (pa_init_machine_status, hppa_encode_label): Likewise.
1627 * config/rs6000/rs6000.c (rs6000_init_machine_status,
1628 print_operand_address, output_toc, redefine_groups,
1629 rs6000_elf_encode_section_info, machopic_output_stub): Likewise.
1630 * config/s390/s390.c (s390_init_machine_status): Likewise.
1631 * config/score/score.c (score_block_move_straight,
1632 score_block_move_loop_body): Likewise.
1633 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
1634 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
1635 * emit-rtl.c (find_auto_inc): Likewise.
1636 * gcc.c (translate_options, process_command): Likewise.
1637 * reorg.c (dbr_schedule): Likewise.
1638 * sdbout.c (sdbout_start_source_file, sdbout_init): Likewise.
1639 * xcoffout.c (xcoffout_declare_function): Likewise.
1641 2008-06-27 Daniel Berlin <dberlin@dberlin.org>
1643 * tree-ssa-structalias.c (find_func_aliases): Trivial fix to get
1644 ipa-pta working again.
1646 2008-06-27 David Edelsohn <edelsohn@gnu.org>
1648 * config/rs6000/t-aix52: Append large data option to LDFLAGS for
1651 2008-06-27 Edmar Wienskoski <edmar@freescale.com>
1653 * config.gcc (powerpc*-*-*): Add new core e500mc.
1654 * config/rs6000/e500mc.md: New file.
1655 * config/rs6000/rs6000.c (processor_costs): Add new costs for
1657 (rs6000_override_options): Add e500mc case to
1658 processor_target_table. Altivec and Spe options not allowed
1659 with e500mc. Add isel instruction to e500mc by
1660 default. Initialize rs6000_cost for e500mc.
1661 (rs6000_issue_rate): Set issue rate for e500mc.
1662 * config/rs6000/rs6000.h (processor_type): Add
1663 PROCESSOR_PPCE500MC.
1664 (ASM_CPU_SPEC): Add e500mc.
1665 Set TARGET_ISEL to rs6000_isel.
1666 * config/rs6000/e500.h: Remove redefinition of TARGET_ISEL.
1667 (CHECK_E500_OPTIONS): Remove TARGET_ISEL.
1668 * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce500mc.
1670 * doc/invoke.texi: Add e500mc to list of cpus.
1672 2008-06-27 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1675 * c-lex.c (lex_charconst): Initialize unsignedp.
1677 2008-06-27 Olivier Hainque <hainque@adacore.com>
1679 * gimplify.c (gimplify_modify_expr_to_memset): Assert our
1680 documented assumptions.
1682 2008-06-26 H.J. Lu <hongjiu.lu@intel.com>
1684 * dwarf2out.c: Remove trailing white spaces. Break long line
1687 2008-06-26 Richard Sandiford <rdsandiford@googlemail.com>
1689 * libfuncs.h (LTI_synchronize): New libfunc_index.
1690 (synchronize_libfunc): Declare.
1691 * builtins.c (expand_builtin_synchronize): Consider using
1692 synchronize_libfunc before falling back on an asm blockage.
1693 * config/mips/mips.c: Include libfuncs.h
1694 (mips_init_libfuncs): Initialize synchronize_libfunc for TARGET_MIPS16.
1696 2008-06-26 Nathan Froyd <froydnj@codesourcery.com>
1698 * config/rs6000/rs6000.c (emit_allocate_stack): Add copy_r11
1699 parameter. Copy stack_reg to r11 where appropriate.
1700 (no_global_regs_above): Add gpr parameter.
1701 (rs6000_stack_info): Only add padding for SPE save area if we
1702 are saving SPE GPRs and CR.
1703 (saveres_routine_syms): New variable.
1704 (FIRST_SAVRES_REGISTER, LAST_SAVRES_REGISTER, N_SAVRES_REGISTERS):
1706 (rs6000_savres_routine_sym): New function.
1707 (rs6000_emit_stack_reset, rs6000_restore_saved_cr): New functions,
1709 (rs6000_emit_epilogue): ...here. Use rs6000_use_multiple_p and
1710 rs6000_savres_strategy. Restore GPRs out-of-line if appropriate.
1711 Tweak FPR out-of-line saving.
1712 (rs6000_make_savres_rtx): New function.
1713 (rs6000_use_multiple_p): New function.
1714 (rs6000_savres_strategy): New function.
1715 (rs6000_emit_prologue): Use rs6000_savres_strategy. Save GPRs
1716 out-of-line if appropriate.
1717 * config/rs6000/sysv4.h (FP_SAVE_INLINE): Save FPRs out-of-line
1718 if we are optimizing for size.
1719 (GP_SAVE_INLINE): Define.
1720 (SAVE_FP_SUFFIX, RESTORE_FP_SUFFIX): Only use _l on 64-bit targets.
1721 * config/rs6000/darwin.h (GP_SAVE_INLINE): Define.
1722 * config/rs6000/aix.h (GP_SAVE_INLINE): Define.
1723 * config/rs6000/rs6000.md (*save_gpregs_<mode>): New insn.
1724 (*save_fpregs_<mode>): Add use of r11.
1725 (*restore_gpregs_<mode>): New insn.
1726 (*return_and_restore_gpregs_<mode>): New insn.
1727 (*return_and_restore_fpregs_<mode>): Adjust to clobber LR and
1729 * config/rs6000/spe.md (*save_gpregs_spe): New insn.
1730 (*restore_gpregs_spe): New insn.
1731 (*return_and_restore_gpregs_spe): New insn.
1732 * config/rs6000/predicates.md (save_world_operation): Fix check.
1734 2008-06-26 Steven Bosscher <steven@gcc.gnu.org>
1736 * tree-into-ssa (insert_phi_nodes_for): 'var' must be a DECL at
1737 this point, so assert that.
1739 2008-06-26 Steven Bosscher <steven@gcc.gnu.org>
1741 * cfganal.c: Include vec.h and vecprim.h.
1742 (compute_idf): Import from...
1743 * tree-into-ssa (compute_idf): ...here.
1744 * basic-block.h (compute_idf): Export.
1746 2008-06-26 Joseph Myers <joseph@codesourcery.com>
1748 * c-decl.c (merge_decls): Use !current_function_decl to check for
1749 extern declaration of C99 inline function being at file scope.
1751 2008-06-25 John David Anglin <dave.anglin@gcc-cnrc.gc.ca>
1753 * config.gcc (hppa[12]*-*-hpux10*): Don't use fixproto.
1755 2008-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1757 * alias.c (record_alias_subset, init_alias_analysis): Fix
1758 -Wc++-compat and/or -Wcast-qual warnings.
1759 * attribs.c (lookup_attribute_spec): Likewise.
1760 * bb-reorder.c (find_traces, rotate_loop, find_traces_1_round,
1761 copy_bb, connect_traces,
1762 find_rarely_executed_basic_blocks_and_cr): Likewise.
1763 * bt-load.c (find_btr_def_group, add_btr_def, new_btr_user,
1764 note_btr_set, migrate_btr_defs): Likewise.
1765 * builtins.c (result_vector, expand_builtin_memcpy,
1766 expand_builtin_mempcpy_args, expand_builtin_strncpy,
1767 builtin_memset_read_str, expand_builtin_printf,
1768 fold_builtin_memchr, rewrite_call_expr, fold_builtin_printf):
1770 * caller-save.c (mark_set_regs): Likewise.
1771 * calls.c (expand_call, emit_library_call_value_1): Likewise.
1772 * cgraph.c (cgraph_edge): Likewise.
1773 * combine.c (likely_spilled_retval_1): Likewise.
1774 * coverage.c (htab_counts_entry_hash, htab_counts_entry_eq,
1775 htab_counts_entry_del, get_coverage_counts): Likewise.
1776 * cselib.c (new_elt_list, new_elt_loc_list, entry_and_rtx_equal_p,
1777 new_cselib_val): Likewise.
1778 * dbgcnt.c (dbg_cnt_process_opt): Likewise.
1779 * dbxout.c (dbxout_init, dbxout_type, output_used_types_helper):
1781 * df-core.c (df_compact_blocks): Likewise.
1782 * df-problems.c (df_grow_bb_info, df_chain_create): Likewise.
1783 * df-scan.c (df_grow_reg_info, df_ref_create,
1784 df_insn_create_insn_record, df_insn_rescan, df_notes_rescan,
1785 df_ref_compare, df_ref_create_structure, df_bb_refs_record,
1786 df_record_entry_block_defs, df_record_exit_block_uses,
1787 df_bb_verify): Likewise.
1788 * df.h (DF_REF_EXTRACT_WIDTH_CONST, DF_REF_EXTRACT_OFFSET_CONST,
1789 DF_REF_EXTRACT_MODE_CONST): New.
1790 * dominance.c (get_immediate_dominator, get_dominated_by,
1791 nearest_common_dominator, root_of_dom_tree,
1792 iterate_fix_dominators, first_dom_son, next_dom_son): Fix
1793 -Wc++-compat and/or -Wcast-qual warnings.
1794 * dse.c (clear_alias_set_lookup, get_group_info, gen_rtx_MEM,
1795 record_store, replace_read, check_mem_read_rtx, scan_insn,
1796 dse_step1, dse_record_singleton_alias_set): Likewise.
1797 * dwarf2asm.c (dw2_force_const_mem): Likewise.
1799 2008-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1801 * dwarf2out.c (new_cfi, queue_reg_save, dwarf2out_begin_prologue,
1802 dwarf2out_frame_init, new_loc_descr, new_die, lookup_decl_die,
1803 lookup_decl_loc, add_var_loc_to_decl, compute_section_prefix,
1804 assign_symbol_names, htab_cu_hash, htab_cu_eq, htab_cu_del,
1805 build_abbrev_table, new_loc_list, output_comp_unit, add_arange,
1806 add_ranges_num, add_ranges_by_labels, file_info_cmp,
1807 file_name_acquire, output_file_names, add_const_value_attribute,
1808 premark_used_types_helper, file_table_eq, file_table_hash,
1809 lookup_filename, dwarf2out_var_location, dwarf2out_source_line,
1810 dwarf2out_init, file_table_relative_p): Fix -Wc++-compat and/or
1811 -Wcast-qual warnings.
1812 * ebitmap.c (ebitmap_array_grow, ebitmap_array_init,
1813 ebitmap_alloc, ebitmap_ior, ebitmap_and_compl): Likewise.
1814 * emit-rtl.c (get_mem_attrs, get_reg_attrs, gen_rtvec,
1815 gen_reg_rtx, start_sequence, init_emit): Likewise.
1816 * et-forest.c (et_new_occ, et_new_tree): Likewise.
1817 * except.c (init_eh_for_function, gen_eh_region,
1818 remove_unreachable_regions, add_ehl_entry, duplicate_eh_regions_1,
1819 arh_to_landing_pad, arh_to_label, add_action_record,
1820 add_call_site, switch_to_exception_section): Likewise.
1821 * expmed.c (synth_mult): Likewise.
1822 * expr.c (gen_group_rtx, emit_group_load, emit_group_store,
1823 store_expr): Likewise.
1824 * final.c (shorten_branches, final_scan_insn, debug_queue_symbol):
1826 * function.c (assign_stack_temp_for_type,
1827 allocate_struct_function, match_asm_constraints_1): Likewise.
1828 * gcov-io.c (gcov_allocate): Likewise.
1829 * gcse.c (GNEW, GCNEW, GNEWVEC, GCNEWVEC, GRESIZEVEC, GNEWVAR,
1830 GCNEWVAR, GRESIZEVAR, GOBNEW, GOBNEWVAR): New.
1831 (gcse_main, alloc_gcse_mem, alloc_gcse_mem, alloc_reg_set_mem,
1832 record_one_set, insert_expr_in_table, insert_set_in_table,
1833 dump_hash_table, compute_hash_table_work, alloc_hash_table,
1834 pre_ldst_expr_hash, pre_ldst_expr_eq, find_rtx_in_ldst,
1835 reg_set_info, reg_clear_last_set): Fix -Wc++-compat and/or
1836 -Wcast-qual warnings.
1838 2008-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1840 * cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or
1841 -Wcast-qual warnings.
1842 * gcc.c (process_command): Likewise.
1843 * genattrtab.c (oballoc): Use XOBNEW.
1844 (oballocvec): Define.
1845 (attr_hash_add_rtx, attr_hash_add_string, attr_string,
1846 get_attr_value, fill_attr, make_length_attrs, gen_attr, gen_insn,
1847 gen_delay, find_attr, gen_insn_reserv, gen_bypass_1): Fix
1848 -Wc++-compat and/or -Wcast-qual warnings.
1849 * genautomata.c (XCREATENODE, XCREATENODEVEC, XCREATENODEVAR,
1850 XCOPYNODE, XCOPYNODEVEC, XCOPYNODEVAR): New.
1851 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1852 gen_presence_absence_set, gen_automaton, gen_regexp_el,
1853 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
1854 gen_regexp_sequence, gen_reserv, gen_insn_reserv, process_excls,
1855 add_excls, process_presence_absence_names,
1856 process_presence_absence_patterns, add_presence_absence,
1857 process_regexp, add_advance_cycle_insn_decl, get_free_alt_state,
1858 get_free_state, add_arc, get_free_automata_list_el,
1859 form_reserv_sets_list, copy_insn_regexp, transform_1, transform_2,
1860 transform_3, cache_presence, create_ainsns, create_automata,
1861 create_state_ainsn_table, dfa_insn_code_enlarge,
1862 output_trans_func, output_min_issue_delay_func,
1863 output_dead_lock_func, output_reset_func,
1864 output_get_cpu_unit_code_func, output_dfa_start_func,
1865 expand_automata): Likewise.
1866 * genextract.c (gen_insn): Likewise.
1867 * gengtype-lex.l: Likewise.
1868 * gengtype.c (read_input_list, adjust_field_type,
1869 process_gc_options): Likewise.
1870 * genoutput.c (note_constraint): Likewise.
1871 * genpreds.c (mangle, add_constraint): Likewise.
1872 * genrecog.c (process_define_predicate, new_decision,
1873 add_to_sequence): Likewise.
1874 * gensupport.c (record_insn_name): Likewise.
1876 2008-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1878 * config/i386/driver-i386.c (detect_caches_amd,
1879 detect_caches_intel, host_detect_local_cpu): Fix -Wc++-compat
1880 and/or -Wcast-qual warnings.
1881 *ggc-common.c (ggc_mark_roots, gt_pch_note_object,
1882 gt_pch_note_reorder, relocate_ptrs, write_pch_globals,
1883 gt_pch_save): Likewise.
1884 * ggc-page.c (push_depth, push_by_depth, alloc_anon, alloc_page,
1885 gt_ggc_m_S, clear_marks, ggc_pch_read): Likewise.
1886 * global.c (compute_regsets): Likewise.
1887 * graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
1888 finish_graph_dump_file): Likewise.
1889 * haifa-sched.c (schedule_block, extend_h_i_d, extend_ready,
1890 unlink_bb_notes): Likewise.
1891 * integrate.c (get_hard_reg_initial_val): Likewise.
1892 * ipa-prop.c (ipa_push_func_to_list): Likewise.
1893 * ipa-struct-reorg.c (gen_var_name, gen_cluster_name): Likewise.
1894 * local-alloc.c (update_equiv_regs): Likewise.
1895 * loop-invariant.c (check_invariant_table_size,
1896 hash_invariant_expr, eq_invariant_expr, find_or_insert_inv):
1898 * loop-iv.c (check_iv_ref_table_size, analyzed_for_bivness_p,
1899 altered_reg_used, mark_altered): Likewise.
1900 * loop-unroll.c (si_info_eq, ve_info_eq, allocate_basic_variable,
1901 insert_var_expansion_initialization,
1902 combine_var_copies_in_loop_exit, apply_opt_in_copies,
1903 release_var_copies): Likewise.
1904 * matrix-reorg.c (mat_acc_phi_hash, mat_acc_phi_eq, mtt_info_eq,
1905 analyze_matrix_decl, add_allocation_site, analyze_transpose,
1906 analyze_accesses_for_phi_node, check_var_notmodified_p,
1907 check_allocation_function, find_sites_in_func,
1908 record_all_accesses_in_func, transform_access_sites,
1909 transform_allocation_sites): Likewise.
1910 * omp-low.c (new_omp_region, create_omp_child_function_name,
1911 check_omp_nesting_restrictions, check_combined_parallel,
1912 lower_omp_2, diagnose_sb_1, diagnose_sb_2): Likewise.
1913 * optabs.c (no_conflict_move_test, gen_libfunc, gen_fp_libfunc,
1914 gen_intv_fp_libfunc, gen_interclass_conv_libfunc,
1915 gen_intraclass_conv_libfunc, set_optab_libfunc, set_conv_libfunc):
1917 * opts-common.c (prune_options): Likewise.
1918 * opts.c (add_input_filename, print_filtered_help,
1919 get_option_state): Likewise.
1920 * params.c (add_params): Likewise.
1921 * passes.c (set_pass_for_id, next_pass_1,
1922 do_per_function_toporder, pass_fini_dump_file): Likewise.
1923 * postreload.c (reload_cse_simplify_operands): Likewise.
1924 * predict.c (tree_predicted_by_p, tree_predict_edge,
1925 clear_bb_predictions, combine_predictions_for_bb): Likewise.
1927 2008-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1929 * ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual
1931 * recog.c (check_asm_operands, validate_change_1): Likewise.
1932 * reg-stack.c (check_asm_stack_operands, subst_asm_stack_regs,
1933 subst_asm_stack_regs): Likewise.
1934 * regclass.c (regclass, som_hash, som_eq, record_subregs_of_mode,
1935 cannot_change_mode_set_regs, invalid_mode_change_p): Likewise.
1936 * regmove.c (reg_is_remote_constant_p): Likewise.
1937 * regrename.c (regrename_optimize, scan_rtx_reg,
1938 kill_clobbered_value, kill_set_value, kill_autoinc_value):
1940 * regstat.c (regstat_init_n_sets_and_refs, regstat_compute_ri,
1941 regstat_compute_calls_crossed): Likewise.
1942 * reload1.c (init_reload, new_insn_chain,
1943 has_nonexceptional_receiver, reload, copy_reloads,
1944 calculate_needs_all_insns, init_elim_table): Likewise.
1945 * rtl-factoring.c (compute_rtx_cost, fill_hash_bucket): Likewise.
1946 * rtl.c (shallow_copy_rtx_stat): Likewise.
1947 * rtlanal.c (parms_set): Likewise.
1948 * sbitmap.c (sbitmap_alloc, sbitmap_alloc_with_popcount,
1949 sbitmap_resize, sbitmap_vector_alloc): Likewise.
1950 * sched-ebb.c (earliest_block_with_similiar_load,
1951 add_deps_for_risky_insns): Likewise.
1952 * sched-rgn.c (find_rgns, gather_region_statistics, extend_rgns,
1953 schedule_region): Likewise.
1954 * see.c (eq_descriptor_pre_extension,
1955 hash_descriptor_pre_extension, hash_del_pre_extension,
1956 eq_descriptor_properties, hash_descriptor_properties,
1957 hash_del_properties, see_seek_pre_extension_expr,
1958 see_initialize_data_structures, see_print_register_properties,
1959 see_print_pre_extension_expr, see_delete_merged_def_extension,
1960 see_delete_unmerged_def_extension, see_emit_use_extension,
1961 see_pre_delete_extension, see_map_extension, see_commit_changes,
1962 see_analyze_merged_def_local_prop,
1963 see_analyze_merged_def_local_prop,
1964 see_analyze_unmerged_def_local_prop, see_analyze_use_local_prop,
1965 see_set_prop_merged_def, see_set_prop_unmerged_def,
1966 see_set_prop_unmerged_use, see_print_one_extension,
1967 see_merge_one_use_extension, see_merge_one_def_extension,
1968 see_store_reference_and_extension, see_update_uses_relevancy,
1969 see_update_defs_relevancy): Likewise.
1970 * statistics.c (hash_statistics_hash, hash_statistics_eq,
1971 hash_statistics_free, curr_statistics_hash): Likewise.
1972 * stmt.c (parse_output_constraint, decl_overlaps_hard_reg_set_p,
1973 expand_asm_operands, expand_return, case_bit_test_cmp,
1974 expand_case): Likewise.
1975 * stor-layout.c (start_record_layout): Likewise.
1976 * stringpool.c (ggc_alloc_string, gt_pch_n_S,
1977 gt_pch_save_stringpool): Likewise.
1978 * tree-data-ref.c (hash_stmt_vertex_info,
1979 have_similar_memory_accesses_1, ref_base_address_1): Likewise.
1980 * tree-ssa-phiopt.c (name_to_bb_hash): Likewise.
1982 2008-06-25 Uros Bizjak <ubizjak@gmail.com>
1985 * config/i386/i386.md : Change constraints of HImode and QImode
1986 immediate operands from "i" to "n". Change SImode "ni" constraint to
1987 "i" and SImode "rmi" constraint to "g". Remove all constraints
1988 from const0_operand and const1_operand predicated operands.
1989 (i): Change QImode and HImode attribute from "i" to "n".
1990 (*subqi_2): Change HImode operands to QImode.
1993 2008-06-25 Olivier Hainque <hainque@adacore.com>
1995 * Makefile.in (GTFILES_H): Use | instead of ; as separator in
1998 2008-06-25 Richard Guenther <rguenther@suse.de>
2000 * tree-ssa-structalias.c (fieldoff_compare): Make sure to
2001 not overflow the result type.
2003 2008-06-25 Richard Guenther <rguenther@suse.de>
2005 * tree-vn.c (vn_add): Handle TRUTH_*_EXPR.
2006 (vn_lookup): Likewise.
2008 2008-06-25 Richard Guenther <rguenther@suse.de>
2010 PR tree-optimization/35518
2011 * fold-const.c (fold_ternary): Strip trivial BIT_FIELD_REFs.
2012 * tree-sra.c (instantiate_element): Use fold_build3 to build
2014 (try_instantiate_multiple_fields): Likewise.
2016 2008-06-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
2018 * config/rs6000/rs6000.md: Change all string instruction's clobber to
2021 2008-06-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
2023 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Set
2024 use_backchain_to_restore_sp to true
2025 if the offset of the link register save area would go over the 32k - 1
2026 offset limit of the load
2029 2008-06-25 Hans-Peter Nilsson <hp@axis.com>
2031 * doc/invoke.texi (Optimize Options) <fstrict-aliasing>: Add
2032 anchor for the type-punning blurb. Cross-reference "Structures
2033 unions enumerations and bit-fields implementation". Provide a
2034 cast-through-pointer example. Make final sentence self-contained.
2035 * doc/implement-c.texi (Structures unions enumerations and
2036 bit-fields implementation): Cross-reference the type-punning blurb
2037 in the -fstrict-aliasing documentation.
2039 2008-06-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
2042 * builtins.c (expand_builtin_nonlocal_goto): Stabilize the address of
2043 the memory instead of the memory itself for the save area.
2045 2008-06-24 Olivier Hainque <hainque@adacore.com>
2046 Nicolas Roche <roche@adacore.com>
2048 * gengtype.c (srcdir_len): size_t instead of int.
2049 (get_file_realbasename): New function. For F a filename, the real
2050 basename of F, with all the path components stripped.
2051 (get_file_srcdir_relative_path): New function. For F a filename, the
2052 relative path to F from $(srcdir).
2053 (get_file_basename): Rewrite using get_file_srcdir_relative_path and
2054 get_file_realbasename. Adjust the head comment.
2055 (get_prefix_langdir_index): New function. For F a filename, return the
2056 lang_dir_names[] relative index of the language directory that is
2058 (get_file_langdir): For F a filename, return the name of the language
2059 directory where F is located.
2060 (get_file_gtfilename): New function. The gt- output file name for an
2062 (get_output_file_with_visibility): Replace in-line computations with
2063 uses of get_file_gtfilename and get_prefix_langdir_index.
2064 * Makefile.in (GTFILES_H): Adjust to match what gengtype generates.
2066 2008-06-24 Jakub Jelinek <jakub@redhat.com>
2068 PR tree-optimization/36504
2069 * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Skip
2070 references without base address.
2072 2008-06-23 Uros Bizjak <ubizjak@gmail.com>
2075 * calls.c (expand_call): Increase alignment for recursive functions.
2077 2008-06-23 Anatoly Sokolov <aesok@post.ru>
2079 * config/avr/avr.c (avr_function_value): Add new 'outgoing' argument.
2080 (TARGET_FUNCTION_VALUE): New define.
2081 * config/avr/avr-protos.h (avr_function_value): Remove declaration.
2082 * config/avr/avr.h (FUNCTION_VALUE): Remove.
2084 2008-06-23 Uros Bizjak <ubizjak@gmail.com>
2086 * config/i386/i386.md (fmodxf3): Change sequence of move instructions.
2087 (fmod<mode>3): Ditto.
2088 (remainderxf3): Ditto.
2089 (remainder<mode>3): Ditto.
2091 2008-06-23 Jakub Jelinek <jakub@redhat.com>
2094 * emit-rtl.c (set_reg_attrs_from_value): Do nothing if
2095 REG is a hard register.
2097 PR tree-optimization/36508
2098 * tree-ssa-pre.c (compute_antic): Allow num_iterations up to
2099 499, don't check it at all in release compilers.
2101 2008-06-23 Uros Bizjak <ubizjak@gmail.com>
2103 * config/i386/i386.md (*fop_<mode>_1_i387): Use SSE_FLOAT_MODE_P
2104 together with SSE_TARGET_MATH to disable insn pattern.
2105 (*fop_<MODEF:mode>_2_i387): Ditto.
2106 (*fop_<MODEF:mode>_3_i387): Ditto.
2108 2008-06-22 Andy Hutchinson <hutchinsonandy@aim.com>
2110 * config/avr/avr.h (SUPPORTS_INIT_PRIORITY): Define.
2112 2008-06-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2115 * gimplify.c (gimplify_asm_expr): Check the return code of
2116 parse_output_constraint call, set function return and is_inout
2119 2008-06-22 Ian Lance Taylor <iant@google.com>
2121 * c-lex.c (narrowest_unsigned_type): Change itk to int.
2122 (narrowest_signed_type): Likewise.
2123 * c-typeck.c (c_common_type): Change local variable mclass to enum
2125 (parser_build_binary_op): Compare the TREE_CODE_CLASS with
2126 tcc_comparison, not the tree code itself.
2127 * c-common.c (def_fn_type): Pass int, not an enum, to va_arg.
2128 (c_expand_expr): Cast modifier to enum expand_modifier.
2129 * c-common.h (C_RID_CODE): Add casts.
2130 (C_SET_RID_CODE): Define.
2131 * c-parser.c (c_parse_init): Use C_SET_RID_CODE.
2132 (c_lex_one_token): Add cast to avoid warning.
2133 (c_parser_objc_type_name): Rename local typename to type_name.
2134 (check_no_duplicate_clause): Change code parameter to enum
2136 (c_parser_omp_var_list_parens): Change kind parameter to enum
2138 (c_parser_omp_flush): Pass OMP_CLAUSE_ERROR, not 0, to
2139 c_parser_omp_list_var_parens.
2140 (c_parser_omp_threadprivate): Likewise.
2141 * cp/lex.c (init_reswords): Use C_SET_RID_CODE.
2142 * cp/parser.c (cp_lexer_get_preprocessor_token): Likewise.
2143 * c-format.c (NO_FMT): Define.
2144 (printf_length_specs): Use NO_FMT.
2145 (asm_fprintf_length_specs): Likewise.
2146 (gcc_diag_length_specs): Likewise.
2147 (scanf_length_specs): Likewise.
2148 (strfmon_length_specs): Likewise.
2149 (gcc_gfc_length_specs): Likewise.
2150 (printf_flag_specs): Change 0 to STD_C89.
2151 (asm_fprintf_flag_specs): Likewise.
2152 (gcc_diag_flag_specs): Likewise.
2153 (gcc_cxxdiag_flag_specs): Likewise.
2154 (scanf_flag_specs): Likewise.
2155 (strftime_flag_specs): Likewise.
2156 (strfmon_flag_specs): Likewise.
2157 (print_char_table): Likewise.
2158 (asm_fprintf_char_table): Likewise.
2159 (gcc_diag_char_table): Likewise.
2160 (gcc_tdiag_char_table): Likewise.
2161 (gcc_cdiag_char_table): Likewise.
2162 (gcc_cxxdiag_char_table): Likewise.
2163 (gcc_gfc_char_table): Likewise.
2164 (scan_char_table): Likewise.
2165 (time_char_table): Likewis.
2166 (monetary_char_table): Likewise.
2167 * c-format.h (BADLEN): Likewise.
2169 2008-06-21 Ian Lance Taylor <iant@google.com>
2171 * tree.h (enum tree_code): Include all-tree.def, not tree.def.
2172 Define END_OF_BASE_TREE_CODES around inclusion.
2173 * tree.c (tree_code_type): New global array.
2174 (tree_code_length, tree_code_name): Likewise.
2175 * Makefile.in (TREE_H): Add all-tree.def, c-common.def, and
2177 (all-tree.def, s-alltree): New targets.
2178 (gencheck.h, s-gencheck): Remove.
2179 (tree.o): Depend upon all-tree.def.
2180 (build/gencheck.o): Remove gencheck.h dependency.
2181 (mostlyclean): Don't remove gencheck.h.
2182 * c-common.h (enum c_tree_code): Remove.
2183 * c-lang.c (tree_code_type): Remove.
2184 (tree_code_length, tree_code_name): Remove.
2185 * gencheck.c (tree_codes): Include all-tree.def, rather than
2186 tree.def, c-common.def, and gencheck.h. Undefined DEFTREECODE
2188 * tree-browser.c (tb_tree_codes): Include all-tree.def, rather
2190 * cp/cp-tree.h (enum cplus_tree_code): Remove.
2191 (operator_name_info): Size to MAX_TREE_CODES.
2192 (assignment_operator_name_info): Likewise.
2193 * cp/cp-lang.c (tree_code_type): Remove.
2194 (tree_code_length, tree_code_name): Remove.
2195 * cp/lex.c (operator_name_info): Size to MAX_TREE_CODES.
2196 (assignment_operator_name_info): Likewise.
2197 * cp/decl.c (grok_op_properties): Change LAST_CPLUS_TREE_CODE to
2199 * cp/mangle.c (write_expression): Likewise.
2200 * cp/Make-lang.in (CXX_TREE_H): Remove cp/cp-tree.def.
2201 * fortran/f95-lang.c (tree_code_type): Remove.
2202 (tree_code_length, tree_code_name): Remove.
2203 * java/java-tree.h (enum java_tree_code): Remove.
2204 * java/lang.c (tree_code_type): Remove.
2205 (tree_code_length, tree_code_name): Remove.
2206 * java/Make-lang.in (JAVA_TREE_H): Remove java/java-tree.def.
2207 * objc/objc-act.h (enum objc_tree_code): Remove.
2208 * objc/objc-lang.c (tree_code_type): Remove.
2209 (tree_code_length, tree_code_name): Remove.
2210 * objcp/objcp-lang.c (tree_code_type): Remove.
2211 (tree_code_length, tree_code_name): Remove.
2212 * ada/ada-tree.h (enum gnat_tree_code): Remove.
2213 * ada/Make-lang.in (ADA_TREE_H): Remove ada/ada-tre.def.
2214 * ada/misc.c (tree_code_type): Remove.
2215 (tree_code_length, tree_code_name): Remove.
2217 2008-06-21 Bernhard Fischer <aldot@gcc.gnu.org>
2219 * tree-ssa-pre.c (fini_antic): Bitmap_sets have to be freed before
2220 the grand_bitmap_obstack.
2222 2008-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2224 * ggc.h (GGC_RESIZEVAR): New, reorder macros.
2225 * tracer.c (tail_duplicate): Fix for -Wc++-compat.
2226 * tree-affine.c (aff_combination_expand, free_name_expansion): Likewise.
2227 * tree-cfg.c (replace_by_duplicate_decl, replace_ssa_name,
2228 move_stmt_r, new_label_mapper): Likewise.
2229 * tree-complex.c (cvc_lookup): Likewise.
2230 * tree-dfa.c (create_function_ann): Likewise.
2231 * tree-dump.c (dump_register): Likewise.
2232 * tree-if-conv.c (tree_if_conversion, add_to_predicate_list,
2233 find_phi_replacement_condition): Likewise.
2234 * tree-inline.c (copy_phis_for_bb, estimate_num_insns_1,
2235 tree_function_versioning): Likewise.
2236 * tree-into-ssa.c (cmp_dfsnum): Likewise.
2237 * tree-iterator.c (tsi_link_before, tsi_link_after): Likewise.
2238 * tree-nested.c (lookup_field_for_decl, lookup_tramp_for_decl,
2239 get_nonlocal_debug_decl, convert_nonlocal_reference,
2240 convert_nonlocal_omp_clauses, get_local_debug_decl,
2241 convert_local_reference, convert_local_omp_clauses,
2242 convert_nl_goto_reference, convert_nl_goto_receiver,
2243 convert_tramp_reference, convert_call_expr): Likewise.
2244 * tree-outof-ssa.c (contains_tree_r): Likewise.
2245 * tree-parloops.c (reduction_phi, initialize_reductions,
2246 eliminate_local_variables_1, add_field_for_reduction,
2247 add_field_for_name, create_phi_for_local_result,
2248 create_call_for_reduction_1, create_loads_for_reductions,
2249 create_stores_for_reduction, create_loads_and_stores_for_name):
2251 * tree-phinodes.c (allocate_phi_node): Likewise.
2252 * tree-predcom.c (order_drefs, execute_pred_commoning_cbck): Likewise.
2253 * tree-sra.c (sra_elt_hash, sra_elt_eq, lookup_element): Likewise.
2254 * tree-ssa-alias.c (get_mem_sym_stats_for): Likewise.
2255 * tree-ssa-coalesce.c (compare_pairs): Likewise.
2256 * tree-ssa-loop-im.c (mem_ref_in_stmt, memref_hash, memref_eq,
2257 memref_free, gather_mem_refs_stmt, vtoe_hash, vtoe_eq, vtoe_free,
2258 record_vop_access, get_vop_accesses, get_vop_stores): Likewise.
2259 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
2260 * tree-ssa-sccvn.c (VN_INFO_GET, free_phi, free_reference,
2261 vn_nary_op_insert): Likewise.
2262 * tree-ssa.c (redirect_edge_var_map_add,
2263 redirect_edge_var_map_clear, redirect_edge_var_map_dup): Likewise.
2264 * tree-vectorizer.c (vectorize_loops): Likewise.
2265 * tree.c (make_node_stat, copy_node_stat, build_int_cst_wide,
2266 build_fixed, build_real, make_tree_binfo_stat, make_tree_vec_stat,
2267 tree_cons_stat, build1_stat, build_variant_type_copy,
2268 decl_init_priority_lookup, decl_fini_priority_lookup,
2269 decl_priority_info, decl_restrict_base_lookup,
2270 decl_restrict_base_insert, decl_debug_expr_lookup,
2271 decl_debug_expr_insert, decl_value_expr_lookup,
2272 decl_value_expr_insert, type_hash_eq, type_hash_lookup,
2273 type_hash_add, get_file_function_name, tree_check_failed,
2274 tree_not_check_failed, tree_range_check_failed,
2275 omp_clause_range_check_failed, build_omp_clause,
2276 build_vl_exp_stat): Likewise.
2277 * value-prof.c (gimple_histogram_value,
2278 gimple_duplicate_stmt_histograms): Likewise.
2279 * var-tracking.c (attrs_list_insert, attrs_list_copy,
2280 unshare_variable, variable_union_info_cmp_pos, variable_union,
2281 dataflow_set_different_1, dataflow_set_different_2,
2282 vt_find_locations, variable_was_changed, set_variable_part,
2283 emit_notes_for_differences_1, emit_notes_for_differences_2): Likewise.
2284 * varasm.c (prefix_name, emutls_decl, section_entry_eq,
2285 section_entry_hash, object_block_entry_eq,
2286 object_block_entry_hash, create_block_symbol,
2287 initialize_cold_section_name, default_function_rodata_section,
2288 strip_reg_name, set_user_assembler_name, const_desc_eq,
2289 build_constant_desc, output_constant_def, lookup_constant_def,
2290 const_desc_rtx_hash, const_desc_rtx_eq, const_rtx_hash_1,
2291 create_constant_pool, force_const_mem, compute_reloc_for_rtx_1,
2292 default_internal_label): Likewise.
2293 * varray.c (varray_init, varray_grow): Likewise.
2294 * vec.c (vec_gc_o_reserve_1, vec_heap_o_reserve_1): Likewise.
2296 2008-06-20 Uros Bizjak <ubizjak@gmail.com>
2298 * config/i386/i386.md (*jcc_fused_1): Handle all valid compare
2299 operators for "test" insn. Macroize insn using SWI mode macro.
2300 (*jcc_fused_2): Ditto.
2301 (*jcc_fused_3): Macroize insn using SWI mode macro.
2302 (*jcc_fused_4): Ditto.
2304 2008-06-20 Bernhard Fischer <aldot@gcc.gnu.org>
2306 * tree-ssa-pre.c: Fix typo in comment.
2307 (init_antic, fini_antic): Add explicit funtions for
2308 initializing and deinitializing ANTIC and AVAIL sets.
2309 (create_expression_by_pieces): Fix typo in comment.
2310 Remove redundant set of new_stuff and use NULL_TREE instead of NULL.
2311 (execute_pre): Eventually dump details about ANTIC_IN.
2313 2008-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2315 * collect2.c (main, add_to_list): Fix for -Wc++-compat.
2316 * gcc.c (translate_options, init_spec, store_arg, read_specs,
2317 add_to_obstack, file_at_path, find_a_file, execute,
2318 add_preprocessor_option, add_assembler_option, add_linker_option,
2319 process_command, insert_wrapper, do_option_spec, do_self_spec,
2320 spec_path, do_spec_1, is_directory, main, used_arg,
2321 getenv_spec_function): Likewise.
2322 * tlink.c (symbol_hash_lookup, file_hash_lookup,
2323 demangled_hash_lookup, symbol_push, file_push, frob_extension):
2326 2008-06-19 Kenneth Zadeck <zadeck@naturalbridge.com>
2328 * doc/rtl.texi: Updated subreg section.
2330 2008-06-19 Jakub Jelinek <jakub@redhat.com>
2333 * cgraphunit.c (cgraph_process_new_functions): Don't clear
2334 node->needed and node->reachable.
2335 * cgraphbuild.c (record_reference): Handle OMP_PARALLEL and OMP_TASK.
2336 * omp-low.c (delete_omp_context): Call finalize_task_copyfn.
2337 (expand_task_call): Don't call expand_task_copyfn.
2338 (expand_task_copyfn): Renamed to...
2339 (finalize_task_copyfn): ... this.
2341 2008-06-19 Jan Hubicka <jh@suse.cz>
2343 * builtins.c (expand_builtin_nonlocal_goto): Stabilize r_sp before
2344 clobbering framepointer.
2346 2008-06-19 Jan Hubicka <jh@suse.cz>
2348 * tree-optimize.c (execute_early_local_optimizations): Set
2349 cgraph_state only at first invocation.
2351 2008-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2353 * system.h (-Wc++-compat): Activate as a warning, no an error.
2355 2008-06-19 Uros Bizjak <ubizjak@gmail.com>
2357 * config/i386/i386.md (*jcc_fused_1): Use ASM_COMMENT_START
2358 instead of "#" in insn asm template.
2359 (*jcc_fused_2): Ditto.
2361 2008-06-19 Uros Bizjak <ubizjak@gmail.com>
2363 * config/i386/i386.h (ix86_tune_indices)
2364 [X86_TUNE_FUSE_CMP_AND_BRANCH]: New.
2365 (TARGET_FUSE_CMP_AND_BRANCH): New define.
2366 * config/i386/i386.md (*jcc_fused_1): New insn pattern
2367 (*jcc_fused_2): Ditto.
2368 * config/i386/i386.c (ix86_tune_features): Add m_CORE2 to
2369 X86_TUNE_FUSE_CMP_AND_BRANCH targets.
2370 (print operand): Handle 'E' and 'e' code.
2372 2008-06-19 Anatoly Sokolov <aesok@post.ru>
2374 * config/avr/avr.c (avr_mcu_t): Add attiny13a.
2375 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
2376 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
2378 2008-06-19 Bernhard Fischer <aldot@gcc.gnu.org>
2380 * cgraphunit.c (cgraph_finalize_function): Remove redundant setting of
2382 (cgraph_expand_function): Use local copy of decl.
2383 (cgraph_expand_all_functions): Remove redundant initialization of
2385 (cgraph_optimize): Reword internal_error message.
2387 2008-06-19 Chung-Lin Tang <ctang@marvell.com>
2389 * arm-protos.h (arm_return_in_memory): Remove public
2390 arm_return_in_memory() prototype.
2391 * arm.c (arm_return_in_memory): Add static prototype, add target
2392 hook macro, change definition and comments.
2393 * arm.h (TARGET_RETURN_IN_MEMORY): Remove.
2395 2008-06-19 Ben Elliston <bje@au.ibm.com>
2397 * dfp.h, dfp.c, config/dfp-bit.h, config/dfp-bit.c, real.h,
2398 real.c: Remove references to IEEE 754R.
2399 * doc/install.texi (Configuration): IEEE 754R -> IEEE 754-2008.
2400 * doc/libgcc.texi (Decimal float library routines): Likewise.
2402 2008-06-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2404 * targhooks.h (struct gcc_target): New member unwind_word_mode.
2405 (default_unwind_word_mode): Add prototype.
2406 * targhooks.c (default_unwind_word_mode): New function.
2407 (default_eh_return_filter_mode): Return targetm.unwind_word_mode ()
2408 instead of word_mode.
2409 * target-def.h (TARGET_UNWIND_WORD_MODE): New macro.
2410 (TARGET_INITIALIZER): Use it.
2412 * c-common.c (handle_mode_attribute): Support "unwind_word"
2414 * unwind-generic.h (_Unwind_Word, _Unwind_Sword): Use it.
2416 * except.c (init_eh): Use targetm.unwind_word_mode () instead of
2417 word_mode to access SjLj_Function_Context member "data".
2418 (sjlj_emit_dispatch_table): Likewise. Also, perform type
2419 conversion from targetm.eh_return_filter_mode () to
2420 targetm.unwind_word_mode () if they differ.
2422 * builtin-types.def (BT_UNWINDWORD): New primitive type.
2423 (BT_FN_UNWINDWORD_PTR): New function type.
2424 (BT_FN_WORD_PTR): Remove.
2425 * builtins.def (BUILT_IN_EXTEND_POINTER): Use BT_FN_UNWINDWORD_PTR.
2426 * except.c (expand_builtin_extend_pointer): Convert pointer to
2427 targetm.unwind_word_mode () instead of word_mode.
2429 * config/spu/spu-protos.h (spu_eh_return_filter_mode): Remove.
2430 * config/spu/spu.c (spu_eh_return_filter_mode): Remove.
2431 (spu_unwind_word_mode): New function.
2432 (TARGET_EH_RETURN_FILTER_MODE): Do not define.
2433 (TARGET_UNWIND_WORD_MODE): Define.
2434 * config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS): Remove -D__word__=SI.
2436 2008-06-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2438 * config/spu/spu.c (reg_align): Remove.
2439 (regno_aligned_for_load): Also accept ARG_POINTER_REGNUM.
2440 (spu_split_load): Use regno_aligned_for_load instead of reg_align.
2441 (spu_split_store): Likewise.
2443 2008-06-18 Bernhard Fischer <aldot@gcc.gnu.org>
2445 * gcc/tree-vn.c: Fix typo in comment.
2447 2008-06-18 Jan Hubicka <jh@suse.cz>
2449 * cgraphunit.c (cgraph_optimize): Output debug info when doing
2450 toplevel reorder too.
2452 2008-06-18 Jan Hubicka <jh@suse.cz>
2454 * c-opts.c (c_common_post_options): PCH is not compatible with
2456 * opts.c (handle_options): Enable unit-at-a-time at O0 along with
2457 -fno-toplevel-reorder by default now.
2459 2008-06-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2461 PR documentation/30739
2462 * doc/install.texi (Prerequisites): Document dependency on awk.
2464 2008-06-18 Uros Bizjak <ubizjak@gmail.com>
2465 Ian Lance Taylor <iant@google.com>
2467 PR rtl-optimization/35604
2468 * jump.c (redirect_exp_1): Skip the condition of an IF_THEN_ELSE. We
2469 only want to change jump destinations, not eventual label comparisons.
2471 2008-06-16 Jan Hubicka <jh@suse.cz>
2473 * cgraphunit.c (cgraph_expand_pending_functions): Give up at
2475 (cgraph_analyze_function): Likewise.
2477 2008-06-16 Jan Hubicka <jh@suse.cz>
2479 * cgraph.h (cgraph_mark_if_needed): New function.
2480 * cgraphunit.c (cgraph_mark_if_needed): New function.
2481 * c-decl.c (duplicate_decl): Use it.
2483 2008-06-16 Jan Hubicka <jh@suse.cz>
2485 * cgraph.c (cgraph_add_new_function): When in expansion state, do
2488 2008-06-16 Jan Hubicka <jh@suse.cz>
2490 * tree-outof-ssa.c (pass_out_of_ssa): Do not depend on PROP_alias.
2492 2008-06-16 Daniel Jacobowitz <dan@codesourcery.com>
2493 Kazu Hirata <kazu@codesourcery.com>
2494 Maxim Kuvyrkov <maxim@codesourcery.com
2496 * config.gcc (mips64el-st-linux-gnu): Use mips/st.h and mips/t-st.
2497 * config.host: Use driver-native.o and mips/x-native for mips*-linux*.
2498 * config/mips/linux.h (host_detect_local_cpu): Declare, add to
2499 EXTRA_SPEC_FUNCTIONS.
2500 (MARCH_MTUNE_NATIVE_SPECS, BASE_DRIVER_SELF_SPECS): New macros.
2501 (DRIVER_SELF_SPECS): Adjust.
2502 * config/mips/linux64.h (DRIVER_SELF_SPECS): Update.
2503 * config/mips/st.h, config/mips/t-st: New.
2504 * config/mips/driver-native.c, config/mips/x-native: New.
2505 * doc/invoke.texi (MIPS): Document 'native' value for -march and
2508 2008-06-18 Maxim Kuvyrkov <maxim@codesourcery.com>
2510 * config/mips/mips.h (ISA_HAS_CONDMOVE): Slice ISA_HAS_FP_CONDMOVE
2512 (ISA_HAS_FP_CONDMOVE): New macro.
2513 (ISA_HAS_FP_MADD4_MSUB4, ISA_HAS_FP_MADD3_MSUB3): New macros.
2514 (ISA_HAS_NMADD_NMSUB): Rename to ISA_HAS_NMADD4_NMSUB4.
2515 (ISA_HAS_NMADD3_NMSUB3): New macro.
2516 * config/mips/mips.c (mips_rtx_costs): Update.
2517 * config/mips/mips.md (MOVECC): Don't use FP conditional moves when
2518 compiling for ST Loongson 2E/2F.
2519 (madd<mode>): Rename to madd4<mode>. Update.
2520 (madd3<mode>): New pattern.
2521 (msub<mode>): Rename to msub4<mode>. Update.
2522 (msub3<mode>): New pattern.
2523 (nmadd<mode>): Rename to nmadd4<mode>. Update.
2524 (nmadd3<mode>): New pattern.
2525 (nmadd<mode>_fastmath): Rename to nmadd4<mode>_fastmath. Update.
2526 (nmadd3<mode>_fastmath): New pattern.
2527 (nmsub<mode>): Rename to nmsub4<mode>. Update.
2528 (nmsub3<mode>): New pattern.
2529 (nmsub<mode>_fastmath): Rename to nmsub4<mode>_fastmath. Update.
2530 (nmsub3<mode>_fastmath): New pattern.
2531 (mov<SCALARF:mode>_on_<MOVECC:mode>, mov<mode>cc): Update.
2533 2008-06-18 Steven Bosscher <steven@gcc.gnu.org>
2535 * df.h (struct df_ref): Replace 'insn' field with 'insn_info' field.
2536 (DF_REF_INSN_INFO): New.
2537 (DF_REF_INSN, DF_REF_INSN_UID): Rewrite macros using DF_REF_INSN_INFO.
2538 (DF_REF_IS_ARTIFICIAL): Artificial refs are now identified as refs
2539 with a NULL DF_REF_INSN_INFO.
2540 (DF_INSN_INFO_GET, DF_INSN_INFO_SET): Renamed from DF_INSN_GET and
2542 (DF_INSN_INFO_LUID, DF_INSN_INFO_DEFS, DF_INSN_INFO_USES,
2543 DF_INSN_INFO_EQ_USES): New.
2544 (DF_INSN_LUID, DF_INSN_DEFS, DF_INSN_USES, DF_INSN_EQ_USES,
2545 DF_INSN_UID_LUID, DF_INSN_UID_DEFS, DF_INSN_UID_USES,
2546 DF_INSN_UID_EQ_USES): Rewrite using DF_INSN_INFO_* macros.
2547 * df-core.c: Update comment for above changes.
2548 (df_insn_debug_regno): Use DF_INSN_INFO_GET instead of INSN_UID and
2549 DF_INSN_UID_* macros.
2550 (df_ref_debug): Check for NULL DF_REF_INSN_INFO.
2551 * df-scan.c (df_ref_record): Take a df_insn_info instead of an
2552 insn rtx. Update all callers.
2553 (df_def_record_1, df_defs_record, df_uses_record, df_get_call_refs,
2554 df_ref_create_structure, df_insn_refs_collect): Likewise.
2555 (df_ref_equal_p): Compare DF_REF_INSN_INFO pointers for the refs.
2556 * df-problems.c (df_chain_dump): Test for non-NULL DF_REF_INSN_INFO.
2557 (df_live_bb_local_compute): Retrieve DF_INSN_INFO, use DF_INSN_INFO_*
2558 macros to access the insn refs.
2559 (df_chain_top_dump, df_chain_bottom_dump, df_byte_lr_alloc): Likewise.
2560 * fwprop.c (use_killed_between): Use DF_REF_INSN accessor macro.
2561 (all_uses_available): Retrieve DF_INSN_INFO for def_insn, and use it
2562 for accessing the refs.
2563 (try_fwprop_subst): Likewise.
2564 * ddg.c (add_cross_iteration_register_deps): Use DF_REF_INSN macro.
2565 * web.c (union_defs): Retrieve DF_INSN_INFO for def_insn, and use it
2566 for accessing the refs.
2567 * loop-invariant.c (invariant_for_use): Use DF_REF_BB macro.
2568 (check_dependencies): Use DF_INSN_INFO_GET, use DF_INSN_INFO_* macros
2569 to look at the insn refs.
2570 (record_uses): Likewise.
2571 * dce.c (deletable_insn_p): Don't tolerate artificial DEFs in this
2573 (mark_artificial_uses): Don't mark_insn for artificial refs.
2574 (mark_reg_rependencies): Likewise.
2576 * doc/rtl.texi: Remove documentation of ADDRESSOF.
2578 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2580 * configure: Regenerate.
2582 2008-06-17 Eric B. Weddington <eric.weddington@atmel.com>
2584 * config/avr/avr.c (avr_mcu_t): Remove atmega32hvb.
2585 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
2586 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
2588 2008-06-17 Eric B. Weddington <eric.weddington@atmel.com>
2590 * config/avr/avr.c (avr_mcu_t): Add attiny167.
2591 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
2592 * gcc/config/avr/t-avr (MULTILIB_MATCHES): Likewise.
2594 2008-06-17 Eric B. Weddington <eric.weddington@atmel.com>
2596 * config/avr/avr.c (avr_mcu_t): Add atmega32u4.
2597 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
2598 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
2600 2008-06-17 Bernhard Fischer <aldot@gcc.gnu.org>
2602 * tree-ssa-sccvn.c: Fix format of comments.
2604 2008-06-17 Bernhard Fischer <aldot@gcc.gnu.org>
2606 * cgraph.c: Remove unneeded forward declarations of eq_node()
2609 2008-06-17 Steven Bosscher <steven@gcc.gnu.org>
2611 * see.c (see_analyse_one_def): Do not look for REG_LIBCALL and
2613 (see_update_relevancy): Likewise.
2614 * fwprop.c (try_fwprop_subst): Likewise.
2615 * rtlanal.c (noop_move_p): Likewise.
2616 * builtins.c (expand_buitlin_mathfn): Don't try to add REG_EQUAL
2617 notes to non-existing libcall blocks.
2618 * cse.c (cse_insn): Change prototype. Don't update libcall notes.
2620 (cse_extended_basic_block): Don't track libcall and no-conflict notes.
2621 (dead_libcall_p): Remove.
2622 (delete_trivially_dead_insns): Don't use it.
2623 * web.c (union_defs): Remove comment about keeping nops.
2624 * gcse.c (hash_scan_insn): Don't take libcall pointers.
2625 (compute_hash_table_work): Don't track libcall notes.
2626 (do_local_cprop): Don't take libcall pointers. Don't update
2628 (adjust_libcall_notes): Deleted.
2629 (local_cprop_pass): Remove stack for nested libcalls (which shouldn't
2630 ever have existed in the first place).
2631 (replace_store_insn): Don't try to remove libcall notes.
2632 * lower-subreg.c (move_libcall_note, move_retval_note): Deleted.
2633 (resolve_reg_notes): Don't call them.
2634 (resolve_simple_move): Likewise.
2635 (decompose_multiword_subregs): Remove block handling REG_RETVAL notes.
2636 Don't remove REG_RETVAL notes.
2637 * emit-rtl.c (try_split): Don't update libcall notes.
2638 (emit_copy_of_insn_after): Dito.
2639 * cselib.c (cselib_current_insn_in_libcall): Remove.
2640 (cselib_process_insn): Don't set/clear it.
2641 (new_elt_loc_list): Don't record it.
2642 (cselib_init): Don't initialize it.
2643 * cselib.c (struct elt_loc_list): Remove in_libcall field.
2644 * loop-invariant.c (find_invariant_insn): Don't look for libcall
2646 * sched-deps.c (sched_analyze_insn): Don't group libcall blocks.
2647 (sched_analyze): Don't set up deps->libcall_block_tail_insn.
2648 (init_deps): Don't initialize it.
2649 * sched-int.h (struct deps): Rremove libcall_block_tail_insn field.
2650 * combine.c (delete_noop_moves): Don't update libcall notes.
2651 (can_combine_p): Remove now pointless #if 0 block.
2652 (try_combine): Remove another obsolete #if 0 block.
2653 (distribute_notes): Don't distribute libcall notes.
2654 * reg-notes.def (REG_LIBCALL, REG_RETVAL): Remove.
2655 * dce.c (libcall_dead_p): Remove.
2656 (delete_unmarked_insns): Don't handle libcall blocks.
2657 (preserve_libcall_for_dce): Remove.
2658 (prescan_insns_for_dce): Don't special-case libcall block insns.
2659 * reload1 (reload): Don't handle libcall notes.
2660 * doc/rtl.texi (REG_LIBCALL, REG_RETVAL, REG_LIBCALL_ID): Remove
2663 2008-06-16 Eric B. Weddington <eric.weddington@atmel.com>
2665 * config/avr/avr.c (avr_mcu_t): Add atmega32c1.
2666 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
2667 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
2669 2008-06-16 Eric B. Weddington <eric.weddington@atmel.com>
2671 * config/avr/avr.c (avr_mcu_t): Add atmega32m1.
2672 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
2673 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
2675 2008-06-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2677 * Makefile.in (FLAGS_TO_PASS): Add $(datarootdir).
2679 2008-06-16 Ira Rosen <irar@il.ibm.com>
2681 PR tree-optimization/36493
2682 * tree-vect-transform.c (vect_create_data_ref_ptr): Remove TYPE from
2683 the arguments list. Use VECTYPE to create vector pointer.
2684 (vectorizable_store): Fail if accesses through a pointer to vectype
2685 do not alias the original memory reference operands.
2686 Call vect_create_data_ref_ptr without the removed argument.
2687 (vectorizable_load): Likewise.
2688 (vect_setup_realignment): Call vect_create_data_ref_ptr without the
2691 2008-06-015 Andy Hutchinson <hutchinsonandy@aim.com>
2694 * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for
2697 2008-06-15 Maxim Kuvyrkov <maxim@codesourcery.com>
2699 * config/mips/loongson2ef.md: New file.
2700 * config/mips/mips.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
2701 (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
2702 (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
2703 (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): New constants.
2704 (define_attr "cpu"): Rename loongson2e and loongson2f to loongson_2e
2706 (loongson2ef.md): New include.
2707 * config/mips/loongson.md (vec_pack_ssat_<mode>, vec_pack_usat_<mode>)
2708 (add<mode>3, paddd, ssadd<mode>3, usadd<mode>3)
2709 (loongson_and_not_<mode>, loongson_average_<mode>, loongson_eq_<mode>)
2710 (loongson_gt_<mode>, loongson_extract_halfword)
2711 (loongson_insert_halfword_0, loongson_insert_halfword_2)
2712 (loongson_insert_halfword_3, loongson_mult_add, smax<mode>3)
2713 (umax<mode>3, smin<mode>3, umin<mode>3, loongson_move_byte_mask)
2714 (umul<mode>3_highpart, smul<mode>3_highpart, loongson_smul_lowpart)
2715 (loongson_umul_word, loongson_pasubub, reduc_uplus_<mode>)
2716 (loongson_psadbh, loongson_pshufh, loongson_psll<mode>)
2717 (loongson_psra<mode>, loongson_psrl<mode>, sub<mode>3, psubd)
2718 (sssub<mode>3, ussub<mode>3, vec_interleave_high<mode>)
2719 (vec_interleave_low<mode>): Define type attribute.
2720 * config/mips/mips.c (mips_ls2): New static variable.
2721 (mips_issue_rate): Update to handle tuning for Loongson 2E/2F.
2722 (mips_ls2_init_dfa_post_cycle_insn, mips_init_dfa_post_cycle_insn)
2723 (sched_ls2_dfa_post_advance_cycle, mips_dfa_post_advance_cycle):
2724 Implement target scheduling hooks.
2725 (mips_multipass_dfa_lookahead): Update to handle tuning for
2727 (mips_sched_init): Initialize data for Loongson scheduling.
2728 (mips_ls2_variable_issue): New static function.
2729 (mips_variable_issue): Update to handle tuning for Loongson 2E/2F.
2731 (TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN)
2732 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Override target hooks.
2733 * config/mips/mips.h (TUNE_LOONGSON_2EF): New macros.
2734 (ISA_HAS_XFER_DELAY, ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS):
2735 Handle ST Loongson 2E/2F cores.
2736 (CPU_UNITS_QUERY): Define macro to enable querying of DFA units.
2738 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2740 * omp-low.c (extract_omp_for_data): Fix comment typo.
2743 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2745 * doc/sourcebuild.texi (Config Fragments): Remove obsolete
2746 FIXME note about gcc/config.guess.
2747 * doc/options.texi (Option file format): Remove non-ASCII bytes.
2748 * doc/cpp.texi: Expand TABs, drop indentation outside examples.
2749 * doc/cppopts.texi: Likewise.
2750 * doc/extend.texi: Likewise.
2751 * doc/gcc.texi: Likewise.
2752 * doc/gccint.texi: Likewise.
2753 * doc/gcov.texi: Likewise.
2754 * doc/gty.texi: Likewise.
2755 * doc/hostconfig.texi: Likewise.
2756 * doc/install.texi: Likewise.
2757 * doc/invoke.texi: Likewise.
2758 * doc/loop.texi: Likewise.
2759 * doc/makefile.texi: Likewise.
2760 * doc/md.texi: Likewise.
2761 * doc/passes.texi: Likewise.
2762 * doc/tm.texi: Likewise.
2763 * doc/tree-ssa.texi: Likewise.
2764 * doc/trouble.texi: Likewise.
2766 2008-06-15 Mark Shinwell <shinwell@codesourcery.com>
2767 Nathan Sidwell <nathan@codesourcery.com>
2768 Maxim Kuvyrkov <maxim@codesourcery.com>
2769 Richard Sandiford <rdsandiford@googlemail.com>
2771 * config/mips/mips-modes.def: Add V8QI, V4HI and V2SI modes.
2772 * config/mips/mips-protos.h (mips_expand_vector_init): New.
2773 * config/mips/mips-ftypes.def: Add function types for Loongson-2E/2F
2775 * config/mips/mips.c (mips_split_doubleword_move): Handle new modes.
2776 (mips_hard_regno_mode_ok_p): Allow 64-bit vector modes for Loongson.
2777 (mips_vector_mode_supported_p): Add V2SImode, V4HImode and
2779 (LOONGSON_BUILTIN, LOONGSON_BUILTIN_ALIAS): New.
2780 (CODE_FOR_loongson_packsswh, CODE_FOR_loongson_packsshb,
2781 (CODE_FOR_loongson_packushb, CODE_FOR_loongson_paddw,
2782 (CODE_FOR_loongson_paddh, CODE_FOR_loongson_paddb,
2783 (CODE_FOR_loongson_paddsh, CODE_FOR_loongson_paddsb)
2784 (CODE_FOR_loongson_paddush, CODE_FOR_loongson_paddusb)
2785 (CODE_FOR_loongson_pmaxsh, CODE_FOR_loongson_pmaxub)
2786 (CODE_FOR_loongson_pminsh, CODE_FOR_loongson_pminub)
2787 (CODE_FOR_loongson_pmulhuh, CODE_FOR_loongson_pmulhh)
2788 (CODE_FOR_loongson_biadd, CODE_FOR_loongson_psubw)
2789 (CODE_FOR_loongson_psubh, CODE_FOR_loongson_psubb)
2790 (CODE_FOR_loongson_psubsh, CODE_FOR_loongson_psubsb)
2791 (CODE_FOR_loongson_psubush, CODE_FOR_loongson_psubusb)
2792 (CODE_FOR_loongson_punpckhbh, CODE_FOR_loongson_punpckhhw)
2793 (CODE_FOR_loongson_punpckhwd, CODE_FOR_loongson_punpcklbh)
2794 (CODE_FOR_loongson_punpcklhw, CODE_FOR_loongson_punpcklwd): New.
2795 (mips_builtins): Add Loongson builtins.
2796 (mips_loongson_2ef_bdesc): New.
2797 (mips_bdesc_arrays): Add mips_loongson_2ef_bdesc.
2798 (mips_builtin_vector_type): Handle unsigned versions of vector modes.
2799 (MIPS_ATYPE_UQI, MIPS_ATYPE_UDI, MIPS_ATYPE_V2SI, MIPS_ATYPE_UV2SI)
2800 (MIPS_ATYPE_V4HI, MIPS_ATYPE_UV4HI, MIPS_ATYPE_V8QI, MIPS_ATYPE_UV8QI):
2802 (mips_expand_vector_init): New.
2803 * config/mips/mips.h (HAVE_LOONGSON_VECTOR_MODES): New.
2804 (TARGET_CPU_CPP_BUILTINS): Define __mips_loongson_vector_rev
2806 * config/mips/mips.md: Add unspec numbers for Loongson
2807 builtins. Include loongson.md.
2808 (MOVE64): Include Loongson vector modes.
2809 (SPLITF): Include Loongson vector modes.
2810 (HALFMODE): Handle Loongson vector modes.
2811 * config/mips/loongson.md: New.
2812 * config/mips/loongson.h: New.
2813 * config.gcc: Add loongson.h header for mips*-*-* targets.
2814 * doc/extend.texi (MIPS Loongson Built-in Functions): New.
2816 2008-06-14 Joseph Myers <joseph@codesourcery.com>
2818 * config.gcc (arc-*-elf*, avr-*-*, fr30-*-elf, frv-*-elf,
2819 h8300-*-elf*, h8300-*-*, i[34567]86-*-elf*, x86_64-*-elf*,
2820 i[34567]86-*-aout*, i[34567]86-*-coff*, ia64*-*-elf*,
2821 iq2000*-*-elf*, m32r-*-elf*, m32rle-*-elf*, m32r-*-linux*,
2822 m32rle-*-linux*, m68hc11-*-*|m6811-*-*, m68hc12-*-*|m6812-*-*,
2823 m68k-*-coff*, mcore-*-elf, mcore-*-pe*, mipsisa64sr71k-*-elf*,
2824 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*, mips-*-elf* |
2825 mipsel-*-elf*, mips64-*-elf* | mips64el-*-elf*, mips64vr-*-elf* |
2826 mips64vrel-*-elf*, mips64orion-*-elf* | mips64orionel-*-elf*,
2827 mipstx39-*-elf* | mipstx39el-*-elf*, mn10300-*-*, pdp11-*-,
2828 powerpc-*-elf*, powerpcle-*-elf*, sh-*-elf* | sh[12346l]*-*-elf* |
2829 sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | sh-*-linux* |
2830 sh[2346lbe]*-*-linux* | sh-*-netbsdelf* | shl*-*-netbsdelf* |
2831 sh5-*-netbsd* | sh5l*-*-netbsd* | sh64-*-netbsd* |
2832 sh64l*-*-netbsd*, sh-*-*, sparc-*-elf*, sparc64-*-elf*,
2833 v850e1-*-*, v850e-*-*, v850-*-*, xstormy16-*-elf, m32c-*-elf*):
2834 Remove use_fixproto=yes.
2835 (ia64*-*-hpux*): Remove comment about using fixproto.
2836 (m68k-*-uclinuxoldabi*, m68k-*-uclinux*): Remove use_fixproto=no.
2838 2008-06-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2840 * configure.ac: Update gthr-default.h lazily, to avoid unneeded
2842 * configure: Regenerate.
2844 2008-06-13 Eric Botcazou <ebotcazou@adacore.com>
2847 * builtins.c (get_memory_rtx): Test for the presence of DECL_SIZE_UNIT
2848 before evaluating it.
2850 2008-06-13 Jakub Jelinek <jakub@redhat.com>
2853 * c-decl.c (merge_decls): Don't clear DECL_EXTERNAL for
2854 nested inline functions.
2855 (start_decl, start_function): Don't invert DECL_EXTERNAL
2856 for nested inline functions.
2858 2008-06-13 Richard Sandiford <rdsandiford@googlemail.com>
2860 * config/mips/mips.md: Remove TARGET_DEBUG_D_MODE conditions from
2861 splits that must be made for correctness.
2863 2008-06-13 Richard Sandiford <rdsandiford@googlemail.com>
2865 * config/mips/mips.c (BUILTIN_AVAIL_NON_MIPS16): New macro.
2866 (AVAIL_NON_MIPS16): Likewise.
2867 (mips_builtin_description): Replace target_flags with a predicate.
2868 (paired_single, sb1_paired_single, mips3d, dsp, dspr2, dsp_32)
2869 (dspr2_32): New availability predicates.
2870 (MIPS_BUILTIN): New macro.
2871 (DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS)
2872 (CMP_4S_BUILTINS, MOVTF_BUILTINS, CMP_BUILTINS)
2873 (DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): Use it.
2874 Replace the TARGET_FLAGS parameters with AVAIL parameters.
2875 (mips_ps_bdesc, mips_sb1_bdesc, mips_dsp_bdesc)
2876 (mips_dsp_32only_bdesc): Merge into...
2877 (mips_builtins): ...this new array.
2878 (mips_bdesc_map, mips_bdesc_arrays): Delete.
2879 (mips_init_builtins): Update after above changes.
2880 (mips_expand_builtin_1): Merge into...
2881 (mips_expand_builtin): ...here and update after above changes.
2883 2008-06-12 Paul Brook <paul@codesourcery.com>
2885 * longlong.h (__arm__): Define count_leading_zeros.
2886 * config/arm/lib1funcs.asm (xxh, xxl, yyh, yyl): Define.
2887 (clzsi2, clzdi2): New functions.
2888 * config/arm/bpabi-v6m.S (xxh, xxl, yyh, yyl): Remove.
2889 * config/arm/bpabi.S (xxh, xxl, yyh, yyl): Remove.
2890 * config/arm/t-strongarm-elf (LIB1ASMFUNCS): Ditto.
2891 * config/arm/t-vxworks (LIB1ASMFUNCS): Ditto.
2892 * config/arm/t-pe (LIB1ASMFUNCS): Ditto.
2893 * config/arm/t-arm-elf (LIB1ASMFUNCS): Ditto.
2894 * config/arm/t-arm-coff (LIB1ASMFUNCS): Ditto.
2895 * config/arm/t-linux (LIB1ASMFUNCS): Ditto.
2896 * config/arm/t-symbian (LIB1ASMFUNCS): Ditto.
2897 * config/arm/t-wince-pe (LIB1ASMFUNCS): Ditto.
2899 2008-06-12 Kazu Hirata <kazu@codesourcery.com>
2901 * config/m68k/m68k.c (m68k_tune_flags): New.
2902 (override_options): Compute m68k_tune_flags.
2903 (MULL_COST, MULW_COST): Update for various variants of CFV2.
2904 * config/m68k/m68k.h (TUNE_MAC, TUNE_EMAC): New.
2906 2008-06-12 Jakub Jelinek <jakub@redhat.com>
2909 * omp-low.c (expand_omp_sections): Initialize l2 to avoid bogus warning.
2911 2008-06-12 Eric Botcazou <ebotcazou@adacore.com>
2913 * tree-inline.c (copy_body_r): Copy TREE_SIDE_EFFECTS along with
2914 TREE_THIS_VOLATILE on INDIRECT_REF nodes.
2916 2008-06-12 Eric Botcazou <ebotcazou@adacore.com>
2918 * expr.c (store_field): Do a block copy from BLKmode to BLKmode-like.
2919 (get_inner_reference): Use BLKmode for byte-aligned BLKmode bitfields.
2921 2008-06-12 Jakub Jelinek <jakub@redhat.com>
2924 * omp-low.c (expand_omp_sections): Handle #pragma omp sections with
2927 2008-06-12 Richard Guenther <rguenther@suse.de>
2929 PR tree-optimization/36345
2930 * tree-flow.h (struct ptr_info_def): Align escape_mask,
2931 add memory_tag_needed flag.
2932 (may_alias_p): Declare.
2933 * tree-ssa-alias.c (may_alias_p): Export.
2934 (set_initial_properties): Use memory_tag_needed flag.
2935 (update_reference_counts): Likewise.
2936 (reset_alias_info): Reset memory_tag_needed flag.
2937 (create_name_tags): Check memory_tag_needed flag.
2938 (dump_points_to_info_for): Dump it.
2939 * tree-ssa-structalias.c (struct variable_info): Remove
2940 directly_dereferenced flag.
2941 (new_var_info): Do not initialize it.
2942 (process_constraint_1): Do not set it.
2943 (update_alias_info): Set is_dereferenced flag.
2944 (set_uids_in_ptset): Use may_alias_p.
2945 (set_used_smts): Check memory_tag_needed flag.
2946 (find_what_p_points_to): Likewise. Pass is_dereferenced flag.
2947 * tree-ssa-alias.c (verify_flow_sensitive_alias_info): Check
2948 memory_tag_needed flag.
2949 * tree-ssa-alias-warnings.c (dsa_named_for): Try to recover
2952 2008-06-12 Kai Tietz <kai.tietz@onevision.com>
2954 * config/i386/i386.c (ix86_compute_frame_layout): Disable
2955 red zone for w64 abi.
2956 (ix86_expand_prologue): Likewise.
2957 (ix86_force_to_memory): Likewise.
2958 (ix86_free_from_memory): Likewise.
2960 2008-06-11 Edmar Wienskoski <edmar@freescale.com>
2963 * config/rs6000/rs6000.c (rs6000_override_options): Set
2964 rs6000_isel conditionally to the absence of comand line override.
2965 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
2966 Remove duplicate rs6000_isel setting.
2967 * config/rs6000/eabispe.h: Ditto.
2969 2008-06-11 Richard Guenther <rguenther@suse.de>
2971 * alias.c (get_alias_set): Use the element alias-set for arrays.
2972 (record_component_aliases): For arrays and vectors do nothing.
2973 * c-common.c (strict_aliasing_warning): Handle the cases
2974 of alias set zero explicitly.
2975 * Makefile.in (dfp.o-warn): Add -Wno-error.
2977 2008-06-11 Joseph Myers <joseph@codesourcery.com>
2979 * config.gcc (all_defaults): Add arch_32 arch_64 cpu_32 cpu_64
2981 (i[34567]86-*-* | x86_64-*-*): Add arch_32 arch_64 cpu_32 cpu_64
2982 tune_32 tune_64 to supported_defaults. Allow values not
2983 supporting 64-bit mode for arch_32, cpu_32 and tune_32 for
2984 x86_64. Do not override cpu_32 or cpu_64 values from target name.
2985 (i[34567]86-*-linux*, i[34567]86-*-solaris2.1[0-9]*): Only default
2986 with_cpu_64 to generic for 64-bit-supporting configurations, not
2987 with_cpu. Remove FIXMEs.
2988 * doc/install.texi (--with-cpu-32, --with-cpu-64, --with-arch-32,
2989 --with-arch-64, --with-tune-32, --with-tune-64): Document.
2990 * config/i386/i386.h (OPT_ARCH32, OPT_ARCH64): Define.
2991 (OPTION_DEFAULT_SPECS): Add tune_32, tune_64, cpu_32, cpu_64,
2992 arch_32 and arch_64.
2994 2008-06-11 Eric Botcazou <ebotcazou@adacore.com>
2995 Olivier Hainque <hainque@adacore.com>
2997 * builtins.c (get_memory_rtx): Accept byte-addressable bitfields.
2998 Use DECL_SIZE_UNIT to retrieve the size of the field.
3000 2008-06-11 Joseph Myers <joseph@codesourcery.com>
3002 * config/arm/arm.c (arm_init_neon_builtins): Move initialization
3003 with function calls after declarations. Lay out
3004 neon_float_type_node before further use.
3006 2008-06-11 Richard Guenther <rguenther@suse.de>
3008 * tree-flow.h (may_point_to_global_var): Declare.
3009 * tree-ssa-alias.c (may_point_to_global_var): New function.
3010 * tree-ssa-sink.c (is_hidden_global_store): Use it.
3012 2008-06-10 Kazu Hirata <kazu@codesourcery.com>
3014 * configure.ac: Teach that fido supports .debug_line.
3015 * configure: Regenerate.
3017 2008-06-10 Tom Tromey <tromey@redhat.com>
3019 * c-lex.c (fe_file_change): Pass SOURCE_LINE to start_source_file
3022 2008-06-10 Joseph Myers <joseph@codesourcery.com>
3024 * dfp.c (WORDS_BIGENDIAN): Define to 0 if not defined.
3025 (encode_decimal64, decode_decimal64, encode_decimal128,
3026 decode_decimal128): Reverse order of 32-bit parts of value if host
3027 and target endianness differ.
3029 2008-06-10 Vinodha Ramasamy <vinodha@google.com>
3031 * value_prob.c (tree_divmod_fixed_value_transform): Use gcov_type.
3032 Avoid division by 0.
3033 (tree_mod_pow2_value_transform): Likewise.
3034 (tree_ic_transform): Likewise.
3035 (tree_stringops_transform): Likewise.
3036 (tree_mod_subtract_transform): Likewise.
3037 * tree-inline-c (copy_bb): Corrected int type to gcov_type.
3038 (copy_edges_for_bb): Likewise.
3039 (initialize_cfun): Likewise.
3041 2008-06-10 Uros Bizjak <ubizjak@gmail.com>
3043 * config/i386/i386.md (*btdi_rex64): Change operand 1 predicate to
3044 nonmemory_operand. Add "N" operand constraint.
3046 (*jcc_btdi_mask_rex64): New instruction and split pattern.
3047 (*jcc_btsi_mask): Ditto.
3048 (*jcc_btsi_mask_1): Ditto.
3050 2008-06-10 Joseph Myers <joseph@codesourcery.com>
3052 * config/rs6000/rs6000.c (build_opaque_vector_type): Set
3053 TYPE_CANONICAL for copied element type.
3055 2008-06-10 Uros Bizjak <ubizjak@gmail.com>
3058 * config/i386/i386.c (ix86_tune_features) [TUNE_USE_BT]:
3059 Add m_CORE2 and m_GENERIC.
3060 * config/i386/predicates.md (bt_comparison_operator): New predicate.
3061 * config/i386/i386.md (*btdi_rex64): New instruction pattern.
3063 (*jcc_btdi_rex64): New instruction and split pattern.
3065 (*jcc_btsi_1): Ditto.
3066 (*btsq): Fix Intel asm dialect operand order.
3070 2008-06-09 Andy Hutchinson <hutchinsonandy@aim.com>
3073 * simplify-rtx.c (simplify_subreg): Add check for shift count
3076 2008-06-09 Richard Sandiford <rdsandiford@googlemail.com>
3078 * doc/md.texi: Synchronize with later constraints.md change.
3079 * longlong.h (umul_ppmm): Replace the MIPS asm implementation
3080 with a C implementation.
3081 * config/mips/mips.c (mips_legitimize_move): Remove MFHI and
3083 (mips_subword): Assume TImode for CONST_INTs if TARGET_64BIT.
3084 (mips_split_doubleword_move): Use special MTHI and MFHI instructions
3085 when moving to and from MD_REGNUM.
3086 (mips_output_move): Don't handle moves from GPRs to HI_REGNUM.
3087 Handle moves from LO_REGNUM to GPRs using MFLO, MACC or DMACC.
3088 Handle byte and halfword moves.
3089 (mips_hard_regno_mode_ok_p): Handle MD_REGS and DSP_ACC_REGS
3091 * config/mips/constraints.md (h): Turn into NO_REGS.
3092 (l, x): Update documentation.
3093 * config/mips/mips.md (UNSPEC_MFHILO): Delete.
3094 (UNSPEC_MFHI, UNSPEC_MTHI, UNSPEC_SET_HILO): New.
3095 (UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): Renumber.
3096 (HILO): New mode iterator.
3098 (any_div): New code iterator.
3099 (u): Extend code attribute to div and udiv.
3100 (*add<mode>3_mips16, *movdi_64bit_mips16, *movsi_mips16): Use
3101 d_operand in the splitters. Remove redundant CONST_INT checks.
3102 (mulsi3_mult3, mul<mode>3_internal, mul<mode>3_r4000, *mul_acc_si)
3103 (*macc, *msac, *msac_using_macc, *macc2, *msac2, *mul_sub_si)
3104 (*muls): Remove "=h" clobbers. Adjust peephole2s and define_splits
3105 accordingly, using normal moves instead of unspecs to move LO into
3106 a GPR. Use d_operand and lo_operand instead of *_REG_P checks.
3107 (<u>mulsidi3): Handle expansion in C code.
3108 (<u>mulsidi3_32bit_internal): Rename to...
3109 (<u>mulsidi3_32bit): ...this.
3110 (<u>mulsidi3_32bit_r4000): Fix insn separator.
3111 (*<u>mulsidi3_64bit): Rename to...
3112 (<u>mulsidi3_64bit): ...this. Combine DImode "=h" and "=l" clobbers
3113 into a TImode "=x" clobber. In the split, use an UNSPEC_SET_HILO
3114 to set LO and HI to the multiplication result. Use a normal move
3115 for MFLO and an unspec for MFHI.
3116 (*<u>mulsidi3_64bit_parts): Replace with...
3117 (<u>mulsidi3_64bit_hilo): ...this new instruction.
3118 (<su>mulsi3_highpart): Extend to TARGET_FIX_R4000.
3119 (<su>mulsi3_highpart_internal): Turn into a define_insn_and_split
3120 and extend it to TARGET_FIX_R4000. Store the destination in a GPR
3121 instead of HI. Split the instruction into a separate multiplication
3122 and MFHI if !TARGET_FIX_R4000.
3123 (<su>muldi3_highpart): Likewise.
3124 (<su>mulsi3_highpart_mulhi_internal): Remove the first alternative
3125 and the "=h" clobber.
3126 (*<su>mulsi3_highpart_neg_mulhi_internal): Likewise.
3127 (<u>mulditi3): New expander.
3128 (<u>mulditi3_internal, <u>mulditi3_r4000): New patterns.
3129 (madsi): Remove "=h" clobber.
3130 (divmod<mode>4, udivmod<mode>4): Turn into define_insn_and_splits.
3131 Force the modulus result to be a GPR and split the instruction into
3132 a division followed by an MFHI after reload.
3133 (<u>divmod<GPR:mode>4_hilo_<HILO:mode>): New instruction.
3134 (*lea_high64): Use d_operand in the define_peephole2. Likewise
3135 the MIPS16 HIGH define_split.
3136 (*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16): Change type
3137 of acc<->gpr moves to "multi".
3138 (*movdi_64bit): Replace the single "x" alternative with
3139 alternatives for moving into and out of "a".
3140 (*movhi_internal, *movqi_internal): Likewise. Use mips_output_move.
3141 (*movsi_internal): Extend the "d<-A" alternative to "d<-a".
3142 (*movdi_64bit_mips16, *movsi_mips16): Add d<-a alternatives.
3143 Use d_operand in the splitters. Remove redundant CONST_INT checks.
3144 (*movhi_mips16, *movqi_mips16): Likewise. Use mips_output_move.
3145 (movti): New expander.
3146 (*movti, *movti_mips16): New insns.
3147 (mfhilo_<mode>, *mfhilo_<mode>, *mfhilo_<mode>_macc): Delete.
3148 (mfhi<GPR:mode>_<HILO:mode>): New pattern.
3149 (mthi<GPR:mode>_<HILO:mode>): Likewise.
3150 * config/mips/predicates.md (fpr_operand): Delete.
3151 (d_operand): New predicate.
3153 2008-06-09 Michael Meissner <michael.meissner@amd.com>
3155 * config.gcc (i[34567]86-*-*): Put test in quotes to prevent
3156 failure on some Bourne shells.
3157 (x86_64-*-*): Ditto.
3159 2008-06-09 Kai Tietz <kai.tietz@onevision.com>
3161 * config/i386/cygming.h (TARGET_SUBTARGET64_DEFAULT): New.
3163 2008-06-09 Eric Botcazou <ebotcazou@libertysurf.fr>
3165 * doc/install.texi (*-*-solaris2*): Remove obsolete contents.
3166 (sparc-sun-solaris2*): Likewise.
3168 2008-06-09 Arnaud Charlet <charlet@adacore.com
3170 * doc/install.texi: Update requirements to build the Ada compiler.
3172 2008-06-08 Steven Bosscher <stevenb.gcc@gmail.com>
3174 * df-scan.c (struct df_scan_problem_data): Remove the
3175 mw_link_pool alloc pool.
3176 (df_scan_free_internal): Don't free it.
3177 (df_scan_alloc): Don't allocate it.
3178 * df.h (struct df_link): Update comment.
3180 2008-06-08 Nathan Sidwell <nathan@codesourcery.com>
3182 * except.h: Correct checks for when SJLJ exceptions must be used.
3184 2008-06-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3186 * doc/invoke.texi (Wenum-compare): Mention that it is enabled by
3189 2008-06-08 Joseph Myers <joseph@codesourcery.com>
3191 PR tree-optimization/36218
3192 * configure.ac: Use LDFLAGS="${LDFLAGS_FOR_BUILD}" when running
3193 configure for the build system.
3194 (BUILD_LDFLAGS): Define.
3195 * configure: Regenerate.
3196 * Makefile.in (BUILD_LDFLAGS): Define to @BUILD_LDFLAGS@.
3198 2008-07-08 Anatoly Sokolov <aesok@post.ru>
3201 * config/avr/avr.h (HARD_REGNO_RENAME_OK): Define.
3202 * config/avr/avr.c (avr_hard_regno_rename_ok): New function.
3203 * config/avr/avr-protos.h (avr_hard_regno_rename_ok): New prototype.
3205 2008-06-07 Danny Smith <dannysmith@users.sourceforge.net>
3207 * config/i386/cygming.h (MAYBE_UWIN_CPP_BUILTINS): Remove.
3209 2008-06-07 Joseph Myers <joseph@codesourcery.com>
3211 * config.gcc (Obsolete configurations): Remove list of
3213 (Unsupported targets list): Add *-*-linux*aout*, *-*-linux*libc1*,
3214 *-*-solaris2.[0-6], *-*-solaris2.[0-6].*, *-*-sysv*. Remove other
3215 targets matched by those patterns.
3216 (strongarm*-*-*, ep9312*-*-*, xscale-*-*, parisc*-*-*,
3217 m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*,
3218 alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf,
3219 arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*,
3220 hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
3221 i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
3222 i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*,
3223 i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*,
3224 i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*,
3225 mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*,
3226 powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*,
3227 powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*,
3228 strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*,
3229 vax-*-ultrix*, xscale-*-elf, xscale-*-coff,
3230 i[34567]86-*-linux*aout*, i[34567]86-*-linux*libc1): Remove.
3231 Make code for Solaris 7 and greater unconditional for Solaris.
3232 (ep9312-*-*, parisc1*, m680[012]0-*-*, parisc*-*-*, mt-*-*):
3233 Remove --with-* handling.
3234 * config/rs6000/sysv4.h (-mwindiss): Remove from all specs.
3235 (LIB_WINDISS_SPEC, CPP_OS_WINDISS_SPEC, STARTFILE_WINDISS_SPEC,
3236 ENDFILE_WINDISS_SPEC, LINK_START_WINDISS_SPEC,
3237 LINK_OS_WINDISS_SPEC): Remove.
3238 * config/rs6000/sysv4.opt (mwindiss): Remove.
3239 * configure.ac (strongarm*-*-*, xscale*-*-*): Remove.
3240 * configure: Regenerate.
3241 * doc/cpp.texi: Don't mention BeOS.
3242 * doc/extend.texi (interrupt): Don't mention MS1.
3243 * doc/install.texi: (i386-@var{any}-sysv, m68k-bull-sysv,
3244 m68k-hp-hpux, m68000-hp-hpux, m68000-att-sysv,
3245 alphaev5-cray-unicosmk*, xscale-*-*, i?86-*-linux*aout,
3246 i?86-*-sco3.2v5*, i?86-*-udk, m68k-hp-hpux, powerpc-*-sysv4,
3247 powerpc-*-sysv4, powerpcle-*-sysv4, *-*-sysv*, vax-dec-ultrix):
3249 * doc/invoke.texi (MT Options): Remove.
3250 (-mwindiss): Remove.
3251 (CRIS Options): Remove cris-axis-aout references.
3252 (HPPA Options): Don't mention hppa1.1-*-pro.
3253 * doc/md.texi: (MorphoTech family): Remove.
3254 * libgcc2.c: Don't handle UWIN.
3255 * config/alpha/t-unicosmk: Remove.
3256 * config/alpha/unicosmk.h: Remove.
3257 * config/arm/kaos-arm.h: Remove.
3258 * config/arm/kaos-strongarm.h: Remove.
3259 * config/arm/strongarm-coff.h: Remove.
3260 * config/arm/strongarm-elf.h: Remove.
3261 * config/arm/strongarm-pe.h: Remove.
3262 * config/arm/t-strongarm-pe: Remove.
3263 * config/arm/t-xscale-coff: Remove.
3264 * config/arm/t-xscale-elf: Remove.
3265 * config/arm/xscale-coff.h: Remove.
3266 * config/arm/xscale-elf.h: Remove.
3267 * config/chorus.h: Remove.
3268 * config/cris/aout.h: Remove.
3269 * config/cris/aout.opt: Remove.
3270 * config/cris/t-aout: Remove.
3271 * config/i386/beos-elf.h: Remove.
3272 * config/i386/kaos-i386.h: Remove.
3273 * config/i386/ptx4-i.h: Remove.
3274 * config/i386/sco5.h: Remove.
3275 * config/i386/sco5.opt: Remove.
3276 * config/i386/sysv4-cpp.h: Remove.
3277 * config/i386/sysv5.h: Remove.
3278 * config/i386/t-beos: Remove.
3279 * config/i386/t-sco5: Remove.
3280 * config/i386/t-uwin: Remove.
3281 * config/i386/uwin.asm: Remove.
3282 * config/i386/uwin.h: Remove.
3283 * config/kaos.h: Remove.
3284 * config/mips/windiss.h: Remove.
3285 * config/mt: Remove directory.
3286 * config/pa/pa-osf.h: Remove.
3287 * config/pa/pa-pro-end.h: Remove.
3288 * config/pa/t-pro: Remove.
3289 * config/ptx4.h: Remove.
3290 * config/rs6000/beos.h: Remove.
3291 * config/rs6000/kaos-ppc.h: Remove.
3292 * config/rs6000/t-beos: Remove.
3293 * config/rs6000/windiss.h: Remove.
3294 * config/sh/kaos-sh.h: Remove.
3295 * config/sol2-6.h: Remove.
3296 * config/sparc/sol26-sld.h: Remove.
3297 * config/sparc/sysv4-only.h: Remove.
3298 * config/vax/bsd.h: Remove.
3299 * config/vax/t-memfuncs: Remove.
3300 * config/vax/ultrix.h: Remove.
3301 * config/vax/vaxv.h: Remove.
3302 * config/windiss.h: Remove.
3304 2008-06-06 Uros Bizjak <ubizjak@gmail.com>
3306 PR rtl-optimization/36438
3307 * cse.c (fold_rtx) [ASHIFT, LSHIFTRT, ASHIFTRT]: Break out early
3308 for vector shifts with constant scalar shift operands.
3310 2008-06-06 Sandip Matte <sandip@rmicorp.com>
3312 * doc/invoke.texi: Document -march=xlr.
3313 * config/mips/xlr.md: New file.
3314 * config/mips/mips.md: Include it.
3316 * config/mips/mips.h (PROCESSOR_XLR): New processor_type.
3317 * config/mips/mips.c (mips_cpu_info_table): Add an XLR entry.
3318 (mips_rtx_cost_data): Likewise.
3320 2008-06-06 Nathan Froyd <froydnj@codesourcery.com>
3322 * config/rs6000/rs6000.c (rs6000_mode_dependent_address): Remove
3323 PRE_INC and PRE_DEC cases.
3325 2008-06-06 Jakub Jelinek <jakub@redhat.com>
3327 PR rtl-optimization/36419
3328 * except.c (expand_resx_expr): Call do_pending_stack_adjust () before
3329 the emitting jump insn.
3332 * gimplify.c (gimplify_expr) <case TRUTH_NOT_EXPR>: If *expr_p type
3333 is not bool, boolify the whole *expr_p and convert to the desired type.
3335 2008-06-06 Jakub Jelinek <jakub@redhat.com>
3337 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805.
3338 * langhooks.h (struct lang_hooks_for_decls): Add omp_finish_clause.
3339 Add omp_private_outer_ref hook, add another argument to
3340 omp_clause_default_ctor hook.
3341 * langhooks-def.h (LANG_HOOKS_OMP_FINISH_CLAUSE): Define.
3342 (LANG_HOOKS_OMP_PRIVATE_OUTER_REF): Define.
3343 (LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR): Change to
3344 hook_tree_tree_tree_tree_null.
3345 (LANG_HOOKS_DECLS): Add LANG_HOOKS_OMP_FINISH_CLAUSE and
3346 LANG_HOOKS_OMP_PRIVATE_OUTER_REF.
3347 * hooks.c (hook_tree_tree_tree_tree_null): New function.
3348 * hooks.h (hook_tree_tree_tree_tree_null): New prototype.
3349 * tree.def (OMP_TASK): New tree code.
3350 * tree.h (OMP_TASK_COPYFN, OMP_TASK_ARG_SIZE, OMP_TASK_ARG_ALIGN,
3351 OMP_CLAUSE_PRIVATE_OUTER_REF, OMP_CLAUSE_LASTPRIVATE_STMT,
3352 OMP_CLAUSE_COLLAPSE_ITERVAR, OMP_CLAUSE_COLLAPSE_COUNT,
3353 OMP_TASKREG_CHECK, OMP_TASKREG_BODY, OMP_TASKREG_CLAUSES,
3354 OMP_TASKREG_FN, OMP_TASKREG_DATA_ARG, OMP_TASK_BODY,
3355 OMP_TASK_CLAUSES, OMP_TASK_FN, OMP_TASK_DATA_ARG,
3356 OMP_CLAUSE_COLLAPSE_EXPR): Define.
3357 (enum omp_clause_default_kind): Add OMP_CLAUSE_DEFAULT_FIRSTPRIVATE.
3358 (OMP_DIRECTIVE_P): Add OMP_TASK.
3359 (OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED): New clause codes.
3360 (OMP_CLAUSE_SCHEDULE_AUTO): New schedule kind.
3361 * tree.c (omp_clause_code_name): Add OMP_CLAUSE_COLLAPSE
3362 and OMP_CLAUSE_UNTIED entries.
3363 (omp_clause_num_ops): Likewise. Increase OMP_CLAUSE_LASTPRIVATE
3365 (walk_tree_1): Handle OMP_CLAUSE_COLLAPSE and OMP_CLAUSE_UNTIED.
3366 Walk OMP_CLAUSE_LASTPRIVATE_STMT.
3367 * tree-pretty-print.c (dump_omp_clause): Handle
3368 OMP_CLAUSE_SCHEDULE_AUTO, OMP_CLAUSE_UNTIED, OMP_CLAUSE_COLLAPSE,
3369 OMP_CLAUSE_DEFAULT_FIRSTPRIVATE.
3370 (dump_generic_node): Handle OMP_TASK and collapsed OMP_FOR loops.
3371 * c-omp.c (c_finish_omp_for): Allow pointer iterators. Remove
3372 warning about unsigned iterators. Change decl/init/cond/incr
3373 arguments to TREE_VECs, check arguments for all collapsed loops.
3374 (c_finish_omp_taskwait): New function.
3375 (c_split_parallel_clauses): Put OMP_CLAUSE_COLLAPSE clause to
3377 * c-parser.c (c_parser_omp_for_loop): Parse collapsed loops. Call
3378 default_function_array_conversion on init. Add par_clauses argument.
3379 If decl is present in parallel's