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