diff options
Diffstat (limited to 'gcc/ChangeLog.apple-ppc')
-rw-r--r-- | gcc/ChangeLog.apple-ppc | 3939 |
1 files changed, 3939 insertions, 0 deletions
diff --git a/gcc/ChangeLog.apple-ppc b/gcc/ChangeLog.apple-ppc new file mode 100644 index 00000000000..968dbe1da02 --- /dev/null +++ b/gcc/ChangeLog.apple-ppc @@ -0,0 +1,3939 @@ +2005-04-12 Geoffrey Keating <geoffk@apple.com> + + Radar 4087079 + * rtlanal.c (subreg_regno_offset): Compute offset into float + subregs on x86 properly. + (subreg_offset_representable_p): Likewise. + +2005-04-08 Ziemowit Laski <zlaski@apple.com> + + Radar 4055183 + * c-common.h (objc_rewrite_function_call): New prototype. + * c-typeck.c (build_function_call): + Call objc_rewrite_function_call() to handle casts. + * stub-objc.c (objc_rewrite_function_call): New stub. + +2005-04-08 Devang Patel <dpatel@apple.com> + + Radar 4044861 + * config/darwin-drver.c (save_temps_seen): New. + (main): Reject -save-temps with multiple -arch options. + +2005-04-07 Fariborz Jahanian <fjahanian@apple.com> + + Radar 4063657 (part 2). + * c-common.c (cw_process_arg): Remove from 'uses' list any + register which ends up on an output or input list. + (cw_asm_stmt): New 'uses' argument is passed to cw_process_arg. + 'uses' list is added to 'clobber' list. + (print_cw_asm_operand): When building 'uses' list do not + duplicate a hard register on this list. + +2005-04-07 Devang Patel <dpatel@apple.com> + + Radar 4069922 + * tree-sra.c (decide_block_copy): Disable scalarization of sub-elements. + +2005-04-05 Fariborz Jahanian <fjahanian@apple.com> + + Radar 4063657 (part 1). + * c-common.c (print_cw_asm_operand): Added a new argument to + track use of hard registers. Return any use of hard register + to caller in a tree-list form. + (cw_asm_stmt): Add tree-list of hard register register uses to + ASM_EXPR statement tree. + (cw_asm_label): Add the extra argument when building ASM_EXPR. + (cw_asm_entry): Ditto. + * c-typeck.c (build_asm_expr): Ditto. + * cp/semantics.c (finish_asm_stmt): Ditto. + * recog.c (asm_noperands): Bypass USE seen in asm_operand. + (decode_asm_operands): Ditto. + * stmt.c (expand_asm_operands): Insert list of use of hard + registers in the asm_operand rtl following the clobber list. + (expand_asm_expr): Pass hard register usage tree-list to + expand_asm_operands. + * tree.def (ASM_EXPR): Tree now takes an extra argument. + * tree.h (ASM_USES): New macro defined. + +2005-04-02 Ziemowit Laski <zlaski@apple.com> + + Radar 4072153 + * tree.c (build2_stat): Never mark tcc_expression-class nodes + as constant, unless AltiVec PIM support has been selected + and we have a compound expression with constant elements. + +2005-04-01 Jon Ziegler <jonz@apple.com> + + Radar 4075524 + * ginclude/tgmath.h (scalbn) Change to use __TGMATH_REAL_1_2 macro. + (scalbln) Likewise. + +2005-03-31 Dale Johannesen <dalej@apple.com> + + * print-tree.c (print_node): Handle STATEMENT_LIST (mainline). + +2005-03-29 Dale Johannesen <dalej@apple.com> + + Radar 3955567 + * stor-layout.c (place_field): Reverse bitfields if pragma was set. + * target-def.h (TARGET_REVERSE_BITFIELDS_P): New, defaults to false. + * target.h (struct gcc_target): Add reverse_bitfields_p. + * config/darwin-c.c (darwin_pragma_reverse_bitfields): New. + * config/darwin-protos.h: Declare it. + * config/darwin.c (darwin_reverse_bitfields): Define, initialize to 0. + * config/darwin.h: Declare it. + (DARWIN_REGISTER_TARGET_PRAGMAS): Add reverse_bitfields. + * config/rs6000/rs6000.c (rs6000_reverse_bitfields_p): New. + (TARGET_REVERSE_BITFIELDS_P): Use it. + (rs6000_override_options): Set darwin_reverse_bitfields to 0. + +2005-03-24 Dale Johannesen <dalej@apple.com> + + Radar 3982365 + * cp/tree.c (cp_tree_equal): Fix from mainline. + +2005-03-22 Devang Patel <dpatel@apple.com> + + Radar 4023104 + * config/darwin-driver.c (dash_capital_m_seen): Remove. + (main) : Do not handle -M options. + +2005-03-21 Stuart Hastings <stuart@apple.com> + + Radars 3805723 4010664 3965893 4010496 4015764 + * config/mh-x86-darwin: New; now bootstraps with -mdynamic-no-pic on Darwin/x86. + * configure.in: Now bootstraps with -mdynamic-no-pic on Darwin/x86. + * configure: Re-autoconfiscated with above. + * gcc/config/darwin-protos.h (machopic_lazy_symbol_ptr2, machopic_lazy_symbol_ptr3): + New lazy_symbol_ptr sections for new Darwin/x86 stubs. + (darwin_texcoal_nt_section): New section for set_pc_thunk pic-base settors. + * gcc/config/darwin.c (machopic_symbol_defined_p): No longer static. + (machopic_indirect_data_reference): Revise to support -mdynamic-no-pic for x86. + * gcc/config/darwin.h (machopic_lazy_symbol_ptr2, machopic_lazy_symbol_ptr3, + machopic_picsymbol_stub2, darwin_textcoal_nt): New sections. + * gcc/config/i386/darwin.h (CC1_SPEC): Un-disable -mdynamic-no-pic option. + (TARGET_ASM_FILE_END): Use darwin_x86_file_end. (darwin_x86_file_end): New. + (TARGET_DEEP_BRANCH_PREDICTION, MASK_MACHO_DYNAMIC_NO_PIC, TARGET_DYNAMIC_NO_PIC): + Un-disable for x86. (SUBTARGET_OVERRIDE_OPTIONS): New arch/tune/fpmath defaults for Darwin/x86. + * gcc/config/i386/i386.c (override_options): New diagnostic for "-fPIC -mdynamic-no-pic." + (get_pc_thunk_name): Mach-O support. (ix86_output_function_epilogue): Isolate labels + from the end of Mach-O sections with a NOP. + (legitimate_constant_p, legitimze_address, print_operand, ix86_expand_move, + machopic_output_stub): Darwin -mdynamic-no-pic support. + (darwin_x86_file_end): New; appends set_pc_thunks at end of compilation. + * gcc/config/i386/i386.h: Update unused-bits comment. + * gcc/cp/optimize.c: Wire the decloner OFF. + +2005-03-18 Geoffrey Keating <geoffk@apple.com> + + * doc/include/sourcecode.texi: Update branch name. + +2005-03-17 Geoffrey Keating <geoffk@apple.com> + + * c-parse.in: Change number of expected conflicts to 15. + +2005-03-14 Dale Johannesen <dalej@apple.com> + + Radar 4045984 + * rtlanal.c (find_first_parameter_load): Rewrite to + return actual first param load or the call if none, + instead of first in block, when not all loads exist. + +2005-03-11 Devang Patel <dpatel@apple.com> + + * target.h: Reinsert one line comment. + +2005-03-11 Ziemowit Laski <zlaski@apple.com> + + Radar 3995882 + * c-decl.c (objc_mark_locals_volatile): Mark local variables and + parameters 'volatile' in ways expected by the C front-end. + +2005-03-10 Devang Patel <dpatel@apple.com> + + Radar 4040918 + * c-opts.c (set_std_c89): Do not set lang if it is already set as CLK_ASM. + +2005-03-09 Devang Patel <dpatel@apple.com> + + * tree-vectorizer.c (vect_analyze_loop): Reorder data refs alignment analysis. + +2005-03-08 Dale Johannesen <dalej@apple.com> + + * Makefile.in: Remove useless code from LNO branch. + * tree-ssa-loop-ch.c: Local marker cleanup. + * tree-pass.h: Ditto. + * tree-ssa-loop.c: Ditto both the above. + +2005-03-08 Dale Johannesen <dalej@apple.com> + + * Makefile.in: Remove useless code from LNO branch. + * cfgloop.h: Ditto. + * cfgloopmanip.c: Ditto. + * common.opt: Ditto. + * lambda-trans.c: Ditto. + * opts.c: Ditto. + * rtl.h: Ditto. + * timevar.def: Ditto. + * toplev.c: Ditto. + * toplev.h: Ditto. + * tree-flow.h: Ditto. + * tree-optimize.c: Ditto. + * tree-pass.h: Ditto. + * tree-ssa-loop-ch.c: Ditto. + * tree-ssa-loop.c: Ditto. + * tree.h: Ditto. + * varray.h: Ditto. + +2005-03-07 Devang Patel <dpatel@apple.com> + + * target-def.h (TARGET_VECT): Remove. + * target.h (tree.h, tree-flow.h): Do not include. + (struct gcc_target): Remove struct vect. + * config/rs6000/rs6000.c (cfgloop.h): Do not include. + (rs6000_support_misaligned_vloads, rs6000_permute_misaligned_vloads, + rs6000_build_builtin_lvsl, rs6000_build_builtin_lvsr, + rs6000_build_builtin_vperm, rs6000_support_vmul_uch_p, + rs6000_build_vmul_uch, rs6000_support_vector_init_p, + get_vector_init_fns_for_type, rs6000_build_vector_init): Remove. + (TARGET_VECT_SUPPORT_MISALIGNED_LOADS, TARGET_VECT_PERMUTE_MISALIGNED_LOADS, + TARGET_VECT_BUILD_BUILTIN_LVSL, TARGET_VECT_BUILD_BUILTIN_LVSR, + TARGET_VECT_BUILD_BUILTIN_VPERM, TARGET_VECT_SUPPORT_VMUL_UCH_P, + TARGET_VECT_BUILD_VMUL_UCH, TARGET_VECT_SUPPORT_VECTOR_INIT_P, + TARGET_VECT_BUILD_VECTOR_INIT, TARGET_GIMPLIFY_VA_ARG_EXPR): Remove. + * c-incpath.c (errors.h): Include. + +2005-03-06 Devang Patel <dpatel@apple.com> + + * config/darwin.h (LINK_COMMAND_SPEC): Remove foutput-dbg. + +2005-03-06 Devang Patel <dpatel@apple.com> + + * target-def.h (TARGET_VECT_SUPPORT_MISALIGNED_LOADS, + TARGET_VECT_PERMUTE_MISALIGNED_LOADS, TARGET_VECT_BUILD_BUILTIN_LVSL, + TARGET_VECT_BUILD_BUILTIN_LVSR, TARGET_VECT_BUILD_BUILTIN_VPERM, + TARGET_VECT_SUPPORT_VMUL_UCH_P, TARGET_VECT_BUILD_VMUL_UCH, + TARGET_VECT_SUPPORT_VECTOR_INIT_P, TARGET_VECT_BUILD_VECTOR_INIT): Remove + redundant macros. + +2005-03-06 Devang Patel <dpatel@apple.com> + + Radar 4025991 + * tree-vectorizer.c (vect_is_simple_cond): Now second parameter is + loop_vec_info instead of loop *. + (vectorizable_select): Supply loop_vec_info to vect_is_simple_use. + (vect_build_dist_vector): Use loop nest's depth. + +2005-03-06 Devang Patel <dpatel@apple.com> + + * c-opts.c (c_common_handle_option): Remove QA_DISABLE_WERROR. + +2005-03-06 Devang Patel <dpatel@apple.com> + + * tree-ssa-operands.h (add_vdef): Remove. + * tree.h (get_array_base): Remove. + (swap_tree_comparison): Remove redundant decl. + +2005-03-06 Devang Patel <dpatel@apple.com> + + * varray.h (VARRAY_DG_INIT, VARRAY_DG): Remove. + +2005-03-04 Dale Johannesen <dalej@apple.com> + + Radar 4025985 (partial) + * config/rs6000/rs6000.c: Restore 64-bit ABI from mainline. + * config/rs6000/rs6000.h: Ditto. + +2005-03-03 Dale Johannesen <dalej@apple.com> + + Radar 3897244 + * config/i386/darwin.h: Define REGISTER_TARGET_PRAGMAS + and ROUND_TYPE_ALIGN. + * config/i386/i386.c (x86_field_alignment): Support Mac68K alignment. + +2005-03-02 Devang Patel <dpatel@apple.com> + + Undo Radar 4023104 + * config/darwin-driver.c (dash_capital_m_seen): Remove. + (main) : Do not handle -M options. + +2005-02-28 Ziemowit Laski <zlaski@apple.com> + + Radar 4015382 + * config/darwin.c (machopic_select_section): Do not place + non-weak '::operator new' and '::operator delete' definitions + in the coalesced section. + +2005-02-27 Dale Johannesen <dalej@apple.com> + + Radar 4015911 + * config/i386/i386.c (ix86_binds_local_p): New. + (TARGET_BINDS_LOCAL_P): Use it. + +2005-02-26 Dale Johanensen <dalej@apple.com> + + Radar 3988125 + PR 19360 (from mainline) + * tree-ssa-dom.c (tree_ssa_dominator_optimize): Clear SSA_NAME_VALUE + at the end of the main DOM loop rather than just before DOM exits. + +2005-02-25 Devang Patel <dpatel@apple.com> + + Radar 4023104 + * config/darwin-driver.c (dash_capital_m_seen): New. + (main) : Handle -M options. + +2005-02-24 Dale Johannesen <dalej@apple.com> + + * doc/extend.texi (nested function description): Improvement + from mainline. + +2005-02-23 Dale Johannesen <dalej@apple.com> + + Radar 4011924 + PR 19241 (patch from mainline) + * tree-inline.c (copy_body_r): Don't recurse when + remapping variables. + +2005-02-23 Devang Patel <dpatel@apple.com> + + Radar 4021019 + * config/rs6000/darwin.h (CC1_SPEC): Ignore -march=pentium4 and + -mcpu=pentium4. + * config/i386/darwin.h (CC1_SPEC): Ignore -mno-fused-madd. + +2005-02-23 Devang Patel <dpatel@apple.com> + + Radar 3841402 3841397 3841275 + * config/darwin-driver.c (add_arch_options): Do not supply + -march=i386. Interpret -arch pentIIm3 appropriately. + +2005-02-22 Devang Patel <dpatel@apple.com> + + Radar 3844827 + Backport from Mainline. + + 2005-01-18 Andi Kleen <ak@muc.de> + + * c-typeck.c: (convert_for_assignment): Check warn_pointer_sign. + * c.opt (-Wpointer-sign): Add. + * doc/invoke.texi: (-Wpointer-sign): Add. + +2005-02-21 Dale Johannesen <dalej@apple.com> + + Radar 4015820 (missing piece) + * objcp/objcp-lang.c: Use objc_gimplify_expr. + +2005-02-21 Dale Johannesen <dalej@apple.com> + + Radar 4015820 + * objc/objc-act.c (objc_gimplify_expr): New. + * objc/objc-lang.c (LANG_HOOKS_GIMPLIFY_EXPR): Use it. + * objc/objc-act.h: Declare it. Include tree-gimple.h. + * objc/Make-lang.in: Add required tree-gimple.h's. + * objcp/Make-lang.in: Ditto. + +2005-02-21 Stan Shebs <shebs@apple.com> + + * config/darwin-c.c (darwin_pragma_options): Warn about uses + of mac68k alignment pragma when 64-bit. + +2005-02-21 Devang Patel <dpatel@apple.com> + + Radar 3964387 + * config/rs6000/darwin.h (CC1_SPEC): Ignore -msse and -msse2. + +2005-02-19 Ziemowit Laski <zlaski@apple.com> + + Radar 4014879 + * config/rs6000/rs6000.md (call_nonlocal_sysv, + sibcall_symbolic): Add handling of ABSCALL annotations. + +2005-02-17 Devang Patel <dpatel@apple.com> + + Radar 4008460 + * tree-vectorizer.c (vect_analyze_data_ref_dependence): Check for NULL + distance vector. + +2005-02-17 Devang Patel <dpatel@apple.com> + + Undo Radar 3964387 fix. + +2005-02-17 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3971074 + + * c-common.c (cw_asm_stmt): Generate .file and .line + directives. Remove cw_asm_lineno declaration. + * c-common.h: Add argument to cw_asm_stmt declaration, remove + cw_asm_lineno declaration. + * c-parse.in: Accurately pass line no information to + cw_asm_stmt routine. + +2005-02-17 Ziemowit Laski <zlaski@apple.com> + + Radar 3635843, 3922342 + * c-common.h (objc_generate_write_barrier): New prototype. + * c-typeck.c (lvalue_or_else): Do not emit warning if + '-Wno-non-lvalue-assign' has been specified. + (build_modify_expr): Call objc_generate_write_barrier() if + '-fobjc-gc' has been specified. + * c.opt (-Wassign-intercept, -Wnon-lvalue-assign, + -fobjc-direct-dispatch, -fobjc-gc): New options. + * calls.c (emit_call_1): For functions with 'hard_coded_address' + attribute, annotate the RTL call instruction with the address + to use. + * reg-notes.def (ABSCALL): New RTL annotation. + * stub-objc.c (objc_generate_write_barrier): New stub. + * config/darwin-protos.h (darwin_handle_objc_gc_attribute): + New prototype. + * config/darwin.c (darwin_handle_objc_gc_attribute): New function. + * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add + '-Wno-non-lvalue-assign' whenever '-fobjc-gc' is seen. + (SUBTARGET_OS_CPP_BUILTINS): Define '__strong' and '__OBJC_GC__' + macros as needed. + (SUBTARGET_ATTRIBUTE_TABLE): Add 'objc_gc' attribute. + * config/rs6000/rs6000.md (call_value_nonlocal_sysv, + sibcall_value_symbolic): Add handling of ABSCALL annotations. + +2005-02-16 Dale Johannesen <dalej@apple.com> + + Radar 4006687 + PR 17767 et al (fix from mainline) + * cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt + any simplifications of vector mode comparison operators. + * simplify-rtx.c (simplify_relational_operation): Fix variable name. + +2005-02-15 Dale Johannesen <dalej@apple.com> + + Radar 3991611 + Radar 3990578 + PRs 19084 and 19348 (fix from mainline) + * recog.c (peephole2_optimize): Do global life update if some peephole + decides it doesn't need at least one of its inputs and that change + influences liveness at the start of the basic block. + * basic-block.h (EXECUTE_IF_AND_COMPL_IN_REG_SET): Needs 2 REGSET + arguments instead of 1. + +2005-02-15 Dale Johannesen <dalej@apple.com> + + Radar 3876378 + Radar 3838108 + PR 18109 (fix from mainline) + * config/i386/i386.md (movhi_1): Remove previous attempt at a fix. + (movqi_1): Ditto. Don't use 4-byte load when unsafe. + +2004-02-16 Devang Patel <dpatel@apple.com> + + Radar 3964387 + * build_gcc: Build darwin-driver-rs6000.c and darwin-driver-i386.c + * config/darwin-driver-rs6000.c: New file + * config/darwin-driver-i386.c: New file + * config/darwin-driver.h: New file + * config/darwin-driver.c (darwin-driver.h): Include. + (ppc_specific_args, ppc_specific_args_size, ppc_specific_arg_count, + x86_specific_args, x86_specific_args_size, x86_specific_arg_count, + is_ppc_specific_option, is_x86_specific_option): New. + (remove_arch_options): New parameter. + (add_arch_options): Insert arch specific options. + (main): Interpret arch specific options. + +2005-02-16 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3970655 + + * c-common.c (prepend_char_identifier): Modified old + get_atsign_identifier to handle any character. + * c-common.h (prepend_char_identifier): New function declaration. + Removed get_atsign_identifier declaration. + * c-lex.c (c_lex_with_flags): Add '.' to those tokens which + can start a CW asm statement. + * c-parse.in (cw_identifier): New CW identifier syntax. + +2005-02-15 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3970646 + * c-common.c (cw_asm_identifier): New routine. + (cw_asm_stmt): call cw_asm_identifier on asm operator. + * cp/parser.c (cp_parser_cw_asm_relative_branch): New routine. + (cp_parser_cw_asm_postfix_expression): Call + cp_parser_cw_asm_relative_branch to parse relative branch + operand. + +2005-02-14 Devang Patel <dpatel@apple.com> + + Radar 4002184 + * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove + -ffix-and-continue. + +2005-02-14 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3971053 + * cp/parser.c (cp_parser_unary_expression): Defer 'sizeof' in asm + block to cp_parser_cw_asm_postfix_expression. + (cp_parser_cw_asm_postfix_expression): Process sizeof here. + + Radar 3971060 + c-common.c (cw_asm_expr_val): New routine. + (print_cw_asm_operand): Call cw_asm_expr_val to evaluate complex + numeric expressions used in asm block. + + Radar 3971070 + gcc/c-parse.in (cw_asm_unary_expr): Error on undeclared type used + in sizeof. + c-typeck.c (parser_build_binary_op): Check for use of undefined + in asm block. + cp/typeck.c (build_x_binary_op): Ditto + +2005-02-11 Ziemowit Laski <zlaski@apple.com> + + Radar 3962013 (Part 2) + * doc/invoke.texi: Document '-Wstrict-selector-match'. + +2005-02-11 Devang Patel <dpatel@apple.com> + + Radar 3996800 + * gcc.c (cpp_uniq_options): Emit '-mconstant-cfstrings' option, + if needed. + +2005-02-09 Dale Johannesen <dalej@apple.com> + + Radar 3985162 + Radar 3990505 + * cselib.c (cselib_process_insn): Clear out regs where + HARD_REGNO_CALL_PART_CLOBBERED is true at a call. + * reload.c (find_equiv_reg): Ditto. + +2005-02-06 Dale Johannesen <dalej@apple.com> + + Radar 3988061 + * langhooks-def.h: add lhd_vtable_p, LANG_HOOKS_VTABLE_P + langhooks.c (lhd_vtable_p): New. + langhooks.h (struct lang_hooks): Add vtable_p. + config/rs6000/rs6000.c (rs6000_binds_local_p): Treat kext + vtables as non-local-binding. + cp/cp-objcp-common.c (cp_vtable_p): New. + cp/cp-objcp-common.h: Use it for LANG_HOOKS_VTABLE_P. + cp/cp-tree.h: Declare it. + +2005-02-06 Geoffrey Keating <geoffk@apple.com> + + Radar 3984134 (again) + * config/darwin-driver.c (do_compile): Update argc_count for + target-specific options. + (add_arch_options): Improve debug output. + +2005-02-02 Mike Stump <mrs@apple.com> + + Radar 3981486 + * objcp/lang-specs.h ("@objc++-cpp-output"): Add support for 3.3 + language name for distributed builds. + +2005-02-02 Geoffrey Keating <geoffk@apple.com> + + Radar 3984134 + * config/darwin-driver.c (initialize): Allow for extra NULL in + new_argv. Update comment for lipo_argv. + (do_lipo): Add NULL at end. Check for NULL at end when printing. + (do_compile): Add NULL at end of current_argv. + (main): Add NULL at end of new_argv. + +2005-02-01 Devang Patel <dpatel@apple.com> + + Radar 3983593 + * c-pch.c (pch_matching[]): Add -faltivec. + * c.opt (faltivec): Use flag_altivec as variable. + * toplev.c (flag_disable_opts_for_faltivec): New. + * flags.h (flag_disable_opts_for_faltivec): Same. + +2005-01-31 Ziemowit Laski <zlaski@apple.com> + + Radar 3978168 + * c-typeck.c (lvalue_or_else): Allow certain non-lvalues + as arguments to '&', and print appropriate warning. + +2004-01-31 Devang Patel <dpatel@apple.com> + + Radar 3978580 + * varasm.c (const_hash_1): Check constant cfstring. + (compare_constant): Same. + * config/darwin-protos.h (darwin_constant_cfstring_p): New. + * config/darwin.c (darwin_constant_cfstring_p): New. + +2005-01-31 Roger Sayle <roger@eyesopen.com> + Dale Johannesen <dalej@apple.com> + + Radar 3974393 + * fold-const.c (fold_binary_op_with_conditional_arg): + Make types match original operands, before STRIP_NOPS. + (From mainline.) + +2005-01-30 Ziemowit Laski <zlaski@apple.com> + + Radar 3962013 + * c.opt (Wstrict-selector-match): New option. + +2005-01-28 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3979484 + + * cp/typeck2.c (digest_init): Convert AltiVec-style + vector constant to its internal tree representation. + +2005-01-28 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3967653 + * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): + Diagnose 'long long' and 64bit 'long' vector declarations. + +2005-01-26 Dale Johannesen <dalej@apple.com> + + Back out preceding change, which is wrong. + +2005-01-26 Dale Johannesen <dalej@apple.com> + + Radar 3974393 + PR 19650 + * fold-const.c (fold_binary_op_with_conditional_arg): + Make constant 0 or 1 be of correct type. + +2005-01-27 Mike Stump <mrs@apple.com> + + Radar 3978098 + * config/darwin.h (SUBTARGET_OS_CPP_BUILTINS): Move setting + pascal_string for cpp from here... + * config/darwin.h (SUBSUBTARGET_OVERRIDE_OPTIONS): ..to here. + * c-cppbuiltin.c: Remove includes for pascal strings. + * config/rs6000/rs6000.c (parse_in): Add. + * config/i386/i386.c (parse_in): Add. + +2005-01-26 Stuart Hastings <stuart@apple.com> + + Radar 3967989 + * gcc/gimplify.c (shortcut_cond_expr): Re-compute side-effects. + * gcc/testsuite/gcc.c-torture/execute/20050125-1.c: New. + +2005-01-26 Ziemowit Laski <zlaski@apple.com> + + Radar 3970884 + * tree.c (reconstruct_complex_type): Reconstruct + REFERENCE_TYPEs correctly, instead of turning them + into POINTER_TYPEs. + * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): + Propagate all qualifiers from element type onto vector type. + +2005-01-25 Dale Johannesen <dalej@apple.com> + + Radar 3941199 + * config/rs6000/darwin-tramp.asm (__trampoline_setup): + Make work for 64 bit. + +2005-01-25 Dale Johannesen <dalej@apple.com> + + Radar 3944688 + PR 19147 + * config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete. + +2005-01-25 Dale Johannesen <dalej@apple.com> + + Radar 3970057 + * config/rs6000/rs6000.c (rs6000_return_in_memory): + Implement Darwin 64-bit convention correctly. + (rs6000_darwin64_record_arg_flush_pending): + Compute correct reg for int field following doubles. + +2005-01-24 Stuart Hastings <stuart@apple.com> + + Radar 3939078 + * gcc/cgraphunit.c (cgraph_build_static_cdtor) Don't set DECL_IGNORED_P. + +2005-01-24 Ziemowit Laski <zlaski@apple.com> + + Radar 3961973 (Part 2) + * c-typeck.c (lvalue_or_else): Acccept NON_LVALUE_EXPRs + as cast expressions. + +2005-01-23 Ziemowit Laski <zlaski@apple.com> + + Radar 3961973 + * c-common.c (flag_lvalue_cast_assign): Remove. + * c-common.h (flag_lvalue_cast_assign): Remove. + * c-opts.c (c_common_handle_option): Remove + '-flvalue-cast-assign' handling. + * c-typeck.c (lvalue_or_else): Change first parameter from + 'tree' to 'tree *'; handle conditional lvalues in addition + to lvalue casts; when rewriting expressions, create a new + tree instead of clobbering an existing one. + (build_unary_op, build_modify_expr, build_asm_expr): + Adjust calls to lvalue_or_else(). + * c.opt: Rename -flvalue-cast-assign to -fnon-lvalue-assign + and add Var(...) and Init(...) annotation to create a flag. + * doc/invoke.texi: Likewise; add description of lvalue + conditional expressions and how they are transformed. + +2005-01-21 Ziemowit Laski <zlaski@apple.com> + + Radar 3951887 + * gimplify.c (gimplify_expr): Adjust the type of + INDIRECT_REFs after their argument is gimplified. + +2005-01-19 Robert Bowdidge <bowdidge@apple.com> + + * config/darwin.h (SUBSUBTARGET_OVERRIDE_OPTIONS) Turn off + -fweak whenever we're building kexts. + * Makefile.in: Add -fno-non-call-exceptions to flags passed when + building files for libcc_kext.a + * mklibgcc: Move -fexception and -fnon-call-exceptions to start of + command line so multilib machinery can override + +2005-01-20 Dale Johannesen <dalej@apple.com> + + Radar 3966230 + * config/rs6000/darwin.md (movsf_low_di): Make work. + +2005-01-19 Dale Johannesen <dalej@apple.com> + + Radar 3961638 + * config/rs6000/darwin.md (movdf_low_di): Make work. + +2005-01-19 Mike Stump <mrs@apple.com> + + Radar 3962625 + * c-incpath.c (hmap_construct_pathname): Warn when headermaps find + files with mismatched case. + +2005-01-13 Dale Johannesen <dalej@apple.com> + + Radars 3942172 3897795 3944716 3941494 + * config/rs6000/rs6000.h (CUMULATIVE_ARGS): New fields + intoffset, use_stack, named. + * config/rs6000/rs6000.c (rs6000_darwin64_function_arg): Remove. + rs6000_darwin64_record_arg_advance_flush_pending_int_fields: New. + rs6000_darwin64_record_arg_advance_recurs: New. + rs6000_darwin64_record_arg_flush_pending_int_fields: New. + rs6000_darwin64_record_arg_recurs: New. + rs6000_darwin64_record_arg: New. + rs6000_return_in_memory: Remove AGGREGATE_TYPE_P check. + function_arg_boundary: Handle 128-bit aligned structs. + function_arg_advance: Rewrite darwin-64 struct handling. + function_arg: Call rs6000_darwin64_record_arg. + function_arg_partial_nregs: Handle darwin-64 structs. + rs6000_darwin64_function_value: Remove. + rs6000_function_value: Call rs6000_darwin64_record_arg. + +2005-01-04 Anders Bertelrud <anders@apple.com> + + Radar 3871393 + * gcc/c-incpath.c: Merged in headermap code from GCC 3.3 source + base, modifying it somewhat to work in GCC 4.0. + (hmap_hash_string): Copied from GCC 3.3. + (hmap_compare_strings): Copied from GCC 3.3. + (hmap_load_header_map): Copied from GCC 3.3. + (hmap_construct_pathname): Copied from GCC 3.3 and modified + to have calling convensions for cpp_dir's 'construct' field. + (remove_duplicates): If a search path refers to a file rather than + a directory, we check if it's a headermap file immediately before + we would have reported an error. If it is, call hmap_load_header_map + and set up the 'construct' field of the cpp_dir. Otherwise, report + the error as usual. + +2005-01-17 Ziemowit Laski <zlaski@apple.com> + + Radar 3951689 + * c-common.h (objc_finish_try_stmt, objc_build_synchronized): + Return 'tree' instead of 'void'. + * stub-objc.c (objc_build_throw_stmt, objc_begin_try_stmt, + objc_finish_try_stmt, objc_begin_catch_clause, + objc_finish_catch_clause, objc_build_finally_clause, + objc_build_synchronized: New stubs. + +2005-01-15 Geoffrey Keating <geoffk@apple.com> + + * gcc.c (macosx_version_min_required): Make static. + +2005-01-14 Dale Johannesen <dalej@apple.com> + + Radar 3953308 + * tree-ssa-dce.c: Remove all vestiges of LNO branch. + * tree-flow.h (tree_ssa_dce_no_cfg_changes): Remove declaration. + +2005-01-13 Stuart Hastings <stuart@apple.com> + + Radar 3236762 + * gcc/config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Revert Mach-O arch back to i386, + regardless of -force_cpusubtype_ALL. + +2005-01-11 Stuart Hastings <stuart@apple.com> + + Radar 3943021 + * gcc/config/rs6000/rs6000.md (maxsf3, minsf3, split, maxdf3, mindf3, split): + disable when -flag-trapping-math. + * gcc/config/rs6000/rs6000.c (rs6000_emit_minmax): Don't abort + when #pragma fenv (-ftrapping-math) causes failure. + +2005-01-11 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3903960 + * fold-const.c (fold_widened_comparison) Replace it with the + one from FSF mainline. + (fold_sign_changed_comparison): Ditto. + (fold): Remove APPLE LOCAL lno marker. + +2005-01-10 Ziemowit Laski <zlaski@apple.com> + + Radar 3943452 + * config/rs6000/rs6000.c (altivec_convert_args): Clear any oveflows + caused by integer literal conversions. + +2005-01-09 Mike Stump <mrs@apple.com> + + Radar 3926955 + * c-opts.c (c_common_handle_option): Remove wrong -faltivec code. + * c.opt (faltivec): Remove wrong set 0. + config/rs6000/rs6000.c (rs6000_altivec_switch): Move -maltivec back + into TARGET_SWITCHES. + (rs6000_override_options): Likewise. + * config/rs6000/rs6000.h (TARGET_SWITCHES): Likewise. + (TARGET_OPTIONS): Likewise. + (rs6000_altivec_switch): Likewise. + +2005-01-10 Stuart Hastings <stuart@apple.com> + + Radar 3236762 + * gcc/config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Revert Mach-O arch back to i386. + +2005-01-09 Dale Johannesen <dalej@apple.com> + + Radar 3941146 + Following patches from mainline: + 2004-10-27 Daniel Berlin <dberlin@dberlin.org> + + Fix PR tree-optimization/17133 + + * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must + def kill operand. + + * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT. + (get_v_must_def_result_ptr): Modify for new structure of + v_must_defs array. + (get_v_must_def_kill_ptr): New. + (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs. + (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT. + (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT. + (op_iter_init): Initialize new mustu members. + (op_iter_next_mustdef): New function. + (op_iter_init_mustdef): Ditto. + + * tree-flow.h (rewrite_def_def_chains): New function. + + * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands. + (ssa_mark_def_sites): Ditto. + (rewrite_stmt): Ditto. + (ssa_rewrite_stmt): Ditto. + (rewrite_blocks): Factor out from rewrite_into_ssa. + (mark_def_block_sites): Ditto. + (rewrite_def_def_chains): New function, just rewrites def-def + chains without phi node insertion. + + * tree-pass.h (TODO_fix_def_def_chains): New todo flag. + + * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains. + + * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that + they include the rhs now. + + * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became + V_MUST_DEF_RESULT. + + * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument. + Update callers. + (mark_really_necessary_kill_operand_phis): New function. + (perform_tree_ssa_dce): Call it. + (pass_dce): Add TODO_fix_def_def_chains. + (pass_cd_dce): Ditto. + + * tree-ssa-loop-im.c (determine_max_movement): Look at kills as + well. + (rewrite_mem_refs): Ditto. + + * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills + as well. + + * tree-ssa-operands.c (allocate_v_may_def_optype): + v_may_def_operand_type_t became v_def_use_operand_type_t. + (allocate_v_must_def_optype) Ditto. + (finalize_ssa_v_must_defs): Update for new operand type, as well + as setting the use portion as well. + (copy_virtual_operands): Copy the kill operand as well. + (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became + V_MUST_DEF_RESULT. + + * tree-ssa-operands.h (v_may_def_operand_type): Renamed to + v_def_use_operand_type. + (v_must_def_optype_d): Use v_def_use_operand_type. + (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_* + (V_MUST_DEF_KILL_*): New macros. + (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i + members. + Rename existing must_i and num_v_must members to mustd_i and + num_v_mustd. + (SSA_OP_VMUSTDEFKILL): New flag. + (SSA_OP_VIRTUAL_KILLS): New flag. + (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS. + (SSA_OP_ALL_KILLS): New flag. + (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro. + + * tree-ssa.c (verify_ssa): Verify virtual kills as well. + + * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP + became V_MUST_DEF_RESULT. + (rename_variables_in_bb): Rename kill pointer as well. + + * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the + immediate uses. + + 2004-10-28 Daniel Berlin <dberlin@dberlin.org> + + * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function. + (rewrite_blocks): Modify argument, and use it to decide which + function to call. + (rewrite_def_def_chains): Call rewrite_blocks with true here. + (rewrite_into_ssa): and call it with false here. + + 2004-11-16 Daniel Berlin <dberlin@dberlin.org> + + Fix PR tree-optimization/18519 + + * tree-optimize (execute_todo): Add case for TODO_cleanup_cfg. + * tree-pass.h: Add TODO_cleanup_cfg. + * tree-ssa-ccp.c (pass_ccp): Use TODO_cleanup_cfg. + (ccp_finalize): Remove call to cleanup_cfg. + * tree-ssa-dce.c (pass_dce): Use TODO_cleanup_cfg and TODO_dump_func. + (pass_cd_dce): Ditto. + (perform_tree_ssa_dce): Remove call to cleanup_cfg, + dump_function_to_file. + * tree-ssa-loop-ch.c (copy_loop_headers): Remove call + to cleanup_cfg. + (pass_ch): Add TODO_cleanup_cfg. + * tree-ssa-loop.c (tree_ssa_loop_done): Remove call to + cleanup_cfg. + (pass_loop_done): Add TODO_cleanup_cfg. + * tree-ssa-phiopt.c (pass_phiopt): Ditto. + (tree_ssa_phiopt): Remove call to cleanup_cfg. + +2005-01-08 Ziemowit Laski <zlaski@apple.com> + + Radar 3913725 + * c-common.c (flag_lvalue_cast_assign): New global variable. + * c-common.h (flag_lvalue_cast_assign): Forward declare. + * c-opts.c (c_common_handle_option): Handle + '-f[no-]lvalue-cast-assign'. + * c-typeck.c (lvalue_or_else): If expression is not an lvalue, + check if it is a cast of an lvalue; if so, and if the cast + involves POD types with identical size and aligment, + rewrite '(type)expr' into '*(type *)&expr' and allow the + result as an lvalue. + * c.opt (flvalue-cast-assign): New flag. + * invoke.texi: Document '-f[no-]lvalue-cast assign' flag. + +2005-01-07 Devang Patel <dpatel@apple.com> + + Radar 3943502 + * stub-objc.c (objc_get_class_ivars): New. + +2005-01-06 Ziemowit Laski <zlaski@apple.com> + + Radar 3926755 + * c-decl.c (builtin_function): Do not require AltiVec + builtins to be explicitly declared. + * config/rs6000/rs6000.c (altivec_cov_rt_1h): New function. + (pim_flags): Add pim_rt_1h enumeration constant; renumber + all pim_rt_... constants. + (rs6000_fold_builtin): Select overload candidate before + determining return type; call altivec_cov_rt_1h() during + latter. + (altivec_init_builtins): Create builtins corresponding + to "specific operations" listed in AltiVec PIM; fix + entry for "vec_re" to return a 'vector float'; fix + entries for "vec_pack" to compute return vector type + as having twice as many elements as the first argument. + * config/rs6000/rs6000.h (rs6000_builtins): Add enumeration + constants corresponding to AltiVec PIM "specific operations". + +2005-01-06 Stan Shebs <shebs@apple.com> + + * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't skip + saving r31 if we must do a full stack frame. + (rs6000_emit_epilogue): Similarly for restoring r31. + +2005-01-06 Andrew Pinski <pinskia@physics.uc.edu> + Stuart Hastings <stuart@apple.com> + + Radar 3830232 + * gcc/testsuite/gcc.apple/notailcall-1.c: New testcase. + +2005-01-06 Stuart Hastings <stuart@apple.com> + + Radar 3941684 + * gcc/c-common.c (print_cw_asm_operand): Casts for long long format. + * gcc/gcc.c (process_command): Malloc overflowing static char array. + * gcc/config/i386/dariwn.h (ASM_SPEC): Revert to i386. + * gcc/config/i386/i386.h (STACK_BOUNDARY): Must be of indeterminate signedness. + +2005-01-06 Mike Stump <mrs@apple.com> + + Radar 3929334 + * c-pch.c (c_common_pch_pragma): Add indirection for pch files for distcc. + +2005-01-04 Devang Patel <dpatel@apple.com> + + Radar 3886137 Part 2. + * cppdefault.c (INCLUDE_DEFAULTS): Enable isysroot override by default + for all include paths. + +2005-01-03 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3936917 + * config/rs6000/altivec.md (altivec_vandc): Correct RTL + pattern and use its canonical form. + +2005-01-03 Stuart Hastings <stuart@apple.com> + + Radar 3830232, Bugzilla 17526 + * tree-gimple.c (is_gimple_mem_rhs): Force a temp for every + register-candidate to prevent bad tailcalls. + +2004-12-23 Dale Johannesen <dalej@apple.com> + + * config/darwin-c.c: Include options.h. + (darwin_pragma_fenv): New. + * config/darwin-protos.h: Declare it. + * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Register it. + * config/t-darwin: Add new dependency. + * config/rs6000/rs6000.c (optimization_options): + Default trapping-math off. + * config/i386/i386.c (optimization_options): Ditto. + * fixincludes/inclhack.def: Add #pragma GCC fenv to <fenv.h>. + * fixincludes/fixincl.x: Regenerate. + * testsuite/gcc.apple/apple-altivec-9.c: Add -ftrapping-math. + * testsuite/gcc.apple/darwin-fsel-3.c: New. + +2004-12-23 Dale Johannesen <dalej@apple.com> + + Radar 3926600 + Following patches brought in from mainline + * tree.c (iterative_hash_expr): Canonicalize builtins. + PR tree-opt/16951 + * tree-inline.c (setup_one_parameter): Don't directly map a + parameter to the address of another variable of the same + function. + +2004-12-22 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3765572 + * expr.c (emit_push_insn): Remove unnecessary apple + local stuff which previously handled partial + arguments in mixed mode. + +2004-12-20 Dale Johannesen <dalej@apple.com> + + Radar 3926484 + * objc/objc-act.c (objc_get_callee_fndecl): New. + * objc/objc-act.h: Declare it. + * objc/objc-lang.c: Use it. + * objcp/objcp-lang.c: Ditto. + +2004-12-20 Matt Austern <austern@apple.com> + + Radar 3845716 + PR c++/19044 + * c-common.c (set_builtin_user_assembler_name): New. + * c-common.h (set_builtin_user_assembler_name): Declare. + * c-decl.c (finish_decl): Use set_builtin_user_assembler_name + +2004-12-20 Dale Johannesen <dalej@apple.com> + + Radar 3926488 + * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Don't + reference operand 1 of ADDR_EXPRs. + +2004-12-20 Devang Patel <dpatel@apple.com> + + Backport vectorizatin patches from Mainline. + Radar 3907012 3917979 3917991 3917994 3917999 + + PR tree-optimization/18009 + 2004-11-03 Dorit Naishlos <dorit@il.ibm.com> + + * tree-vectorizer.h (enum dr_alignment_support): New type. + (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed. + (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a + single data_reference (instead of a varray of references). + * tree-vectorizer.c (new_loop_vec_info): Likewise. + (vect_gen_niters_for_prolog_loop): Likewise. + (vect_update_inits_of_drs): Likewise. + + (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to + vect_enhance_data_refs_alignment. + (vect_do_peeling_for_alignment): Likewise. + (vect_enhance_data_refs_alignment): Decide if and by how much to peel; + this functionality used to be in vect_analyze_data_refs_alignment. + Also update DR_MISALIGNMENT due to peeling; this functionality used to + be in vect_update_inits_of_drs and vect_do_peeling_for_alignment). + (vect_analyze_data_refs_alignment): Decision on whether and by how much + to peel moved to vect_enhance_data_refs_alignment. Call + vect_supportable_dr_alignment. + + (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE. + (vect_compute_data_refs_alignment): Return bool. Consider return value + of vect_compute_data_ref_alignment and return true/false accordingly. + (vect_enhance_data_refs_alignment): Consider return value of + vect_compute_data_refs_alignment and return true/false accordingly. + + (vect_supportable_dr_alignment): New function. + (vectorizable_store): Call vect_supportable_dr_alignment. + (vectorizable_load): Call vect_supportable_dr_alignment. Alignment + support checks moved from here to vect_supportable_dr_alignment. + + (vect_transform_loop): Avoid 80 columns overflow. + + 2004-11-11 Dorit Naishlos <dorit@il.ibm.com> + + * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis. + (vect_update_ivs_after_vectorizer): Update function documentation. + Avoid quadratic behavior and direct write to PHI_ARG_DEF. + + 2004-11-14 Dorit Naishlos <dorit@il.ibm.com> + Andrew Pinski <pinskia@physics.uc.edu> + + PR tree-opt/18425 + * tree-vectorize.c (vect_build_loop_niters): Do not insert + NULL into the instruction stream. Initialize new_bb to NULL. + (vect_update_ivs_after_vectorizer): Likewise. + (vect_gen_niters_for_prolog_loop): Likewise. + + PR tree-opt/18400 + * tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations. + (vect_transform_loop_bound): Set loop->nb_iterations. + + 2004-11-14 Dorit Naishlos <dorit@il.ibm.com> + + PR tree-opt/18400 + * gcc.dg/vect/pr18400.c: New test. + + 2004-11-14 Dorit Naishlos <dorit@il.ibm.com> + Andrew Pinski <pinskia@physics.uc.edu> + + PR tree-opt/18425 + * gcc.dg/vect/pr18425.c: New test. + + 2004-11-14 Dorit Naishlos <dorit@il.ibm.com> + + * gcc.dg/vect/vect-78.c: Now vectorized on powerpc*. + + 2004-11-19 Dorit Naishlos <dorit@il.ibm.com> + + * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): New name for + function previously called tree_duplicate_loop_to_edge. + (slpeel_tree_duplicate_loop_to_edge_cfg): New name for function + previously called tree_duplicate_loop_to_edge_cfg. + (slpeel_update_phis_for_duplicate_loop): Prefix 'slpeel' added to + function name. + (slpeel_update_phi_nodes_for_guard): Likewise. + (slpeel_make_loop_iterate_ntimes): Likewise. + (slpeel_add_loop_guard): Likewise. + (allocate_new_names, free_new_names): Function declaration moved to top + of file. + (rename_use_op, rename_def_op): Likewise. + (rename_variables_in_bb, rename_variables_in_loop): Likewise. + (vect_generate_tmps_on_preheader): Function declaration moved. + (vect_transform_for_unknown_loop_bound): Added missing function + declaration. + + 2004-11-19 Dorit Naishlos <dorit@il.ibm.com> + + * tree-vectorizer.c (slpeel_can_duplicate_loop_p): New name for function + previously called verify_loop_for_duplication. All conditions compacted + into one compound condition. Removed debug dumps. + (vect_analyze_loop_with_symbolic_num_of_iters): Removed. Some of the + functionality moved to vect_can_advance_ivs_p, and some to + vect_analyze_loop_form. + (vect_can_advance_ivs_p): New function. Contains functionality that was + taken out of vect_analyze_loop_with_symbolic_num_of_iters. + (slpeel_tree_peel_loop_to_edge): Call slpeel_can_duplicate_loop_p. + (vect_analyze_operations): Call vect_can_advance_ivs_p and + slpeel_can_duplicate_loop_p. + (vect_get_loop_niters): Added documentation. + (vect_analyze_loop_form): Check the loop entry always - not only in case + of unknown loop bound. Create preheader and exit bb if necessary. Apply + a check that used to take place in + vect_analyze_loop_with_symbolic_num_of_iters. + (vectorize_loops): Call verify_loop_closed_ssa under ENABLE_CHECKING. + Remove redundant call to rewrite_into_loop_closed_ssa. + (vect_compute_data_refs_alignment): Removed obsolete comment. + + + 2004-11-19 Dorit Naishlos <dorit@il.ibm.com> + + * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Last two + arguments removed. + (slpeel_tree_peel_loop_to_edge): Call slpeel_make_loop_iterate_ntimes + without last two arguments. Update single_exit of loops. + (vect_update_niters_after_peeling): Removed. Its functionality was + moved to vect_do_peeling_for_alignment. + (vect_do_peeling_for_loop_bound): New name for function previously + called vect_transform_for_unknown_loop_bound. + (vect_transform_loop_bound): Call slpeel_make_loop_iterate_ntimes + instead of code that duplicates the same functionality. + (vect_do_peeling_for_alignment): Functionality of + vect_update_niters_after_peeling moved here. + (vect_transform_loop): Unify call to vect_do_peeling_for_loop_bound - + previously named vect_transform_for_unknown_loop_bound - for both known + and unknown loop bound cases. + + 2004-11-19 Andreas Tobler <a.tobler@schweiz.ch> + + * tree-vectorizer.c (slpeel_verify_cfg_after_peeling): Define only + if checking is enabled. + + 2004-11-22 Dorit Naishlos <dorit@il.ibm.com> + + PR tree-opt/18544 + * tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found. + + 2004-11-22 Dorit Naishlos <dorit@il.ibm.com> + + PR tree-opt/18536 + * tree-vectorizer.c (make_loop_iterate_ntimes): Use type of niters when + creating iv instead of integer_type. + (vect_build_loop_niters): Remove redundant code. + (vect_transform_loop_bound): Removed (duplicates functionality of + make_loop_iterate_ntimes. + (vect_gen_niters_for_prolog_loop): Add documentation. Call + lang_hooks.types.type_for_size to create a type of the required size. + Use that type instead of integer_type. Remove redundant code. + (vect_update_niters_after_peeling): Use type of niters instead of + integer_type. + (vect_transform_loop): Unify handling of known and unknown loop bound + cases. Call make_loop_iterate_ntimes instead of + vect_transform_loop_bound. + + 2004-11-23 Dorit Naishlos <dorit@il.ibm.com> + + PR tree-opt/18403 + PR tree-opt/18505 + * tree-vectorizer.c (vect_create_data_ref_ptr): Use + lang_hooks.types.type_for_size instead of integer_type_node for the + type of ptr_update. + + 2004-11-23 Dorit Naishlos <dorit@il.ibm.com> + * tree-vectorizer.c (vect_analyze_operations): Don't vectorize if + the vectorization factor is greater than the iteration count. + (vect_gen_niters_for_prolog_loop): No need to calculate min if the + iteration count is known. + + (vect_build_symbol_bound): Removed. Its functionality moved to + vect_generate_tmps_on_preheader. + (vect_generate_tmps_on_preheader): Moved content of + vect_build_symbol_bound here instead of calling it. Changed some + variables names. + + (vect_build_loop_niters): We don't expect a new_bb to be generated - + use gcc_assert. + (vect_gen_niters_for_prolog_loop): Likewise. + (vect_gen_niters_for_prolog_loo): Likewise. + + (slpeel_make_loop_iterate_ntimes): Use buildN instead of build. + (slpeel_add_loop_guard): Likewise. + (slpeel_tree_peel_loop_to_edge): Likewise. + (vect_do_peeling_for_alignment): Likewise. + + (vect_get_first_index): Missing space. + + 2004-11-30 Dorit Naishlos <dorit@il.ibm.com> + PR tree-opt/18173 + + * tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for + decls that are assembled before vectorization takes place. + (vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1. + + 2004-11-30 Dorit Naishlos <dorit@il.ibm.com> + * tree-vectorizer.c (vect_gen_niters_for_prolog_loop): Use + tree_low_cst instead of TREE_INT_CST_LOW. + + 2004-11-30 Ira Rosen <irar@il.ibm.com> + + PR tree-opt/18607 + * tree-vectorizer.c (vect_analyze_data_refs): Use temporary + variable for data_reference when looking for memtag. + + 2004-12-02 Dorit Naishlos <dorit@il.ibm.com> + + PR tree-opt/18716 + * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Properly set + then and else labels. + +2004-12-17 Mike Stump <mrs@apple.com> + + Radar 3549855 + * c-lex.c (c_lex_with_flags): Always do BOL processing for CW + asms. + +2004-12-17 Dale Johannesen <dalej@apple.com> + + Radar 3851659 + * c-decl.c (disagnose_mismatched_decls): Fix from mainline. + +2004-12-17 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3914905 + * c-typeck.c (digest_init): Handle case of vector literal + initializer initializing a const variable. + * convert.c (build_compound_literal_vector): New routine to generate a + COMPOUND_LITERAL_EXPR expression for a vector constant. + (convert_to_vector); call build_compound_literal_vector. + +2004-12-16 Stuart Hastings <stuart@apple.com> + + Radar 3910248, 3915171 + * gcc/config/rs6000/rs6000.c (output_call): correctly skip + non-line-number notes. + +2004-12-16 Ziemowit Laski <zlaski@apple.com> + + Radar 3921172 + * dbxout.c (dbxout_finish): Switch to .text section before + emitting final SO STABS record. + +2004-12-15 Dale Johannesen <dalej@apple.com> + + Radar 3619824 + * config/rs6000/rs6000.c (optimization_options): Clear + flag_errno_math. + * doc/invoke.texi: Document that -fno-math-errno is the default. + +2004-12-15 Ziemowit Laski <zlaski@apple.com> + + Radar 3918376 + * config/rs6000/rs6000.c (altivec_ovl_resolve): When matching + 4-element vectors, allow V4SF in addition to V4SI modes. + (rs6000_fold_builtin): If invalid arguments are provided, use + the return type for the first overload candidate, if available. + +2004-12-15 Ziemowit Laski <zlaski@apple.com> + + Radar 3913672 + * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): For + '-faltivec', pass in '-pim-altivec' instead of '-maltivec + -maltivec-pim'. + * config/rs6000/rs6000.c (rs6000_altivec_switch): New. + (rs6000_override_options): Handle '-m(no)altivec' explicitly + (rather than via TARGET_SWITCHES); for '-maltivec' and + '-mcpu=xxx' (where xxx supports AltiVec), clear the + flag_disable_opts_for_faltivec flag, move handling of + '-m(no-)pim-altivec' (formerly '-m(no-)altivec-pim') + before handling of -maltivec and -mcpu, and have it + set MASK_ALTIVEC and flag_disable_opts_for_faltivec. + * config/rs6000/rs6000.h (TARGET_SWITCHES): Move + '-m(no-)altivec' to TARGET_OPTIONS. + (TARGET_OPTIONS): Rename '-m(no-)altivec-pim' to + '-m(no-)pim-altivec'; add in '-m(no-)altivec'. + (rs6000_altivec_switch): New forward declaration. + * doc/invoke.texi: Rename '-m(no-)altivec-pim' to + '-m(no-)pim-altivec'; move description of disabled + optimizations from '-faltivec' to '-mpim-altivec'. + +2004-12-14 Stuart Hastings <stuart@apple.com> + + Radar 3910248 + * gcc/config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): ignore + -mlongcall when -m64 in use. + +2004-12-14 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3889727 + brought in fix for PR target/18641 from FSF + below. + +2004-12-11 David Edelsohn <edelsohn@gnu.org> + Ulrich Weigand <uweigand@de.ibm.com> + + PR target/18641 + * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Reload all + constants into all register classes intersecting with FLOAT_REGS + via memory. + * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Same. + * config/rs6000/rs6000.md (movdi_internal32): Ignore FPRs when + choosing register preferences. + (movdi_internal64): Same. + +2004-12-13 Mike Stump <mrs@apple.com> + + Radar 3865314 + * c-common.c (convert_and_check): Add support for -Wshorten-64-to-32. + * c.opt (Wshorten-64-to-32): Likewise. + * doc/invoke.texi (Warning Options): Likewise. + * Makefile.in (c-common.o): Added dependancy for options.h. + +2004-12-10 Devang Patel <dpatel@apple.com> + + Radar 3572046 (related) + * tree-ssa-forwprop.c (cast_conversion_assignment_p): New. + (replace_use_in_cond_expr): New. + (all_uses_are_replacable): New. + (eliminate_unnecessary_casts): New. + (tree_ssa_forward_propagate_single_use_var): Eliminate unnecessary + casts. + +2004-12-10 Devang Patel <dpatel@apple.com> + + Radar 3572046 (last patch) + * config/rs6000/rs6000.c (rs6000_emit_vector_select): Adjust + vector select insn parameters. + + +2004-12-10 Devang Patel <dpatel@apple.com> + + Radar 3893659 + * gcc.c (main): Do not break out of loop when error is reported while + processing one source file. + +2004-12-10 Ziemowit Laski <zlaski@apple.com> + + Radar 3640156, 3877958 + * config/rs6000/altivec.h: Skip contents of file + #ifdef __APPLE_ALTIVEC__, and issue a warning. + * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Do not + 'include altivec.h' upon seeing '-faltivec'; instead, specify + '-maltivec-pim'. + * config/rs6000/rs6000-c.c: Include options.h. + (rs6000_cpu_cpp_builtins): Define __APPLE_ALTIVEC__ and 'vec_step' + macro only if '-maltivec-pim' has been specified. + * config/rs6000/rs6000-protos.h (rs6000_fold_builtin): New prototype. + * config/rs6000/rs6000.c (altivec_cov_rt_12, altivec_cov_rt_2p, + altivec_cov_rt_1d, altivec_ovl_resolve, altivec_convert_args, + rs6000_fold_builtin): New functions. + (rs6000_altivec_inline_etc, rs6000_altivec_pim, + rs6000_altivec_pim_switch): New variables. + (rs6000_override_options): Handle '-m(no-)altivec-pim'. + (vector_builtin_fns): Decorate with GTY(()) voodoo; do not reserve + extra space for AltiVec PIM built-ins (since they won't be stored + there.) + (TARGET_FOLD_BUILTIN): Point at rs6000_fold_builtin(). + (enum pim_flags, struct altivec_pim_info): New data types. + (altivec_pim_table): New global variable. + (def_pim_builtin): New macro. + (altivec_init_builtins): If '-maltivec-pim' was specified, define + AltiVec PIM operations and predicates as built-ins. + (rs6000_handle_altivec_attribute): Add handling for 'element__' + argument, which returns the element type of the vector type passed in. + * config/rs6000/rs6000.h (enum rs6000_builtins): Append a new range, + ALTIVEC_PIM__FIRST... ALTIVEC_PIM__LAST, representing built-in codes + for AltiVec PIM operations and predicates. + (TARGET_OPTIONS): Add '-m(no-)altivec-pim' option. + (rs6000_altivec_inline_etc, rs6000_altivec_pim, + rs6000_altivec_pim_switch): Forward-declare. + * config/rs6000/t-rs6000 (rs6000-c.o): Depend on options.h. + * doc/invoke.texi: Update '-faltivec' description; add description + for '-maltivec-pim'. + +2004-12-08 Mike Stump <mrs@apple.com> + + Radar 3679243 + * varasm.c (assemble_variable): Don't use .zerofill for weak + symbols as it isn't supported in the assembler. Also, key off + !DECL_COMMON directly instead of flag_no_common so that C++ works. + +2004-12-08 Devang Patel <dpatel@apple.com> + + Radar 3903799 + * config/darwin.h (ASM_SPEC): Supply -force_cpusubtype_ALL. + +2004-12-07 Dale Johannesen <dalej@apple.com> + + Radar 3888787 + * doc/invoke.texi (-msoft-float): Rewrite to reflect reality. + +2004-12-07 Mike Stump <mrs@apple.com> + + Radar 3603833, 3896176, 3518821. + * c-common.c (cw_asm_operands_arg): New. + (print_cw_asm_operand): Add support for figuring out if the + argument must be a register or a memory reference. + (cw_asm_get_register_var): Likewise. + (cw_op_constraint): Likewise. + (cw_op_comp): Likewise. + (cw_constraint_for): Likewise. + (cw_process_arg): Likewise. + (cw_asm_stmt): Likewise. + (print_cw_asm_operand): Likewise. + (cw_asm_get_register_var): Likewise. + (cw_memory_clobber): Add support for figuring out if the + instruction needs a memory clobber. + (cw_asm_stmt): Likewise. + (print_cw_asm_operand): Add support for static duration variables. + + (cw_get_identifier): New. + (cw_ha16, cw_hi16, cw_lo16): New. + (get_cw_asm_label): Add support for ha16(x), hi16(x) and lo16(x). + * c-common.h (cw_get_identifier): New. + * c-parse.in (cw_identifier): Add support for '+', '-' and '.' in + C CW opcodes to allow for a less tightly coupled lexer. + (single_cw_asm_stmt): Likewise. + (cw_asm_operand): Add support for ha16(x)(r). + + * doc/extend.texi (Asm Blocks and Functions): Document memory + clobbers and instructions that take a memory operand. + +2004-12-06 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3893215 + Following FSF mainline patch fixes it. + +2004-11-11 Zdenek Dvorak <dvorakz@suse.cz> + + PR tree-optimization/17742 + * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle + MINUS_EXPR correctly. + +2004-12-03 Dale Johannesen <dalej@apple.com> + + Radar 3905019 + * opts.c (common_handle_option): Fix from mainline. + +2004-12-03 Stuart Hastings <stuart@apple.com> + + Radar 3855246 + * gcc/config/rs6000/rs6000.c (init_cumulative_args): Remove APPLE LOCAL. + * gcc/config/rs6000/rs6000.h (target_flags): Remove APPLE LOCAL. + (TARGET_OPTIONS): Add -mlong-branch as a synonym for -mlongcall. + +2004-12-03 Caroline Tice <ctice@apple.com> + Andrew Pinski <pinskia@physics.uc.edu> + + Radar 3469752 (Adding loops-to-memset optimization) + * Makefile.in (OBJS-common): Add tree-ssa-loo-memset.o to list + (tree-ssa-loop-memset.o): Add rule for making this. + * bitmap.h (bitmap_empty_p): New macro. + * common.opt (ftree-loop-memset): Add new flag for optimization. + * tree-flow.h (tree_ssa_memset): Add function declaration. + * tree-optimize.c (init_tree_optimization_passes): Add loops-to-memset + pass. + * tree-pass.h (pass_memset): Add extern declaration for loops-to-memset + pass. + * tree-ssa-loop.c (tree_ssa_loop_memset, gate_tree_ssa_loop_memset): New + functions. + (pass_memset): Define new pass. + * tree-ssa-loop-memset.c: New file. + * tree-vectorizer.c (vect_is_simple_iv_evolution): Remove static + forward declaration; make the function globally visible. + (vect_get_loop_niters): Likewise. + (vect_analyze_pointer_ref_access): Likewise. + * tree-vectorizer.h (vect_is_simple_iv_evolution): Add external function + declaration. + (vect_get_loop_niters): Likewise. + (vect_analyze_pointer_ref_access): Likewise. + +2004-12-02 Devang Patel <dpatel@apple.com> + + Radar 3855723 and 3886718 + + Backport from Mainline + 2004-12-02 Devang Patel <dpatel@apple.com> + * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -gfull and -gused. + * config/rs6000/darwin.h (CC1_SPEC): Do not handle -gfull and -gused. + * config/i386/darwin.h (CC1_SPEC): Same. + +2004-12-02 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3893215 - part 1 + * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi): + Added missing check for unknown evolution_of_loop. + (from FSF mainline). + +2004-11-30 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3893125 + * loop.c (loop_giv_reduce_benefit): Remove APPLE LOCAL + patch which caused regression in galaxy(VMX) of skidmarks. + +2004-11-24 Devang Patel <dpatel@apple.com> + + * gcc.h: APPLE LOCAL marker cleanup. + +2004-11-24 Devang Patel <dpatel@apple.com> + + Radar 3876218 + * gcc.c (process_command): Supply -v to linker. + +2004-11-23 Stan Shebs <shebs@apple.com> + + * config.gcc (powerpc-*-darwin*): Remove bringup conditional. + * mklibgcc.in: Don't try to make dylibs from static/kext + libgcc. + * config/t-slibgcc-darwin: Don't use SHLIB_MULTILIB. + +2004-11-23 Devang Patel <dpatel@apple.com> + + Radar 3886137 + * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add isysroot. + * config/darwin-c.c (darwin_register_frameworks): Use sysroot. + +2004-11-22 Devang Patel <dpatel@apple.com> + + Radar 3846092 + * doc/invoke.text: Remove outdated docs for -fscalar-evolutions and + -fall-data-deps. Document not disabling of -fstrict-aliasing, when + auto vectorization is used, in Apple GCC compiler. + * opts.c (decode_options): Disable -fstrict-aliasing only if -ftree-vectorize + is not used. + +2004-11-22 Dale Johannesen <dalej@apple.com> + + * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Conditionalize + properly and comment. + +2004-11-21 Dale Johannesen <dalej@apple.com> + + * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Define. + (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Remove dup definition. + +2004-11-18 Dale Johannese <dalej@apple.com> + + * lambda-code.c: cosmetic changes to match mainline. + +2004-11-17 Stuart Hastings <stuart@apple.com> + + Radar 3837835 + * cgraph.c: add "#include <function.h>". + (dump_cgraph_node) Add uses_vector bit to dump. + * cgraphunit.c:(altivec_infection, fndecl_uses_vector_p) New. + (record_call_1) Set uses_vector. + (cgraph_create_edges) Set uses_vector. + (cgraph_decide_inlining_of_small_functions, cgraph_decide_inlining, + cgraph_decide_inlining_incrementally) Check for altivec_infection. + * gcc/testsuite/lib/scantree.exp (diff-tree-dumps): + Expand globbing of 't??' dumpfile names to include 'ipa'. + +2004-11-16 Devang Patel <dpatel@apple.com> + + Merge stuff from autovect-branch. + + 2004-11-12 Devang Patel <dpatel@apple.com> + + * optabs.c (vector_compare_rtx): Use COMPARISON_CLASS_P. + + 2004-11-12 Devang Patel <dpatel@apple.com> + + Backport from Mainline. + + 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr> + + * tree-data-ref.c (analyze_subscript_affine_affine): Correctly + compute the first overlapping iterations. + + 2004-11-12 Devang Patel <dpatel@apple.com> + + * tree-data-ref.c (compute_subscript_distance): Make externally visible. + (build_class_dist_vector): Same. + * tree-data-ref.h (compute_subscript_distance): New external decl. + (build_class_dist_vector): Same. + * tree-vectorizer.c (loops_num): New variable. + (vect_build_dist_vector): New function. + (vect_analyze_data_ref_dependence): Use distance vector to determine + dependence. + (vect_analyze_data_ref_dependences): Remove local variable loop. + (vect_analyze_loop): Analyze operations before data dependences + (vectorize_loops): Remove local variable loops_num. + + 2004-11-12 Devang Patel <dpatel@apple.com> + + * tree-vectorizer.c (vectorizable_select): New function. + (vect_is_simple_cond): New function. + (vect_analyze_operations): Handle conditional expr. + * tree-vectorizer.h (stmt_vec_info_type): New member, select_vec_info_type. + +2004-11-16 Dale Johannesen <dalej@apple.com> + + * tree-ssa.c (flush_pending_stmts): New. + +2004-11-16 Dale Johannesen <dalej@apple.com> + + * config/rs6000/rs6000.c (rs6000_override_options): + Put -ftree-loop-linear into -fast. + +2004-11-16 Dale Johannesen <dalej@apple.com> + + * lambda-code.c: Make identical to mainline as of + Nov 11, plus Dan Berlin's patch for swim. + * tree-loop-linear.c: Make identical to mainline. + * tree-data-ref.c: Make identical to mainline as + of Nov 11. + * tree-optimize.c (init_tree_optimization_passes): + Make order of passes same as mainline. + * tree-ssa-loop-ivopts.c (try_add_cand_for): Roll in + Zdenek's patch for important candidates. + +2004-11-16 Dale Johannesen <dalej@apple.com> + + * fold-const.c (try_move_mult_to_index): New. + (fold): Use it (2 places). + +2004-11-16 Dale Johannesen <dalej@apple.com> + + * tree.c (build_low_bits_mask): New. + tree.h: Declare it. + tree-ssa-loop-niter.c (number_of_iterations_cond): Use it. + +2004-11-16 Devang Patel <dpatel@apple.com> + + Related to Radar 3837835. + * tree-cfg.c (ivu_gate, fndecl_uses_vector_p, identify_vector_use, + pass_identify_vector_use): Remove. + * tree-optimzie.c (init_tree_optimization_passes): Remove pass_identify_vector_use. + * tree-pass.h (pass_identify_vector_use): Remove extern decl. + +2004-11-16 Caroline Tice <ctice@apple.com> + + * varasm.c (assemble_start_function): Don't print out section label + when aligning cold section. + +2004-11-16 Dale Johannesen <dalej@apple.com> + + * dbxout.c (dbxout_source_file): Restore local patch + for hot/cold partitioning. + +2004-11-16 Dale Johannesen <dalej@apple.com> + + * calls.c (expand_call): Fix ICE building crafty. + +2004-11-15 Dale Johannesen <dalej@apple.com> + + * profile.c (compute_branch_probabilities): Roll in fix from mainline. + +2004-11-15 Dale Johannesen <dalej@apple.com> + + * tree-flow.h (stmt_bsi): Remove. + (basic_block bsi_insert_on_edge_immediate): Remove duplicate decl. + (tree_block_label): Remove name in prototype. + (add_referenced_tmp_var): Ditto. + (TDFA_USE_OPS): Parenthesize. + (TDFA_USE_VOPS): Parenthesize. + (flush_pending_stmts): New. + (tree_duplicate_loop_to_exit): Remove. + (update_lv_condition): Ditto. + (estimate_loop_size): Ditto. + (insert_edge_copies): Remove name in prototype. + (expr_invariant_in_loop_p): Ditto. + +2004-11-15 Dale Johannesen <dalej@apple.com> + + * c-decl.c (find_tree_with_code_1): Remove. + (find_tree_with_code): Ditto. + (find_pointer): Ditto. + (struct should_transpose_for_loops_t): Ditto. + (should_transpose_for_loops_1): Ditto. + (should_transpose_for_loops): Ditto. + (tree_contains_1): Ditto. + (tree_contains): Ditto. + (perform_loop_transpose): Ditto. + (loop_transpose): Ditto. + (finish_function): Don't call it. + * common.opt (-floop-transpose): Remove. + * flags.h (flag_loop_transpose): Remove. + * opts.c (OPT_floop_transpose): Remove. + * toplev.c (flag_loop_transpose): Remove. + * config/rs6000/rs6000.c (rs6000_override_options): Don't set it. + * doc/invoke.texi (-fast): Remove reference. + * testsuite/gcc.apple/loop-transpose-1.c: Remove. + +2004-11-15 Matt Austern <austern@apple.com> + + Radar 3878983 + * ginclude/tgmath.h (fdim) Use __TGMATH_REAL_2 macro. + (hypot) Likewise. + (remainder) Likewise. + (nexttoward) Use proper number of arguments for TGMATH_REAL_1_2. + +2004-11-11 Dale Johannesen <dalej@apple.com> + + Radar 3875337 + * tree-cfg.c (cleanup_control_expr_graph): Remove redundant + local patch from LNO. + (thread_jumps_from_bb): Remove wrong local patch from LNO; + make identical to mainline. + (thread_jumps): Make identical to mainline. + +2004-11-11 Stuart Hastings <stuart@apple.com> + + * i386.md (*movqi_1): Short-term fix for 3838108. + +2004-11-11 Stuart Hastings <stuart@apple.com> + + * tree.c (build_vector): Proper initialization for 'list' + +2004-11-10 Fariborz Jahanian <fjahanian@apple.com> + + * c-common.c (vector_constructor_from_expr): Remove replication + of missing initializer. + * tree.c (build_vector): Replicate missing initializer. + * cp/typeck.c (build_c_cast): Move building of vector constant + past checking for processing of template declaration. + +2004-11-08 Geoffrey Keating <geoffk@apple.com> + + * gcc.c: Improve local markers. + (process_command): Set __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ + rather than MAC_OS_X_VERSION_MIN_REQUIRED. + +2004-11-08 Devang Patel <dpatel@apple.com> + + Radar 3846514 + * tree-if-conv.c (clean_predicate_lists): Use loop header and latch + directly. + +2004-11-08 Ziemowit Laski <zlaski@apple.com> + + Radar 3853429 + * varasm.c (output_addressed_constants): For CONST_DECLs, + output the initializer if present. + * config/darwin.c (machopic_select_section): Ensure that + constant Objective-C strings and constant CFStrings get emitted + into correct sections. + +2004-11-05 Devang Patel <dpatel@apple.com> + + Radar 3853509. + * cp/parser.c (cp_parser_objc_method_prototype_list): Handle #pragma. + (cp_parser_objc_class_interface): Get protocol qualified type. + +2004-11-05 Stuart Hastings <stuart@apple.com> + + Radar 3848818 + * gcc/cfgcleanup.c(merge_memattrs): copied from FSF mainline. + +2004-11-04 Dale Johannesen <dalej@apple.com> + + * config/darwin.h (EXTRA_SECTION_FUNCTIONS): + Fix text_unlikely_section. + +2004-11-04 Dale Johannesen <dalej@apple.com> + + Radar 3759876 + * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Enable + indirect sibcalls. + * config/rs6000/rs6000.md (*sibcall_symbolic): Make them work. + (*sibcall_value_symbolic): Ditto. + +2004-11-04 Dale Johannesen <dalej@apple.com> + + * opts.c (decode_options): Use mainline-style loop opts. + +2004-11-04 Dale Johannesen <dalej@apple.com> + + * config/rs6000/rs6000.md (*save_fpregs_with_label_si): + Use any_parallel_operand to remove a warning. + * config/rs6000/darwin.md (*save_fpregs_with_label_di): Ditto. + (*save_vregs_di): Ditto. + (*restore_vregs_di): Ditto. + (*save_vregs_with_label_di): Ditto. + +2004-11-04 Devang Patel <dpatel@apple.com> + + Partial 3837835 fix. + * function.h (struct function): New member, uses_vector. + * tree-cfg.c (ivu_gate, fndecl_uses_vector_p, identify_vector_use, + pass_identify_vector_use): New. + * tree-optimzie.c (init_tree_optimization_passes): Add pass_identify_vector_use. + * tree-pass.h (pass_identify_vector_use): New extern decl. + +2004-11-04 Devang Patel <dpatel@apple.com> + + Back out 3837840 fix. + * c-opts.c (c_common_handle_option): Update APPLE LOCAL marker. + * flags.h (flag_inline_trees): Remove extern decl. + * toplev.c (process_optiosn): Do not disable inlining with -faltivec. + +2004-11-03 Ziemowit Laski <zlaski@apple.com> + + Radar 3863563 (fix from mainline) + * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove. + (c_types_compatible_p): Move function definition... + * c-objc-common.c (c_types_compatible_p): ...here. + * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from + c-lang.c. + +2004-11-02 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3857727 + * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Remove + setting of targetm.cast_expr_as_vector_init. + * config/rs6000/rs6000.c (rs6000_override_options): Set + targetm.cast_expr_as_vector_init. + +2004-11-02 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3846637 + * config/rs6000/rs6000.md: Remove condition for + HONOR_SIGNED_ZEROS from fnmsub generation. + +2004-11-01 Ziemowit Laski <zlaski@apple.com> + + Radar 2810013 (fix from mainline) + * c-common.h (objc_lookup_ivar): Add second parameter to + prototype. + * c-typeck.c (build_external_ref): After looking up symbol, + pass it to objc_lookup_ivar() to decide whether it or the + ivar should be used, rather than deciding the issue locally. + * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter, + which is simply returned in the non-ObjC case. + +2004-10-29 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3848842 + * cp/call.c (build_over_call): Don't change type of + the function pointer built by call to build_vfn_ref_using_vtable. + * testsuite/g++.dg/kext6.C: New test + +2004-10-27 Geoffrey Keating <geoffk@apple.com> + + * c-common.c (handle_weak_import_attribute): Delete. + (c_common_attribute_table): Remove 'weak_import'. + * c-decl.c (start_function): Remove local change for weak_import. + * dbxout.c (dbxout_source_file): Remove local change for + hot/cold partitioning, sync with FSF GCC. + * dmp-tree.c (print_decl): Remove local change for weak_import. + * idebug.c: Remove local change for weak_import. + * rtl.h (struct rtx_def): Remove local change for weak_import. + (SYMBOL_REF_WEAK_IMPORT): Delete. + * tree.h (DECL_WEAK_IMPORT): Delete. + (IDENTIFIER_WEAK_IMPORT): Delete. + (struct tree_decl): Delete weak_import_flag. + (enum attribute_flags): Delete ATTR_FLAG_FUNCTION_DEF. + * varasm.c (merge_weak): Remove local change for weak_import. + * config/darwin.c (machopic_output_indirection): Remove local change + for weak_import. + (darwin_set_section_for_var_p): Do nothing if symbol is weak. + * config/rs6000/rs6000.c (find_weak_imports): Delete. + (rs6000_assemble_integer): Remove local change for weak_import. + (local_label_unique_number): Delete. + (macho_branch_islands): Remove local change for weak_import. + +2004-10-26 Geoffrey Keating <geoffk@apple.com> + + Radar 3840704 + * c-opts.c (c_common_handle_option): Rename flag_altivec to + flag_disable_opts_for_faltivec. + * c.opt (faltivec): Likewise. + * toplev.c (process_options): Likewise, and update comment. + * config/rs6000/rs6000.c (expand_block_clear): Handle + flag_disable_opts_for_faltivec. + (expand_block_move): Likewise. + +2004-10-26 Devang Patel <dpatel@apple.com> + + Radar 3233789 + * dbxout.c (dbxout_init): Remove APPLE LOCAL patch that suppresses + SO stab address. + +2004-10-26 Devang Patel <dpatel@apple.com> + + Radar 3760592 + + Backport from mainline. + 2004-10-21 Dndrew Pinksi <pinskia@physics.uc.edu> + * c-opts.c (push_command_line_include): Use the current file + name instead of the main one. + +2004-10-26 Matt Austern <austern@apple.com> + + * ginclude/tgmath.h (fabs): Fix typo (complex abs is cabs, not cfabs) + +2004-10-22 Fariborz Jahanian <fjahanian@apple.com> + + * config/rs6000/darwin.md: Remove vecstore/vecload patterns + specific to 64-bit Darwin. + +2004-10-21 Andrew Pinski <pinskia@physics.uc.edu> + Ziemowit Laski <zlaski@apple.com> + + Radar 3845826 (includes PR objc/17923) + * tree.c (staticp): A CONST_DECL has static storage if either + TREE_STATIC or DECL_EXTERNAL is set. + * config/darwin.c (darwin_build_constant_cfstring): Build a global + CONST_DECL to hold each constructed CFString. + * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can + have null names. + +2004-10-21 Fariborz Jahanian <fjahanian@apple.com> + + * c-common.c (vector_constructor_from_expr): In building vector expressions, + fold no_expr of nanf into a cst_real expression tree. + +2004-10-21 Fariborz Jahanian <fjahanian@apple.com> + + * function.c (assign_parms): Iterate over all non-vector args first, + then over vector args. + +2004-10-21 Ziemowit Laski <zlaski@apple.com> + + Radar 3540965 + * c-common.c (flag_objc_call_cxx_cdtors): New variable. + * c-common.h (flag_objc_call_cxx_cdtors): New forward declaration. + * c-opts.c (c_common_handle_option): Process '-fobjc-call-cxx-cdtors' + option. + * c.opt (fobjc-call-cxx-cdtors): New option. + * doc/invoke.texi (fobjc-call-cxx-cdtors): Document. + +2004-10-19 Devang Patel <dpatel@apple.com> + + Radar 3837840 + * c-opts.c (c_common_handle_option): Update APPLE LOCAL marker. + * c.opt (faltivec): Same. + * toplev.c (process_options): Same. + * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): + Same. + + +2004-10-19 Devang Patel <dpatel@apple.com> + + Radar 3837840 + * c-opts.c (c_common_handle_option): Handle OPT_faltivec. + * c.opt (faltivec): New option. + * toplev.c (process_options): Disable inlining when -faltivec + is used. + * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): + Supply -faltivec to cc1* also. + +2004-10-19 Fariborz Jahanian <fjahanian@apple.com> + + * c-common.c (cw_asm_stmt): Set correct constraint for + vector arguments. + +2004-10-18 Ziemowit Laski <zlaski@apple.com> + + Radar 3832999 (fix from mainline) + * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative. + +2004-10-18 Devang Patel <dpatel@apple.com> + + Radar 3753408 + * Makefile.in (GTFILES): Remove APPLE LOCAL comments. + * target-def.h (TARGET_VECTOR_COMPARE_P, TARGET_VECTOR_COMPARE_FOR_P, + TARGET_VECTOR_COMPARE_STMT, TARGET_VECTOR_SELECT_P, + TARGET_VECTOR_SELECT_FOR_P, TARGET_VECTOR_SELECT_STMT): Remove #defines. + (TARGET_VECT): Remove vector select and compare members. + * target.h (struct gcc_target): Remove vector select and + compare members. + * tree-dfa.c (dump_immediate_uses_for): Do not print block number. + * tree-gimple.c (is_gimple_stmt): Handle COND_EXPR properly. + * tree-ssa-operands.c (add_vdef): Remove. + (build_ssa_operands): Remove local patch to handle COND_EXPR inside + MODIFY_EXPR case. + (get_expr_operands): Same. + * tree.c (get_array_base): Remove. + * config/rs6000/rs6000.c (rs6000_vector_compare_p, + rs6000_vector_compare_for_p, rs6000_vector_compare_stmt, + rs6000_vector_select_p, rs6000_vector_select_for_p, + rs6000_vector_select_stmt, get_vector_compare_for, + get_vector_select_for): Remove. + (TARGET_VECTOR_COMPARE_P, TARGET_VECTOR_COMPARE_FOR_P, + TARGET_VECTOR_COMPARE_STMT, TARGET_VECTOR_SELECT_FOR_P, + TARGET_VECTOR_SELECT_STMT): Remove #defines. + +2004-10-16 Dale Johannesen <dalej@apple.com> + + * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table. + +2004-10-15 Dale Johannesen <dalej@apple.com> + + * objcp/objcp-lang.c (tree_code_type): Fix merge omission. + +2004-10-15 Mike Stump FIXME + + merge + +2004-10-15 Stuart Hastings <stuart@apple.com> + + * gcc/simplify-rtx.c(simplify_relational_operation): copied from FSF mainline. + +2004-10-15 Stuart Hastings <stuart@apple.com> + + * gcc/c-common.c(print_cw_asm_operand): proper casting. + * gcc/expr.c(expand_expr_addr_expr): delete problematic assertions. + +2004-10-14 Robert Bowdidge <bowdidge@apple.com> + + * config/darwin-driver.c: Remove off-by-one error in QA_OVERIDE... + machinery. + +2004-10-15 Fariborz Jahanian <fjahanian@apple.com> + + Radar 3719208 + * stor-layout.c (update_alignment_for_field): Don't use + first-field alignment adjustment for union. + +2004-10-13 Ziemowit Laski <zlaski@apple.com> + + Radar 3677258 + * c-decl.c (struct lang_identifier): Move definition to c-tree.h. + * c-tree.h (struct lang_identifier): Moved here from c-decl.c; + add 'interface_value' field. + (C_SIZEOF_STRUCT_LANG_IDENTIFIER): Update to reflect increased size. + +2004-10-11 Caroline Tice <ctice@apple.com> + + * passes.c (rest_of_compilation): Move hot/cold partitioning to + occur after scheduling (and SMS), but still before register + allocation. + +2004-10-10 Dale Johannesen <dalej@apple.com> + + * alias.c (write_dependence_p): Refs to same FE object interfere. + +2004-09-29 Stan Shebs <shebs@apple.com> + + * config/darwin.h (REAL_LIBGCC_SPEC): Add non-shared libgcc case for + use during 64-bit bringup. + +2004-09-27 Robert Bowdidge <bowdidge@apple.com> + + * opts.c: Remove QA_OVERRIDE_GCC3_OPTIONS machinery. + * config/darwin-driver.c: Reimplement QA_OVERRIDE_GCC3_OPTIONS in + driver-driver. + +2004-09-27 Dale Johannesen <dalej@apple.com> + + * tree-ssa-copyrename.c (copy_rename_partition_coalesce): + Roll in fix from mainline. + +2004-09-26 Caroline Tice <ctice@apple.com> + Dale Johannesen <dalej@apple.com> + + * value-prof.c (insn_prefetch_values_to_profile): + Don't instrument clobbers. + +2004-09-26 Dale Johannesen <dalej@apple.com> + + * gcc.c (default_compilers): Handle -fast, -fastcp same as -fast. + (process_command): Make -fastf, -fastcp imply -combine. + * tree-ssa-loop-ivopts.c (find_interesting_uses_stmt): Roll in + fix from mainline. + * print-rtl.c (print_rtx): Print REG_NOTES right (from mainline). + +2004-09-24 Dale Johannesen <dalej@apple.com> + + Radar 3811274 + PR 17625 + * loop-doloop.c (doloop-modify): roll in fix from FSF. + +2004-09-23 Stan Shebs <shebs@apple.com> + + * Makefile.in: Use --print-multi-lib to collect + compiled-in multilibs. + * config.gcc: Add in a Darwin 8.x makefile fragment. + * fixinc.in: Bandaid for a missing __ppc64__ in limits.h + * config/rs6000/t-darwin8: New file, adds -m64 multilib. + +2004-09-23 Devang Patel <dpatel@apple.com> + + Radar 3765210. + * gcc.c (main): Handle -E when combine_flag is set. + +2004-09-22 Stan Shebs <shebs@apple.com> + + * config/darwin.h (STARTFILE_SPEC): Don't link in crt2.o if -m64. + +2003-09-21 Matt Austern <austern@apple.com> + + Radar 3807942, backported from FSF mainline + * config/darwin.c (darwin_make_decl_one_only) + Allow coalesced symbol to appear in static archive's table of contents + +2004-09-17 Devang Patel <dpatel@apple.com> + + * gcc.c: Use .gch extension instead of .pch. + +2004-09-13 Dale Johannesen <dalej@apple.com> + + Radar 3793575 + * c-decl.c (start_decl): Fix from mainline (PR 17408). + +2004-09-13 Andrew Pinski <apinski@apple.com> + + Part of radar 3753405 and all of 3767339 + * Makefile.in (c-parse.y): Remove ifcwasm as it is no longer used. + * objc/Makefile.in (objc/objc-parse.y): Likewise. + * c-parse.in: Remove all of @@ifcwasm. Remove all of the MERGE FIXME + comments as they are fixed. + (cw_asm_expr_no_commas, cw_asm_unary_expr, cw_asm_primary, + cw_asm_operand): Change type to be exprtype. + (cw_asm_compstmt_nostart): Remove type. + (single_cw_asm_stmt): For cw_asm_operand use .value for the third + argument of cw_asm_entry. + (cw_asm_compstmt_start): Remove increment of compstmt_count. + Call c_begin_compound_stmt always and pass true. + (cw_asm_compstmt_nostart): Just set cw_asm_block to zero. + (cw_asm_compstmt): Call c_end_compound_stmt. + (cw_nonnull_asm_operands): use .value for the exprtype. + (cw_asm_operand): Set .value to cw_asm_build_register_offset + and .original_code to ERROR_MARK. + (stmt_nocomp): For cw_asm_compstmt and cw_asm_stmt, call + c_finish_expr_stmt. + (cw_asm_expr_no_commas): Remove extraneous curly braces. + Update return exprtype instead of just a tree. + (cw_asm_unary_expr): Likewise. + (cw_asm_primary): Likewise. + * c-typeck.c (cw_asm_c_build_component_ref): Change build2 to build3 and + add NULL as the last argument for COMPONENT_REF. + +2004-09-10 Dale Johannesen <dalej@apple.com> + + * config/rs6000/power4.md: Increase store latency (mainline). + +2004-09-08 Stan Shebs <shebs@apple.com> + + * config/rs6000/darwin-worldsave.asm: Remove, no longer used. + +2004-09-07 Caroline Tice <ctice@apple.com> + + * cfgrtl.c (rtl_verify_flow_info_1): Add new edge flag, + EDGE_CROSSING, to flags test case. + +2004-08-31 Devang Patel <dpatel@apple.com> + + * config/darwin-driver.c (get_arch_name): Replace abort() with + fatal("message"). + (get_driver_name): Same. + +2004-08-30 Fariborz Jahanian <fjahanian@apple.com> + + * c-common.c (vector_constructor_from_expr): Adapt to new representation + of comma-expression in c. + +2004-08-29 Andrew Pinski <apinski@apple.com> + + * loop-doloop.c (add_test): Take the mainline change. + * loop-invariant.c (find_exits, find_invariants_bb): Take the + mainline change, use CALL_P. + * tree-alias-common.c (HAVE_BANSHEE): Take the mainline change. + * tree-into-ssa.c (compute_global_livein): Take the mainline + reformatting. + * tree-pretty-print.c: Remove include for tree-chrec.h as it is + there later on. + * tree-ssa-loop-ivopts.c (zero_p): Make static. + * tree-ssa-loop-niter.c (zero_p): Add back, take the mainline change. + (number_of_iterations_exit): Take the mainline change for getting + a boolean false. + (MAX_ITERATIONS_TO_TRACK): Take the mainline change as it is now + configurable. + (struct nb_iter_bound): Take the mainline comment changes. + * tree-ssa-loop-prefetch.c (zero_p): Add to minimize changes + from the mainline. + * tree-ssa-loop.c (gate_loop): Take the mainline changes as we + want the gate so we can turn them on and off easier. + * tree.h (struct tree_phi_node, rewritten): Take the mainline change + as there are no other integer fields in this struct. + (build_vector_type): Remove duplicated prototype. + (zero_p): Remove prototype. + + * timevar.c (ppc_intrinsic_time): Correct definition and + make static. Cast __mftbu to unsigned. + +2004-08-28 Andrew Pinski <apinski@apple.com> + + * config.in: Regenerate. + +2004-08-23 Richard Henderson <rth@redhat.com> + Andrew Pinski <apinski@apple.com> + + * gimplify.c (gimplify_array_ref_to_plus): Delete. + (gimplify_addr_expr): Do not call gimplify_array_ref_to_plus + for ARRAY_REF. + + * config/rs6000/rs6000.c (altivec_expand_builtin): Go passed + ARRAY_REF also to get to the STRING_CST. + +2004-08-24 Stan Shebs <shebs@apple.com> + + * Makefile.in (libgcc.mk): Add ppc64 and ppc64_static libraries. + (libgcc.a): Move libraries so they will be found in testing. + * config/darwin.h (REAL_LIBGCC_SPEC): Add -m64 cases. + * config/darwin7.h (LIB_SPEC): Add -m64 -static case. + + * calls.c (emit_call_1): Use Pmode instead of SImode in Apple local + indirect call code. + (expand_call): Likewise. + +2004-08-23 Stan Shebs <shebs@apple.com> + + * config/rs6000/rs6000.c (rs6000_emit_prologue): Add 64-bit + cases to optimizations for FP save and picbase setup. + (rs6000_emit_epilogue): Adjust the LR save offset to be correct + for 64-bit frames. + +2004-08-22 Stan Shebs <shebs@apple.com> + + * config/darwin-driver.c (arch_config): Add ppc64. + (add_arch_options): Similarly. + +2004-08-22 Andrew Pinski <apinski@apple.com> + + PR c/15262 + * c-typeck.c (build_unary_op): Use &a.b if the foldded lowered + expression is not constant. + (c_finish_return): Do not go through INDIRECT_REF when looking + for the inner expression of an ADDR_EXPR for warning about. + + PR tree-opt/17138 + * tree-ssa-loop-ivopts.c (peel_address): Handle REALPART_EXPR + and IMAGPART_EXPR. + +2004-08-20 Stan Shebs <shebs@apple.com> + + * config/rs6000/darwin.h (DARWIN_ARCH_LD_SPEC): Pass -arch ppc64 + to linker if -m64. + (DARWIN_ARCH_ASM_SPEC): Similarly. + +2004-08-20 Dale Johannesen <dalej@apple.com> + + * config/rs6000/rs6000.c (rs6000_rtx_costs): Fix from mainline. + +2004-08-19 Dale Johannesen <dalej@apple.com> + + * c-decl.c (implicitly_declare): Reduce error to warning when + disable_typechecking_for_spec_flag is on. + +2004-08-18 Ziemowit Laski <zlaski@apple.com> + + Radar 3753413 + * config/darwin.c (darwin_build_constant_cfstring): Strip NOP_EXPRs + and dereference string literal argument; mark the ADDR_EXPR of + each constant CFString TREE_CONSTANT to squash initializer warnings. + +2004-08-18 Devang Patel <dpatel@apple.com> + + * config/darwin-driver.c (verbose_flag): New. + (do_lipo): Interpret -v. + (main): Set verbose_flag. + +2004-08-18 Dale Johannesen <dalej@apple.com> + + * tree-cfg.c (tree_block_ends_with_call_p): Fix comments. + (tree_block_ends_with_condjump_p): Ditto. + +2004-08-18 Matthew Sachs <msachs@apple.com> + + * Merge from mainline. + +2004-08-17 Devang Patel <dpatel@apple.com> + + * config/darwin-driver.c (main): Do not handle -x separately. + +2004-08-16 Robert Bowdidge <bowdidge@apple.com> + + * Add -mdynamic-no-pic to Darwin-specific options + +2004-08-16 Caroline Tice <ctice@apple.com> + + Add hot/cold partitioning update that was accepted in FSF Mainline. + * varasm.c (text_section): Remove alignment statement. + (assemble_start_function): Remove APPLE LOCAL markers from code + added to FSF mainline; Add code to properly align cold section at + start of function. + +2004-08-16 Devang Patel <dpatel@apple.com> + + Merge from mainlne. + 2004-08-16 Devang Patel <dpatel@apple.com> + + * c-common.c (handle_used_attribute): Set DECL_PRESERVE_P. + * print-tree.c (print_node): Print DECL_PRESERVE_P. + * target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define. + (TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED + * target.h (struct gcc_target): New member, mark_decl_preserved. + * hooks.c (hook_void_charptr): Rename to ... + (hook_void_constcharptr): ... new name. + * hooks.h (hook_void_charptr): Rename to .. + (hook_void_constcharptr): ... new name. + * tree.h (DECL_PRESERVE_P): New #define. + (struct tree_decl): New member, preserve_flag. + * varasm.c (assemble_start_function): Mark decl preserved. + (assemble_variable): Same. + * darwin.c (darwin_mark_decl_preserved): New function. + * darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define. + * darwin-protos.h (darwin_mark_decl_preserved): New decl. + * doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document. + +2004-08-13 Matt Austern <austern@apple.com> + + Radar 2872232 + * ginclude/tgmath.h: New file. + * Makefile.in: Add tgmath.h to list of installed headers. + +2004-08-13 Devang Patel <dpatel@apple.com> + + Radar 3729261. Reviewed by Dale. + * dbxout.c (get_lang_number): New. + (dbxout_init): Include lang number in N_SO stab. + * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN, + N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define. + +2004-08-13 Devang Patel <dpatel@apple.com> + + Merge from mainline. Radar 3739309. + 2004-08-11 Devang Patel <dpatel@apple.com> + + * dbxout.c (dbxout_begin_prologue): New function. + (dbx_debug_hooks): Use new begin prologue hook. + (dbxout_function_end): Emit N_ENSYM. + * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs. + +2004-08-13 Devang Patel <dpatel@apple.com> + + Merge from mainline. Radar 3739302. + 2004-08-10 Devang Patel <dpatel@apple.com> + + * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip + and -no_dead_strip_inits_and_terms. + (LINK_SPEC): Same. + * doc/invoke.text (Darwin Options): Document -dead_strip and + -no_dead_strip_inits_and_terms. + +2004-08-12 Stan Shebs <shebs@apple.com> + + Basic support for 64-bit Darwin. + * config/darwin.c (macho_indirect_data_reference): Add DImode case. + (machopic_legitimize_pic_address): Similarly, plus use Pmode + instead of SImode. + * config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit. + (TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro. + (SUBTARGET_SWITCHES): Add -m32 and -m64 flags. + (SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64. + (PROCESSOR_DEFAULT64): Define. + * config/rs6000/darwin.md: New file, patterns specific to 64-bit + Darwin. + * config/rs6000/rs6000.md: Include darwin.md. + (builtin_setjmp_receiver): Add DImode case. + * config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for + Darwin. + (TARGET_ASM_ALIGNED_DI_OP): Ditto. + (rs6000_emit_move): Add DImode case to Darwin bits. + (machopic_output_stub): Use .quad if 64-bit. + * invoke.texi: Document -m32 and -m64. + +2004-08-12 Dale Johannesen <dalej@apple.com> + + * c-decl.c (diagnose_mismatched_decls): Improve + -fdisable-typechecking-for-spec. + +2004-08-12 Dale Johannesen <dalej@apple.com> + + * gcc.c (default_compilers): Handle -fast same as -combine. + (process_command): Make -fast imply -combine. + * tree-scalar-evolution.c (number_of_iterations_in_loop): + Don't compute iteration count for multiple-exit loops. + * config/rs6000/rs6000.c (rs6000_rtx_costs): Replace from mainline. + +2004-08-10 Devang Patel <dpatel@apple.com> + + Remove Symbol Separation. + Radar 3555440. Reviewed by Mike Stump. + * c-common.c (cb_restore_write_symbols, cb_clear_write_symbols, + cb_start_symbol_repository, cb_end_symbol_repository, + cb_is_builtin_identifier). Remove. + (debug.h): Do not include. + * c-common.h (dbg_dir): Remove. + (dbg_ss_init, c_common_write_context, cb_clear_write_sybols, + cb_restor_write_symbols, cb_start_symbol_repository, c_valid_cinfo, + cb_end_symbol_repository, cb_is_builtin_identifier): Remove extern + decls. + * c-lex.c (init_c_lex): Do not set up symbol separation call backs. + (c_common_write_context): Remove. + * c-objc-common.c (c_objc_common_finish_file): Do not write context. + * c-opts.c (dbg_dir): Remove. + (c_common_handle_option): Remove symbol separation option handling. + (c_common_parse_file): Do not initialize symbol repository. + * c.opt (Winvalid-sr, fsave-repository=): Remove. + * dbxout.c (dbxout_restore_write_symbols, dbxout_clear_write_symbols, + dbxout_start_symbol_repository, dbxout_end_symbol_repository) Remove. + (dbx_debug_h): Remove symbol separation hoooks. + (xcoff_debug): Same. + * debug.c (do_nothing_): Remove symbol separation hooks. + * debug.h (gcc_debug_hooks): Same. + * dwarf2out.c (dwarf2_debug): Same. + * flags.h (orig_write_symbols, flag_grepository): Same. + * gcc.c (pch): Remove fsave-repository support. + (cc1_options): Same. + (asm_options): Same. + (default_compilers): Same. + (option_map): Same. + (dbg_ss): Remove. + (static_specs): Remove dbg_ss. + * opts.c (orig_write_symbols, flag_grepository): Remove. + (set_debug_level): Remove symbol separation support. + * doc/invoke.texi: Remove symbol separation documentation. + +2004-08-09 Geoffrey Keating <geoffk@apple.com> + + * ginclude/stdarg.h: Remove APPLE LOCAL change. + * ginclude/varargs.h: Likewise. + +2004-08-08 Dale Johannesen <dalej@apple.com> + + * c-common.c (c_common_get_alias_set): Fixes from mainline. + * toplev.c: Ditto. + * tree.h: Ditto. + * coverage.c (tree_coverage_counter_ref): Ditto. + * tree-cfg.c (tree_block_ends_will_call_p): Ditto. + (tree_block_ends_with_condjump_p): Ditto. + +2004-08-08 Andrew Pinski <apinski@apple.com> + + * c-objc-common.c (c_objc_common_init): Remove APPLE LOCAL for setting -gused + by default as it is handled in CC1_SPECs now. + * opts.c (set_debug_level): Remove the handling of -gused and -gfull as they + are already handled in CC1_SPECs. + * config/rs6000/darwin.h (CC1_SPEC): Change the APPLE LOCAL tag to be what is + really local now. + +2004-08-06 Dale Johannesen <dalej@apple.com> + + * c-typeck.c (tagged_types_tu_compatible_p): Fix from mainline. + +2004-08-06 Andrew Pinski <apinski@apple.com> + + * config/darwin.h: Fix misplaced #endif which came in via the merge. + +2004-08-04 Fariborz Jahanian <fjahanian@apple.com> + + c-common.c (vector_constructor_from_expr): Treat all constant + vector expression tree as a constant tree. + +2004-08-03 Stan Shebs <shebs@apple.com> + + Support for CodeWarrior-style assembly language blocks and + functions. Radar 3368707. + + * c.opt (-fasm-blocks): New option. + * c-common.h (enum cw_asm_states): New enum, state values. + * c-tree.h: Declare some functions. + * c-common.c (flag_cw_asm_blocks): New flag. + (cw_asm_states, cw_asm_in_decl, cw_asm_block, cw_asm_at_bol, + cw_asm_in_operands, cw_asm_labelno, cw_asm_buffer, + cw_asm_operands, cw_asm_labels, cw_asm_labels_uniq): New globals. + (cw_asm_default_function_conversion, cw_asm_stmt, + cw_asm_field_offset, cw_asm_field_offset, print_cw_asm_operand, + cw_asm_get_register_var, cw_asm_reg_name, cw_asm_label, + get_atsign_identifier, clear_cw_asm_labels, get_cw_asm_label, + cw_asm_build_register_offset, cw_asm_entry): New functions. + c-decl.c: (grokdeclarator): Recognize asm keyword, set flag + on function decl if seen. + (start_function): Change asm state to expect local decls. + (lookup_struct_or_union_tag): New function. + c-lex.c (cw_asm_saved_token, c_lex_depth): New globals. + (c_lex_with_flags): Add state machine to return BOL and EOL + tokens at appropriate moments, return CPP_ATSIGN as its own + token if in asm block. + c-opts.c (c_common_handle_option): Recognize -fasm-blocks. + c-parse.in: Add rules for parsing CW asm blocks. + (CW_ASM_KEYWORD, CW_ASM_BOL, CW_ASM_EOL): New tokens. + (cw_asm_expr_no_commas, cw_asm_unary_expr, cw_asm_primary, + cw_asm_operands, cw_nonnull_asm_operands, cw_asm_operand, cw_asm_stmt, + single_cw_asm_stmt, cw_asm_compstmt, cw_asm_compstmt_start, + cw_asm_compstmt_nostart): New nonterminals. + (lineno_decl): Flag no longer in decls part. + (scspec): Add CW_ASM_KEYWORD. + (stmt): Add cw_asm_compstmt and cw_asm_stmt alternatives. + (yylexname): Detect asm functions and return CW_ASM_KEYWORD. + (_yylex): Return '@' as token if CW asm, return BOL/EOL. + c-typeck.c (build_external_ref): Handle asm register names + and labels specially. + (cw_asm_typename_or_reserved, cw_asm_c_build_component_ref): + New functions. + + * function.h (struct function): New fields cw_asm_function, + cw_asm_noreturn, cw_asm_frame_size. + * tree.h (DECL_CW_ASM_FUNCTION, DECL_CW_ASM_NORETURN, + DECL_CW_ASM_FRAME_SIZE): New macros. + (struct tree_decl): New fields cw_asm_function_flag, + cw_asm_noreturn_flag, cw_asm_frame_size. + * config/darwin.h (CW_ASM_SPECIAL_LABEL): Define. + * config/darwin-protos.h (darwin_cw_asm_special_label): Declare. + * config/darwin.c (darwin_cw_asm_special_label): New function. + * rs6000/rs6000-protos.h (rs6000_cw_asm_register_name): Declare. + * rs6000/rs6000.c (rs6000_cw_asm_register_name): New function. + * rs6000/rs6000.h (CW_ASM_REGISTER_NAME): Define. + * scan-decls.c (flag_cw_asm_blocks, etc): Dummy definitions. + + * doc/extend.texi, doc/invoke.texi: Document. + +2004-08-01 Geoffrey Keating <geoffk@apple.com> + + * config/rs6000/rs6000.c (rs6000_split_multireg_move): Just abort + if trying to *store* to a non-offsettable address. + * config/rs6000/rs6000.md (movtf_internal): Don't move GPRs to + a nonoffsettable address. + (movdi_internal32): Don't move GPRs to a nonoffsettable address. + Clean up. + (movti_string): Don't move GPRs to a nonoffsettable address. + (movti_ppc64): Don't move GPRs to a nonoffsettable address. Clean up. + +2004-08-01 Devang Patel <dpatel@apple.com> + + Re-implement -fwritable-strings support. + Radar : 3699482 + + * c-common.c (fix_string_type): Check flag_writable_strings. + (fix_string_type): Likewise. + * c-opts.c (set_std_c89): Initialize flag_writable_strings. + (set_std_c99): Likewise. + * common.opt (fwritable-strings): Add. + * flags.h: Add the external declaration of + flag_writable_strings. + * opts.c (common_handle_option) <OPT_fwritable_strings>: + Add. + * toplev.c (flag_writable_strings): Add. + (f_options): Add an entry for writable-strings. + * varasm.c (const_hash_1) <STRING_CST>: Check + flag_writable_strings. + (compare_constant) <STRING_CST>: Likewise. + (build_constant_desc): Likewise. + * config/darwin.c (machopic_select_section): Likewise. + * doc/invoke.texi (-fwritable-strings): Add. + (-fno-const-strings): Document -fwritable-strings. + * doc/trouble.texi: Document -fwritable-strings. + +2004-08-01 Geoffrey Keating <geoffk@apple.com> + + * c-common.c (warn_long_double): Remove. + (warn_about_long_double): Remove. + * c-common.h (warn_long_double): Remove. + (warn_about_long_double): Remove. + * c-decl.c (grokdeclarator): Don't call warn_long_double. + * c-opts.c (c_common_handle_option): Remove case for OPT_Wlong_double. + * doc/invoke.texi: Don't document -Wlong-double. + +2004-07-30 Geoffrey Keating <geoffk@apple.com> + Fariborz Jahanian <fjahanian@apple.com> + + * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Permit + non-offsettable addresses even for DImode. + (rs6000_split_multireg_move): Cope with non-offsettable addresses + being moved into multiple GPRs. + + * config/rs6000/rs6000.c (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Default + to 64. + (rs6000_override_options): Use RS6000_DEFAULT_LONG_DOUBLE_SIZE. + * config/rs6000/darwin.h (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define + to 128. + * config/rs6000/darwin-ldouble.c (isless): New macro. + (inf): New macro. + (nonfinite): New macro. + (FPKINF): Delete. + (_xlqadd): Completely rewrite. + (_xlqmul): Correct overflow handling. + (_xlqdiv): Correct overflow handling. + * config/rs6000/darwin-ldouble-format: New file. + +2004-07-30 Matt Austern <austern@apple.com> + + * config/darwin-c.c (darwin_pragma_call_on_load): Deprecate. + (darwin_pragma_call_on_unload): Likewise. + +2004-07-15 Devang Patel <dpatel@apple.com> + + * tree-if-conv.c: Add brief description at the beginning. + (is_appropriate_for_if_conv): Rename to .. + (if_convertable_loop_p): ... new name. + (bb_with_exit_edge): Rename to .. + (bb_with_exit_edge_p): ... new name. + (make_cond_modify_expr): Update comment before function body. + (replace_phi_with_cond_modify_expr): Same. + (tree_if_convert_stmt): Same. Use new fn name, bb_with_exit_edge_p. + (if_convertable_loop_p): New function name. Remove some dead code. + (collapse_blocks): Update comment before function body. Format code. + Use bb_with_exit_edge_p. + (tree_if_conversion): Move this function body at the end of file. + (handle_siblint_pattern): Update comment before function body. + (fold_sibling_stmts): Same. Update dump info. + +2004-07-14 Devang Patel <dpatel@apple.com> + + * target.h (gcc_target): Additional parameter for + support_vector_compare_for_p. + * tree-if-conv.c (handle_sibling_pattern): New. + (fold_sibling_stmts): New. + (make_cond_modify_expr): Dump debugging info. + (tree_if_convert_stmt): Same. + (is_appropriate_for_if_conv): Remove filters that eliminated + loops becase of memory tags and difficult dominance relation. + (collapse_blocks): Handle memory tags. + (tree_if_conversion): Optimize sibling statements. + * tree-vectorizer.c (vect_init_vector): Additional parameter. + (vect_get_vec_def_for_operand): Supply vectype to vect_init_vector(). + (vect_init_vecotr): Use input parameter vectype. + (vect_transform_compare): Fix type in dump info. + (vect_transform_select): Handle ARRAY_REF as scalar dest. Handle + NOP_EXPR as an operand. + (vect_is_supportable_compare): Use operand's type to decide + second vector type for support_vector_compare_for_p(). + (vect_is_supportable_select): Fix typo. Allow SSA_NAME as 2nd + operand. + (exist_non_indexing_operands_for_use_p): Handle conditional modify + expr. + config/rs6000/rs6000.c (rs6000_vector_compare_for_p): New parameter. + (get_vector_compare_for): New parameter. Use it to find appropriate + builtin. + +2004-06-26 Fariborz Jahanian <fjahanian@apple.com> + + * gcc.c: Don't use -fpredictive-compilation when + -fpreprocessed appears on command line. + +2004-07-01 Devang Patel <dpatel@apple.com> + + * tree-if-conv.c (mark_vdefs_vuses_for_rename): New function. + (make_ifcvt_temp_variable): Mark vdefs and vuses for renaming. + +2004-07-01 Devang Patel <dpatel@apple.com> + + Radar 3236762 + * config/darwin-driver.c (do_lipo): Do not supply -arch <arch_name> + to lipo. + +2004-06-29 Andrew Pinski <apinski@apple.com> + + * c-decl.c (perform_loop_transpose): Save chain of right_before_inner_loop + and set to NULL. Restore the chain before rejecting the loop. + +2004-06-29 Dorit Naishlos <dorit@il.ibm.com> + + * tree-vectorizer.c (vect_create_data_ref) INDIRECT_REF check moved to + analysis. Redundant checks removed. + (vect_analyze_data_refs): Make sure we have a mem_tag. + (vect_transform_loop): Make sure that we have a preheader bb. + (vect_init_vector): Insert on preheader edge instead of using bsi. + (vect_finish_stmt_generation_in_preheader): Now that a preheader bb is + created before vectorizing stmts, we do not expect a new bb to be + created (thereofore, abort instead of add_bb_to_loop). + * config/rs6000/rs6000.c (rs6000_build_vmul_uch): Likewise. + (rs6000_build_vector_init): Likewise. Also replace mark_call_clobbered + with direct setting of DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL. + +2004-06-28 Devang Patel <dpatel@apple.com> + + * Makefile.in (tree-ssa-loop-manip.o): Depend on tree-scalar-evolution.h + * tree-if-conv.c (collapse_blocks): Use release_phi_node instead of + remove_phie_node. + * tree-ssaname.c (make_ssa_name): Re-enable free_ssanames. + (release_ssa_name): Same. + * tree-scalar-evolution.c (scev_reset): Check current_loops and + scalar_evolution_info. + * tree-ssa-loop-manip.c (tree-scalar-evolution.h): Include. + (tree_duplicate_loop_to_header_edge): Call scev_reset(). + +2004-06-28 Devang Patel <dpatel@apple.com> + + * tree-if-conv.c (make_ifcvt_temp_variable): Fix formatting. + +2004-06-28 Devang Patel <dpatel@apple.com> + + * tree-if-conv.c (make_ifcvt_temp_variable): Add new parameter for + original stmt. Update new statement's vuse approritatly based on + original stmt. + (make_cond_modify_expr): Supply current statement as additional + parameter to make_ifcvt_temp_variable call. + (tree_if_convert_stmt): Same. + (replace_phi_with_cond_modify_expr): Update vuse and vdefs. + (is_appropriate_for_if_conv): Lift, first phi node needs to be constant + node, restriction. + * tree-ssa-operands.c (add_vdef): New function. + * tree-ssa-operands.h (add_vdef): Same. + +2004-06-25 Mike Stump <mrs@apple.com> + + * objcp/Make-lang.in (objcp/objcp-parse.y): Update to use + move-if-change from top directory. + +2004-06-25 Stuart Hastings <stuart@apple.com> + + Radar 3680191 + * gcc/tree-nested.c: Cast STACK_BOUNDARY for portability. + * gcc/config/i386/i386.c (output_pic_addr_const): Stubify optimized symbols. + * gcc/target-def.h: (TARGET_BECT_BUILD_VECTOR_INIT) Initialize correctly. + +2004-06-25 Dale Johannesen <dalej@apple.com> + + * objc/Make-lang.in: use $(srcdir)/../move-if-change. + +2004-06-25 Dale Johannesen <dalej@apple.com> + + * Makefile.in: replace $(SHELL) ${srcdir}/mkinstalldirs + with $(mkinstalldirs) throughout. + +2004-06-25 Stuart Hastings <stuart@apple.com + + Radar 3690727 + * gcc/config/rs6000/rs6000.md: Add missing APPLE LOCAL markers. + * gcc/config/t-darwin.h: Ditto. + * gcc/ChangeLog.apple-ppc: Minor formatting cleanup. + +2004-06-24 Dale Johannesen <dalej@apple.com> + + Radar #: 3696823, 3673318, 3672998 + Roll in changes from mainline: + * config/rs6000/rs6000.c (legitimate_offset_address_p): Make + global, rename rs6000_legitimate_offset_address_p. + (rs6000_legitimate_address_p): Adjust calls to it. + (lmw_operation): Ditto. + (stmw_operation): Ditto. + * config/rs6000/rs6000-protos.h: Declare it. + * config/rs6000/rs6000.md (*movdf_hardfloat32): Use it + instead of offsettable_memref_p. + * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow + [reg+reg] mode for TFmode memory accesses. + (rs6000_eliminate_indexed_memrefs): New. + (rs6000_emit_move): Call preceding for TImode and TFmode. + +2004-06-24 Andrew Pinski <apinski@apple.com> + + Radar #: 3699721 + * config/darwin.c (machopic_indirect_data_reference): Copy + the SYMBOL_REF_DECL from the original RTX for the new + non-lazy pointer RTX. + +2004-06-24 Ayal Zaks <zaks@il.ibm.com> + + * target-def.h (TARGET_VECT_BUILD_BUILTIN_LVSR): New macro. + * target.h (build_builtin_lvsr): New function. + * tree-vectorizer.c (vect_create_index_for_array_ref): Add option + to only calculate init_val without creating the iv. + (vect_create_data_ref): Deal with unknown alignment; allow creating + data refs for initial access only. + (vect_transform_store): Call vect_create_data_ref accordingly. + (vect_finish_stmt_generation_in_preheader): New function. + (vect_finish_stmt_generation): Need to optionally bump bsi again. + (vect_transform_load): Replace call to lvsl by a call to lvsr(16-a) + in preheader. Move load of msq out to preheader. Removed TREE_INVARIANT. + (vect_analyze_data_refs_alignment): Allow unknown aligned loads. + * rs6000.c (rs6000_build_builtin_lvsr): New function. + (rs6000_support_misaligned_vloads, rs6000_permute_misaligned_vloads): + Check if TARGET_ALTIVEC. + (get_vector_init_fns_for_type): Initialize lve_fn, splt_fn vars. + +2004-06-22 Andrew Pinski <apinski@apple.com> + + Radar #: 3661615, 3623788 + * c-decl.c (perform_loop_transpose): Do not + change TREE_CHAIN (right_before_inner_loop) + until after we know we are going to do the + transformation. + + * c-decl.c (perform_loop_transpose): Fix formatting and cleanup. + +2004-06-22 Andrew Pinski <apinski@apple.com> + + Radar #: 3701874 + * c-decl.c (push_file_scope): Return early if we already + have a file scope. + +2004-06-22 Devang Patel <dpatel@apple.com> + + PR 16105 + * tree-vectorizer.c (vect_analyze_operations): Type of MODIFY_EXPR is + not reliable. Use LHS's type. + +2004-06-21 Dorit Naishlos <DORIT@il.ibm.com> + + * tree.def (MULT_UCH_EXPR): New tree code. + * tree-vectorizer.h (stmt_vec_info): New fields part_of_pattern, + related_stmt, v.vect_target_hook_for_pattern, and v.vectorized_stmt. + (STMT_VINFO_IN_PATTERN_P): New macro. + (STMT_VINFO_VEC_HOOK): New macro. + (STMT_VINFO_RELATED_STMT): New macro. + * tree-vectorizer.c (vect_pattern_recog): New function. + (vect_recog_mul_uch_to_uch): New function. + (vect_recog_mul_uch_to_uch1): New function. + (new_stmt_vec_info): Initialize new fields in stmt_vec_info. + (vect_transform_op): Call target hook recorded in STMT_VINFO_VEC_HOOK. + (vect_is_supportable_op): Use new field STMT_VINFO_VEC_HOOK to record + target support for the "mul_uch" pattern. + (vect_mark_relevant): Don't mark stmts involved in a pattern as + relevant. + (vect_mark_stmts_to_be_vectorized): Likewise. + (vect_create_data_ref): Fix alias-sets bug. + (vect_get_vec_def_for_operand): Call new hook support_vector_init_p. + * target.h (support_vmul_uch_p): New entry for target hook. + (build_vmul_uch): New entry for target hook. + (support_vector_init_p): New entry for target hook. + (build_vector_init): New entry for target hook. + * target-def.h (TARGET_VECT_SUPPORT_VMUL_UCH_P): New target hook. + (TARGET_VECT_BUILD_VMUL_UCH): New target hook. + (TARGET_VECT_SUPPORT_VECTOR_INIT_P): New target hook. + (TARGET_VECT_BUILD_VECTOR_INIT): New target hook. + * config/rs6000/rs6000.c (rs6000_support_vmul_uch_p): New function. + (rs6000_build_vmul_uch) New function. + (rs6000_support_vector_init_p) New function. + (get_vector_init_fns_for_type) New function. + (rs6000_build_vector_init) New function. + + +2004-06-17 Jon Ziegler <jonz@apple.com> + + Radar 3691917 + * Revert version string in gcc/version.c to as of apple-gcc-1762. + +2004-06-16 Jon Ziegler <jonz@apple.com> + Radar 3619941 + * Revert to apple-gcc-1762 plus Dorit/Devang's 2004-06-15 patch. + Radar 3691917 + * Update version string in gcc/version.c + +2004-06-16 Dale Johannesen <dalej@apple.com> + Radar 3661015/PR 15993 + * tree-ssa-dom.c (thread_across_edge): fix from FSF. + +2004-06-15 Dorit Naishlos <DORIT@il.ibm.com> + + Radar 3619941 + * tree-data-ref.c (init_data_ref): New function. + * tree-data-ref.h (init_data_ref): New function. + * tree-vectorizer.c (vect_get_array_first_index): Return index instead + of success status, and support pointers. + (vect_create_index_for_array_ref): Remove ARRAY_REF restriction, and + change call to vect_get_array_first_index. + (vect_create_data_ref): Handle INDIRECT_REFs. + (vect_is_supportable_store): Handle INDIRECT_REFs. + (vect_is_supportable_load): Handle INDIRECT_REFs. + (vect_analyze_data_ref_dependence): Handle INDIRECT_REFs. + (vect_analyze_data_ref_dependences): Remove usage of variable 'ok'. + (get_array_base): Removed (not used anymore). + (vect_force_dr_alignment_p): Use DR_BASE_NAME instead of + get_array_base. + (vect_align_data_ref): Likewise. + (vect_transform_store): Remove ARRAY_REF restriction. + (vect_transform_load): Remove ARRAY_REF restriction. + (vect_compute_data_ref_alignment): Support pointers. + (vect_analyze_data_refs): Support pointers. + (vect_debug_stats): New Function. + (vect_debug_details): New Function. + (vect_transform_loop): Use vect_debug_stats and vec_debug_details. + (vect_analyze_loop): Use vect_debug_details. + (vect_analyze_scalar_cycles): Use vect_debug_stats. + (vect_analyze_data_ref_dependence): Likewse. + (vect_analyze_data_refs_alignment): Likewise. + (vect_analyze_data_ref_accesses): Likewise. + (vect_analyze_data_refs): Likewise. + (vect_analyze_loop_form): Likewise. + (vect_gen_if_guard): Formatting fixes (avoid 80 column overflow). + (vect_update_initial_conditions_of_duplicatd_loop): Likewise. + (vect_transform_loop): Likewise. + (vect_analyze_loop_form): Likewise. + +2004-06-14 Caroline Tice <ctice@apple.com> + + Radar 3690727 (partial) + * defaults.h (NORMAL_TEXT_SECTION_NAME): Remove. + * passes.c (rest_of_compilation): Add missing APPLE LOCAL. + * config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove definition. + (SECTION_FORMAT_STRING): Likewise. + * config/rs6000/sysv4.h (NORMAL_TEXT_SECTION_NAME): Likewise. + (SECTION_FORMAT_STRING): Likewise. + * doc/tm.texi (NORMAL_TEXT_SECTION_STRING): Remove documentation. + (SECTION_FORMAT_STRING): Likewise. + +2004-06-14 Dale Johannesen <dalej@apple.com> + + Radar 3661661 + * tree-ssa.c (tree_ssa_useless_type_conversion_1): fix from FSF. + +2004-06-14 Dale Johannesen <dalej@apple.com> + + Radar 3690727 (partial) + * gimplify.c (copy_if_shared_r): Add missing APPLE LOCAL. + * config/rs6000/t-darwin: Ditto. + +2004-06-14 Fariborz Jahanian <fjahanian@apple.com> + + * version.c: Remove word tree-ssa from version string. + +2004-06-12 Devang Patel <dpatel@apple.com> + + * Makefile.in (OBJS-common): Add tree-if-conv.o. + (tree-if-conv.o): New rule. + * target-def.h (TARGET_VECTOR_COMPARE_P, TARGET_VECTOR_COMPARE_FOR_P, + TARGET_VECTOR_COMPARE_STMT, TARGET_VECTOR_SELECT_P, + TARGET_VECTOR_SELECT_FOR_P, TARGET_VECTOR_SELECT_STMT): New. + (TARGET_INITIALIZER): New members. + * target.h (tree.h): Include. + (struct gcc_target.vect): New members - support_vector_compare_p, + support_vector_compare_for_p, vector_compare_stmt, support_vector_select_p, + support_vector_select_for_p, vector_select_stmt. + * tree-dfa.c (dump_immediate_uses_for): Print block index. + * tree-flow.h (enum move_pos): Move from ... + * tree-ssa-loop-im.c (enum move_pos): here. + * tree-if-conv.c: New file. + * tree-simple.c (is_gimple_stmt): Make COND_EXPR valid gimple. + * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Check t. + * tree-ssa-live.c (debug_var_map): New function. + * tree-ssa-live.h (debug_var_map): New function declaration. + * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variable): Add + flow_loop_scan() call. + * tree-ssa-operands (get_stmt_operands): Handle MODIFY_EXPR when COND_EXPR + is RHS. + (get_expr_operands): Same. + * tree-ssanames.c (make_ssa_name): Do not use free_ssanames. + (release_ssa_name): Same. + * tree-vectorizer.c (vect_transform_select): New function. + (vect_transform_compare): New function + (vect_is_supportable_operation): New function. + (vect_is_supportable_compare): New function. + (vect_is_supportable_select): New function. + (get_array_base): Move into tree.c. + (vect_loop_version): New function. + (second_loop_vers_available): New variable. + (default_vector_compare_p): New function. + (default_vector_compare_for_p): New function. + (default_vector_comapre_stmt): New function. + (default_vector_select_p): New function. + (default_vector_select_for_p): New function. + (default_vector_select_stmt): New function. + (vect_transform_stmt): Handle select_vec_info_type and + compare_vec_info_type. + (vect_is_supportable_op): Use vect_is_supportable_operation. + (vect_analyze_operations): Check select and compare support. + (vect_analyze_data_refs_alignment): Print data reference in dump file. + (vect_analyze_loop_form): Use if-conversion and update loop->num_nodes + check. + (vectorize_loops): Use vect_loop_version. Handle second loop version. + * tree-vectorizer.h (struct _stmt_vec_info): New members - + select_vec_info_type and compare_vec_info_type. + (default_vector_compare_p): New function decl. + (default_vector_compare_for_p): New function decl. + (default_vector_comapre_stmt): New function decl. + (default_vector_select_p): New function decl. + (default_vector_select_for_p): New function decl. + (default_vector_select_stmt): New function decl. + * tree.c (get_array_base): Move from tree-vectorizer to here. + * tree.h (get_array_base): New function decl. + * config/rs6000 (vector_builtin_fns): New. + (rs6000_vector_compare_p): New function. + (rs6000_vector_compare_for_p): New function. + (rs6000_vector_compare_stmt): New function. + (rs6000_vector_select_p): New function. + (rs6000_vector_select_for_p): New function. + (rs6000_vector_select_stmt): New function. + (TARGET_VECTOR_COMPARE_P, TARGET_VECTOR_COMPARE_FOR_P, + TARGET_VECTOR_COMPARE_STMT, TARGET_VECTOR_SELECT_P, + TARGET_VECTOR_SELECT_FOR_P, TARGET_VECTOR_SELECT_STMT): Define. + (def_builtin): Record builtin fn node in vector_builtin_fns. + * rs6000.h (enum rs6000_builtins): New entry - RS6000_BUILTIN_MAX. + +2004-06-12 Devang Patel <dpatel@apple.com> + + Radar 3681611 + * gcc.c (do_spec_1): Disable local IMA patch that creats new temp. file for + each source file. + +2004-06-12 Dorit Naishlos <DORIT@il.ibm.com> + Olga Golovanevsky <OLGA@il.ibm.com> + Ayal Zaks <ZAKS@il.ibm.com> + + * tree-vectorize.c (vect_build_symbl_bound, vect_gen_if_guard): New. + (vect_create_index_for_array_ref): Use integer_zer_node as init. + (vect_update_initial_conditions_of_duplicated_loop): Update phis of epilog + loop header and new loop exit destination. + (vect_transform_loop): Remove code that now belongs to + vect_generate_tmps_on_preheader () function. Use + vect_gen_if_guard function twice. + +2004-06-11 Dale Johannesen <dalej.@apple.com> + + * tree-ssa-loop-niter.c (number-of_iterations_cond): Apply Zdenek's + patch from 5/28 lno-branch. + +2004-06-10 Dale Johannesen <dalej@apple.com> + * tree-scalar-evolution.c (scev_finalize): Remove wild load. + +2004-06-10 Fariborz Jahanian <fjahanian@apple.com> + + * version.c: Change version date to 20040529 (date of + last merge). + +2004-06-09 Dale Johannesen <dalej@apple.com> + + * df.c (df_def_record_1): Handle DImode parallel. + +2004-06-09 Fariborz Jahanian <fjahanian@apple.com> + + * gengtype.c (get_output_file_with_visibility): Removed dead code. + * gimplify.c (copy_if_shared_r): brought in patch to PR15884 done + by RTH to fix perlbmk crash. + +2004-06-08 Dale Johannesen <dalej@apple.com> + + * config/rs6000/t-darwin: Remove duplicate fpsave. + +2004-06-08 Andrew Pinski <pinskia@physics.uc.edu> + + approved Dale Johannesen <dalej@apple.com> + Radar 3683113, PR 15881. + * fold.const.c (fold_convert): Handle ptr-to-member. + * tree-scalar-evolution.c (count_ev_in_wider_type): Use + fold_convert not convert. + (compute_overall_effect_of_inner_loop): Ditto. + (chrec_is_positive): Ditto. + (add_to_evolution_1): Ditto. + (add_to_evolution): Ditto. + (first_iteration_non_satisfying_1): Ditto. + (follow_ssa_edge_in_rhs): Ditto. + (interpret_rhs_modify_expr): Ditto. + (number_of_iterations_in_loop): Ditto. + +2004-06-08 Robert Bowdidge <bowdidge@apple.com> + + * config/darwin.c (machopic_indirect_call_target): Added patch from + PR/15720 (function marked inline which is called directly isn't + emitted). + +2004-06-08 Fariborz Jahanian <fjahanian@apple.com> + + * varasm.c (assemble_variable): Resotored zerofill size optimization. + * config/rs6000/rs6000.c (rs6000_override_options): Place + rs6000_init_hard_regno_mode_ok after setting of -fast flags. + +2004-06-08 Caroline Tice <ctice@apple.com> + + * common.opt (fcreate-profile): Add new command line option. + (fuse-profile): Likewise. + * gcc.c (LINK_COMMAND_SPEC): Add fcreate-profile to list of flags + that causes "-lgcov" to be included in link command. + * opts.c (commmon_handle_option): Add cases for fcreate-profile and + fuse-profile; make them fall into the cases for fprofile-generate + and fprofile-use, respectively. + * config/darwin.h (LINK_COMMABND_SPEC): Add fcreate-profile to list + of flags that causes "-lgcov" to be included in link command. + * doc/invoke.texi (fcreate-profile, fuse-profile): Add documentation + for the new command line options. Indicates they are obsolete and + should not be used. + +2004-06-07 Fariborz Jahanian <fjahanian@apple.com> + + * gcc.c: Removed setting of -combine option with -fast. + +2004-06-07 Fariborz Jahanian <fjahanian@apple.com> + + * decl.c (maybe_commonize_var): Removed APPLE LOCAL coalescing stuff. + * method.c (use_thunk): ditto. + * rtti.c (tinfo_base_init): ditto. + * common.opt: ditto. + +2004-06-07 Dale Johannesen <dalej@apple.com> + + * cse.c (cse_insn): Make sure there's a ZERO_EXTEND before looking + under it. (176.gcc spec regression) + +2004-06-07 Ayal Zaks <zaks@il.ibm.com> + + Radar 3619935 - Part 1 + * target-def.h (TARGET_VECT, TARGET_VECT_BUILD_BUILTIN_LVSL, + TARGET_VECT_SUPPORT_MISALIGNED_LOADS, + TARGET_VECT_PERMUTE_MISALIGNED_LOADS, + TARGET_VECT_BUILD_BUILTIN_VPERM): New macros for + TARGET_INITIALIZER. + * target.h (struct vect): New substruct of gcc_target. + * tree-vectorizer.c (vect_create_index_for_array_ref): Return also the + initial value of the iv. + (vect_create_data_ref): Return also the created pointer; don't call + vect_align_data_ref. + (vect_finish_stmt_generation): New. + (vect_transform_load): Handle misaligned loads too. + (vect_analyze_data_refs_alignment): Allow loads to be misaligned. + * config/rs6000/rs6000.c (TARGET_VECT_BUILD_BUILTIN_LVSL, + TARGET_VECT_SUPPORT_MISALIGNED_LOADS, + TARGET_VECT_PERMUTE_MISALIGNED_LOADS, + TARGET_VECT_BUILD_BUILTIN_VPERM): Redefine. + (rs6000_support_misaligned_vloads, rs6000_permute_misaligned_vloads, + rs6000_build_builtin_lvsl, rs6000_build_builtin_vperm): New. + +2004-06-07 Olga Golovanevsky <OLGA@il.ibm.com> + + * tree-vectorizer.c (vect_update_initial_conditions_of_duplicated_loop): + Handle general form of "init" and "step" of access function. + * tree-ssa-loop-manip.c (tree_duplicate_loop_to_exit_cfg): + The exit from loop is taken from bb previous to latch instead + of latch itself. + +2004-06-07 Devang Patel <dpatel@apple.com> + + Radar 3673334 + * config/darwin-driver.c (add_arch): New. + (strip_path_and_suffix): Use strcpy. + (main): Use add_arch(). + +2004-06-07 Devang Patel <dpatel@apple.com> + + Radar 3668208 and 3668213 + * config/rs6000/darwin.h (CC1_SPEC): Handle -gused and -gfull. + * config/i386/darwin.h (CC1_SPEC): Same. + +2004-06-07 Caroline Tice <ctice@apple.com> + + * doc/invoke.texi (-fast): Add documentation for "-fast" option. + +2004-05-29 Dale Johannesen <dalej@apple.com> + + * config/rs6000/rs6000.c (rs6000_override_options): Enable + hot/cold partitioning with -fast -profile-use. + +2004-05-28 Ziemowit Laski <zlaski@apple.com> + + Radar 3665286 + * cpplex.c (_cpp_peek_token): Fix bug in computing context size; + increment/decrement 'keep_tokens' state instead of saving/restoring it. + * cpplib.h (cpp_callbacks): Change 'expand_macro_p' hook to + 'macro_to_expand', returning a cpp_hashnode pointer. + * cppmacro.c (cpp_get_token): Call 'macro_to_expand' hook instead of + 'expand_macro_p'. + (warn_of_redefinition): Do not warn if redefining a conditional macro. + * config/rs6000/rs6000-c.c (altivec_categorize_keyword): New function. + (rs6000_expand_macro_p): Renamed to 'rs6000_macro_to_expand'; rewritten + to call altivec_categorize_keyword() and return one of the three + canonical macros ('__vector', '__pixel' and '__bool') as needed. + (rs6000_cpu_cpp_builtins): Mark all AltiVec keyword variants as + conditional macros, some expanding to themselves (e.g., '#define + bool bool') by default. + * config/rs6000/rs6000-protos.h (rs6000_expand_macro_p): Renamed to + 'rs6000_macro_to_expand'. + +2004-05-28 Fariborz Jahanian <fjahanian@apple.com> + + * explow.c (copy_to_mode_reg): For PARALLEL patterns, copy + to reg via a temprary. + +2004-05-27 Dale Johannesen <dalej@apple.com> + + * loop-invariant.c (check_maybe_invariant): Disallow CALL hoists. + * varasm.c (assemble_start_function): Construct unlikely_section_label + unconditionally. + +2004-05-26 Caroline Tice <ctice@apple.com> + + * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges): + Initialize variable 'has_hot_blocks'. + (fix_up_fall_thru_edges): Initialize variable'cond_jump'. + * cfgcleanup.c (try_forward_edges): Add code/tests to make sure the + optimization is not attempted across section boundaries. + * cfglayout.c (fixup_reorder_chain): Correct comments. + * cfgrtl.c (try_redirect_by_replacing_jump): Fix test to make sure + optimization is not attempted across section boundaries. + * final.c (final_scan_instruction): Replace calls to text_section with + calls to function_section. + * predict.c (probably_never_executed_bb_p): Change criterion to be + basic block count equals zero. + * varasm.c (unlikely_text_section_name): New global variable. + (text_section): Remove call to assemble_align. + (unlikely_text_section): Modify to build & use unlikely_text_section_name + rather than directly using UNLIKELY_EXECUTED_TEXT_SECTION NAME; remove + call to assemble_align; move code to free/initialize + unlikely_section_label to assemble_start_function. + (in_unlikely_text_section): Modify to use unlikely_text_section_name. + (named_section): Add code to initialize unlikely_text_section_name if + appropriate. + (function_section): Reorder clauses in if statement to make sure + functions containing only cold blocks end up in the correct section. + (assemble_start_function): Add code to correctly initialize/free + unlikely_text_section_name. Also make sure the cold label is printed + out at the start of cold functions. + (default_section_type_flags_1): Modify to use unlikely_text_section_name. + * config/rs6000/darwin.h (HAS_LONG_UNCOND_BRANCH): Add darwin-specific + definition, based on the TARGET_LONG_BRANCH (-mlongcall) flag. + +2004-05-25 Dale Johannesen <dalej@apple.com> + + * tree-ssa-loop-niter.c: Add. New in lno branch. Oops. + +2004-05-25 Mike Stump <mrs@apple.com> + + Radar 3665096 + * config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Change default + for long double type size to be 128. + +2004-05-25 Dale Johannesen <dalej@apple.com> + + Merge from LNO branch as of 05-18. + --The following files are identical to lno branch: + df.c: Merge. + lambda-code.c: Merge. + loop-iv.c: Merge. + tree-chrec.c: Merge. + tree-chrec.h: Merge. + tree-data-ref.c: Merge. + tree-data-ref.h: Merge. + tree-elim-check.c: Merge. + tree-fold-const.h: Merge. + tree-scalar-evolution.c: Merge. + tree-scalar-evolution.h: Merge. + tree-ssa-loop-ivcanon.c: Merge. + tree-ssa-loop-ivopts.c: Merge. + tree-vectorizer.c: Merge. + --These files were merged selectively, see lno branch ChangeLog.lno. + Makefile.in: Add tree-ssa-loop-niter. + cfgloop.c: Merge changes from Devang's 05-13 patch. + cfgloop.h: Ditto, also Zdenek's 04-30 patch. + expr.c: Merge changes from Zdenek's 05-13 patch. + tree-cfg.c: Ditto. + tree-flow.h: Ditto. Also from Zdenek's 04-30 patch. + loop-invariant.c: Merge. Add DF_EQUIV_NOTES. + rtl.h: Merge change from Zdenek's 05-09 patch. + stor-layout.c: Ditto. + tree.c: Merge change from Sebastian's 04-27 patch. + tree.h: Ditto. Also Zdenek's 05-13 patch. Add TYPE_UNSIGNED. + varasm.c: Merge change from Zdenek's 04-30 patch. + config/rs6000/rs6000.c: Ditto. + -- Other stuff: + fold-const.c: Remove unused variable. + config/rs6000/rs6000-c.c: Make #define of bool work. + config/rs6000/t-rs6000: Make #define of bool work. Remove + -Wno-error requirements. + +2004-05-25 Mike Stump <mrs@apple.com> + + Radar 3667005 + * config/darwin.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Move long + double size default from here... + * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): to here. + +2004-05-24 Devang Patel <dpatel@apple.com> + + Radar 3665390 + * config/darwin-driver.h (main): While reinserting output filename + do not forget -o. + +2004-05-24 Mike Stump <mrs@apple.com> + + Radar 3589079 + * config/darwin.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Change default + for long double type size to be 128. + * c-common.c: Change default for -Wwarn-long-double to off. + (warn_about_long_double): Change wording to account for new long + double size. + * doc/invoke.texi (-Wlong-double): Likewise. + +2004-05-22 Devang Patel <dpatel@apple.com> + + Radar 3644687 + * config/darwin-driver.c (main): Reinsert output filename + only if user supplied one. + +2004-05-22 Dale Johannesen <dalej@apple.com> + + * simplify-rtx.c (simplify_unary_operation): Don't create NOT(SYM) + or (MINUS(CON SYM)). + * config/rs6000/rs6000.h (machine_function): Make substitute_pic_base_reg + unsigned. + * config/rs6000/rs6000.md: Compare it to INVALID_REGNUM not -1. + * config/rs6000/rs6000.c (throughout): Ditto. + +2004-05-21 Ziemowit Laski <zlaski@apple.com> + + * opts.c (common_handle_option): Do not const-qualify a char buffer + that has sprintf() and free() called on it. + +2004-05-21 Ziemowit Laski <zlaski@apple.com> + + Radar 3621323 + * c-lex.c: Do not include target.h. + (C_LEX_BUFCAPACITY, C_LEX_OFFS_BOUND, c_lex_buf_beg, c_lex_buf_end, + c_lex_buf, c_lex_peek, c_lex_prepend): Remove. + (get_nonpadding_token): Get rid of int argument; adjust call sites + accordingly. + * cpplex.c (_cpp_peek_token): New function. + (_cpp_temp_token): Account for existence of lookaheads when allocating + token. + * cpplib.h (cpp_callbacks): Add new 'expand_macro_p' hook. + (NODE_CONDITIONAL): New flag for macro nodes. + (_cpp_peek_token, _cpp_backup_tokens_direct): New prototypes. + * cppmacro.c (cpp_get_token): For macros marked NODE_CONDITIONAL, + call the 'expand_macro_p' predicate to see if they should be + expanded. + (_cpp_backup_tokens_direct): New function, broken off from + _cpp_backup_tokens(). + (_cpp_backup_tokens): Call _cpp_backup_tokens_direct(). + * config/rs6000/rs6000-c.c (rs6000_expand_macro_p): Add cpp_reader + parameter; call _cpp_peek_token() instead of c_lex_peek(). + (rs6000_cpu_cpp_builtins): Attach rs6000_expand_macro_p() to a + cpplib callback instead of a target hook. + * config/rs6000/rs6000-protos.h (rs6000_expand_macro_p): Add cpp_reader + parameter to prototype. + * hooks.c (hook_bool_constcpp_tokenp_false): Remove. + * hooks.h (hook_bool_constcpp_tokenp_false): Remove prototype. + * target-def.h (TARGET_EXPAND_MACRO_P): Remove. + * target.h (gcc_target): Remove 'expand_macro_p' target hook. + +2004-05-20 Devang Patel <dpatel@apple.com> + + * config/darwin-driver.c (main): Prepand "-Wl," before + -final_output to make it linker option. + +2004-05-20 Fariborz Jahanian <fjahanian.apple.com> + + * c-opts.c (c_common_post_options): Remove old declaration and + use of stdin_filename. Add new call to set_stdin_option. + * common.opt: Add fpredictive-compilation=n option. + * cppfiles.c (STAT_SIZE_RELIABLE macro): Change definition. + (pch_open_file): No pch stuff with stdin file. + (find_file_in_dir): When opening the main file, revert + to opening stdin instead, in predictive compilation mode. + (read_file_guts): Support for reading from stdin for predictive + compilation sizes are added. (read_file): Don't close stdin. + (read_from_stdin): New routine. + * cpphash.h: New field declaration 'is_main_file' added. + * cppinit.c (cpp_read_main_file): Set is_main_file to true, + and then to false in predictive compilation mode. + * cpplex.c (_cpp_get_fresh_line): Read more from stdin when + in predictive compilation mode. + * cpplib.c (set_stdin_option): New definition. + * cpplib.h: Declaration updates. + * flags.h: Declaration of predictive_compilation. + * opts.c (common_handle_option): Processing -fprdictive-compilation=n + options. + * toplev.c: Definition of predictive_compilation added. + +2004-05-14 Dale Johannesen <dalej@apple.com> + + * Makefile.in: Remove local -Wno-error dependencies. + +2004-05-13 Caroline Tice <ctice@apple.com> + + * c-common.c (builtin_function_disabled_p): Remove "static" from + function declaration and definition. + * c-common.h (builtin_function_disabled_p): Add extern function + definition. + * c-decl.c (merge_translation_unit_decls): Add code to test + function decls to see if they are builtin and the builtin is + supposed to be disabled before attempting to merge the decls. + +2004-05-12 Devang Patel <dpatel@apple.com> + + * opts.c (common_handle_option): Handle OPT_arch. + +2004-05-12 Devang Patel <dpatel@apple.com> + + * config/darwin.h (darwin_builtins): Move to ... + * config/darwin.c (darwin_builtins); here. + +2004-05-12 Dale Johannesen <dalej@apple.com> + + Radar 3509006 + + * config/rs6000/rs6000.c (rs6000_override_options): + Don't enable string insns with -Os. + * doc/invoke.texi: Document this behavior. + * testsuite/gcc.apple/string-insns.c: New. + +2004-05-12 Dale Johannesen <dalej@apple.com> + + * config/rs6000/rs6000.c (rs6000_stack_info): Restore an + optimization lost in merge. + +2004-05-11 Ziemowit Laski <zlaski@apple.com> + + * gcc.c (process_command): Do not define __CONSTANT_CFSTRINGS__, + since config/darwin.h already does this. + (do_spec_1): Emit "-mconstant-cfstrings" instead of + "-fconstant-cfstrings". + +2004-05-11 Devang Patel <dpatel@apple.com> + + * gcc.c (optiom_map): Remove -precomp-trustfile support. + * c-opts.c (c_common_handle_option): Remove -precomp-trustfile and + -header-mapfile support. + * common.opt: Same. + * c.opt: Remove -header-mapfile support. + +2004-05-11 Caroline Tice <ctice@apple.com> + + * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): Add this note back + in; it seems to have vanished during a merge. + +2004-05-10 Ziemowit Laski <zlaski@apple.com> + + * config/rs6000/altivec.h: Bring over from mainline. + * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define + __APPLE_ALTIVEC__ to indicate Apple syntax support. + +2004-05-10 Dale Johannesen <dalej@apple.com> + * config/darwin.c: ANSIfy syntax (eliminate warnings). + config/darwin-c.c: Ditto. + rs6000.c: Small cosmetic change in local code. + +2004-05-06 Caroline Tice <ctice@apple.com> + + * config/rs6000/rs6000.c (rs6000_override_options): Modify to + not turn on hot/cold partitioning in the presence of exception + handling. + +2004-05-06 Dale Johannesen <dalej@apple.com> + + * Merge from lno branch as of 04-24. Files changed: + lambda-code.c + lambda.h + tree-chrec.c + tree-chrec.h + tree-data-ref.c + tree-elim-check.c + tree-flow.h + tree-loop-linear.c + tree-scalar-evolution.c + tree-ssa-loop-im.c + tree-ssa-loop-ivopts.c + tree-ssa-loop-manip.c + tree-ssa-loop.c + tree-vectorizer.c + tree-vectorizer.h + +2004-05-04 Caroline Tice <ctice@apple.com> + + * config/rs6000/darwin.h (FP_SAVE_INLINE): Modify this to + always be 1 ("on") if the optimization level is -O3 or + higher. + +2004-04-30 Dale Johannesen <dalej@apple.com> + + * cse.c (cse_insn): Don't add REG_EQUAL note for + (CONST (MINUS (LABEL_REF) (0))). + +2004-04-30 Caroline Tice <ctice@apple.com> + + * varasm.c (unlikely_section_label): New global variable. + (unlikely_text_section): Change variable name from + 'unlikely_section_name' to 'unlikely_section_label', make it a global + variable, and move the code to generate its value to + assemble_start_function. + (assemble_start_function): Add code to generate *correct* value for + 'unlikely_section_label'. Now makes use of value from 'fnname' + parameter. + +2004-04-29 Devang Patel <dpatel@apple.com> + + gcc/loop-iv.c : Merge from lno-branch as of 2004:04:19 00:00. + gcc/tree-pass.h : Merge from lno-branch as of 2004:04:19 00:00. + gcc/tree-ssa-alias.c : Merge from lno-branch as of 2004:04:19 00:00. + gcc/tree-ssa-phiopt.c : Merge from lno-branch as of 2004:04:19 00:00. + +2004-04-29 Devang Patel <dpatel@apple.com> + + Merge lno-branch as of 2004:04:18 00:00 into + apple-ppc-branch. + + +2004-04-28 Fariborz Jahanian <fjahanian@apple.com> + + * function.c (assign_parms): Add 2nd iteration over vector args + if needed. + * calls.c (initialize_argument_information): Add new argument, + add 2nd iteration over vector arguments if needed. + * target-def.h (default_skip_vec_args, TARGET_SKIP_VEC_ARGS): New. + * target.h (skip_vec_args): Added to calls structure. + * targhooks.c (default_skip_vec_args): Default + definition. + * targhooks.h (default_skip_vec_args): Declaration. + * config/rs6000/rs6000.c (skip_vec_args): New definition. + +2004-04-28 Stuart Hastings <stuart@apple.com> + + * config/rs6000/rs6000.c (macho_branch_islands): Fix sprintf arguments. + * config/rs6000/rs6000.md (output_call): Fix arguments. + +2004-04-27 Devang Patel <dpatel@apple.com> + + * config/darwin.h (LINK_COMMAND_SPEC): Use darwin_arch_ld_spec. + * config/rs6000/darwin.h (DARWIN_ARCH_ASM_SPEC): New. + (DARWIN_ARCH_SPEC): Rename as... + (DARWIN_ARCH_LD_SPEC): New name. + * config/i386/darwin.h (DARWIN_ARCH_ASM_SPEC): New. + (DARWIN_ARCH_SPEC): Rename as... + (DARWIN_ARCH_LD_SPEC): New name. + +2004-04-26 Andrew Pinski <pinskia@physics.uc.edu> + + * configure.ac: Add test for -Wno-long-double. + * Makefile.in (STRICT2_WARN): Add -Wno-long-double. + (alloc-pool.o-warn): Delete. + (ggc-page.o-warn): Delete. + * configure: Regenerate. + +2004-04-23 Dale Johannesen <dalej@apple.com> + + Radars 3480058, 3178986 + + * c-decl.c (merge_decls): Preserve duplicate_decl bit. + (merge_translation_unit_decls): Rewritten so -fno-common works. + * opts.c (decode_options): Turn on flag_no_common with -fast or -fastcp. + * tree.h (struct tree_decl): Add duplicate_decl bit and DECL_DUPLICATE_DECL. + * varasm.c (assemble_variable): Use it. + * config/rs6000/rs6000.c (rs6000_override_options): Remove + reorder-blocks-and-partition from -fast*. Enable align-natural with -fastcp. + * ../libstdc++-v3/include/std/std_fstream.h (basic_ifstream): Make + _M_filebuf 8-byte aligned. + (basic_ofstream): Ditto. + +2004-04-22 Devang Patel <dpatel@apple.com> + + Radar 3401402 and 3511029 + + Remove FAT Build support from gcc.c + + * gcc.c (struct arch_config_out): Remove. + (struct arch_out): Remove. + (num_arches, curent_arch, final_output): Remove. + (set_new_arch): Remove. + (%T support): Remove. + (%f support): Remove. + (%F support): Remove. + ('@' support in specs): Remove. + (ofile_merge_spec): Remove. + (exec_merge_spec): Remove. + (build_search_list): Remove fat builds readibility change. + (SWITCH_IGNORE_RESTORE): Remove. + (-arch support): Remove. + * config/darwin.h (LINK_COMMAND_SPEC): Remove -arch*. Add %(darwin_arch_spec). + * confiig/i386/darwin.h (ASM_SPEC): Add %(darwin_arch_spec). + (DARWIN_ARCH_SPEC): New. + * confiig/rs6000/darwin.h (ASM_SPEC): Add %(darwin_arch_spec). + (DARWIN_ARCH_SPEC): New. + * config/rs6000/rs6000.h (SUBTARGET_EXTRA_SPECS): Surround it with #ifndef. + * config/darwin-driver.c: New file. + +2004-04-20 Geoffrey Keating <geoffk@apple.com> + + * c-cppbuiltin.c (define__GNUC__): Better precision and more + error checking for code defining __APPLE_CC__. + * testsuite/gcc.apple/applecc.c: New. + +2004-04-15 Devang Patel <dpatel@apple.com> + + * config/i386.h: Add static tree nodes for vector types to + accomodate tree.h changes due to local Altivec patch. + +2004-04-15 Caroline Tice <ctice@apple.com> + + Fix various problems related to hot/cold partitioning (but not all of + them yet). + * bb-reorder.c (tm_p.h): Add new include statement. + (HAVE_return): Define HAVE_return appropriately if not already defined. + (find_rarely_executed_basic_blocks_and_crossing_edges): Modify to + only mark crossing edges if architecture supports named sections. + (fix_crossing_conditional_branches): Add test for HAVE_return before + calling gen_return. + (fix_crossing_unconditional_branches): Change VOIDmode to Pmode in call + to gen_rtl_LABEL_REF. + (fix_edges_for_rarely_executed_code): Only "fix" branches and add + REG_CROSSING_JUMP notes if the architecture supports named sections. + (reorder_basic_blocks): Change (* targetm.cannot_modify_jumps_p ()) + into (targetm.cannot_modify_jumps_p ()). Modify to only add + NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture supports + named sections. + * cfglayout.c (fixup_reorder_chain): Modify code that adds + NOTE_INSN_UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes, to only + do so if architecture supports named sections. + * cfgrtl.c (target.h): Add new include statement. + (force_nonfallthru_and_redirect): Modify code that adds + NOTE_INSN_UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes, to only + do so if architecture supports named sections. + (commit_one_edge_insertion): Likewise. + * dbxout.c (dbxout_source_file): Fix bug, when writing out source + location debug information, to not change to the wrong section. + * defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this definition. + (SECTION_FORMAT_STRING): Remove this definition. + * final.c (final_scan_insn): Remove unnecessary in_unlikely_text_section + test from if statement. Modify code that switches sections to not + do so if architecture does not support named sections. Cleaned up + if statement. + * ifcvt.c (if_convert): Modified test that disables optimization when + partitioning, to not disable it if the architecture does not support + named sections. + * passes.c (rest_of_compilation): Removed flag_exceptions test from + code that calls partitioning, as this is already taken care of + in decode_options. + * predict.c (choose_function_section): Modify to NOT choose hot or + cold sections for the function decl if we are doing partitioning + optimization (want to leave it up to the hot/cold partitioning + optimization, which is more fine-grained). + * varasm.c (text_section): Restore code that outputs assembly for + the text section to its original code. + (unlikely_text_section): Modify to always use named_section for + writing out section directive, remove unnecessary ifdef, and + use ASM_OUTPUT_LABEL for labelling the start of the + cold section. + (in_unlikely_text_section): Modify to deal correctly with being in + a named section. + (function_section): Restore code for generating section directives + to its original order. + * config/darwin.c (darwin_asm_named_section): Restore code that + generates section directive to its original state. + * config/i386/darwin.h (ASM_OUTPUT_ALIGN): Add in_unlikely_text_section () + to an if test that tests for in_text_section (). + * config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove definition. + (SECTION_FORMAT_STRING): Remove definition. + +2004-04-10 Paolo Bonzini <bonzini@gnu.org> + Richard Henderson <rth@redhat.com> + + PR target/14899 + + * c-common.c (vector_types_compatible_p): New function. + * c-typeck.c (comptypes): Recurse on vector types, + treat a non-opaque type as equivalent to an opaque type. + (convert_for_assignment): Use vector_types_compatible_p. + (digest_init): Use vector_types_compatible_p to check + validness of constant vector initializers; otherwise treat + them as scalars + * tree.c (make_or_reuse_type): New. + (build_common_tree_nodes): Use it. + * cp/call.c (standard_conversion): Likewise. + * cp/typeck.c (comptypes): Recurse on vector types, do not + treat a non-opaque type as equivalent to an opaque type. + (convert_for_assignment): Use vector_types_compatible_p. + +2004-04-13 Fariborz Jahanian <fjahanian@apple.com> + + * combine.c (combine_instructions): + Try insn with each REG_EQUAL note it links back to. + (unmentioned_reg_p_1, unmentioned_reg_p): New functions. + Brought from tree-ssa branch. + +2004-04-09 Dale Johannesen <dalej@apple.com> + + Roll in gcc-1552 enhancement for separate stack temps. + Turn on -fstrict-aliasing with -fast. + * function.c (assign_stack_local_with_alias): New function. + * rtl.h (assign_stack_local_with_alias): Declare it. + * config/rs6000/rs6000.c (rs6000_override_options): Turn on strict + aliasing with -fast. + * config/rs6000/rs6000.md (floatsidf2): Use + assign_stack_local_with_alias. + (floatunssidf2): Ditto. + (fix_truncdfsi2): Ditto. + +2004-04-07 Fariborz Jahanian <fjahanian@apple.com> + + Roll in Ziem Laski's Altivec front-end fixes to + support MOTOROLA's Altivec syntax. + * Makefile.in: Add c-lex.o dependencies. + * c-common.c (vector_constructor_from_expr): New function. + * c-common.h (vector_constructor_from_expr): Add declaration. + * c-lex.c: include target.h, cpphash.h. Add lexer support + for new syntax. + (c_lex_prepend): new function. (c_lex_peek): new function. + * c-pragma.h: add (c_lex_peek, c_lex_prepend) declarations. + +2004-04-06 Dale Johannesen <dalej@apple.com> + + Roll in Zdenek Dvorak's rewrite of doloop optimization. + * Makefile.in: add loop-doloop.*, remove doloop.* + * loop-doloop.c: New. + * doloop.c: Remove. + * cfgloop.h: Add new function declarations. + * cfgloopanal.c: Add get_loop_level. + * loop-iv.c: Recognize unexecuted loops. + * loop.c: Remove call to old doloop optimization. + * loop.h: Remove LOOP_BCT. + * passes.c: Ditto. Call new doloop optimization. + * config/rs6000/rs6000-protos.h: Remove duplicate declarations. + * config/rs6000/rs6000.c: Cosmetic cleanups. Add -freorder-blocks + to -fast. + +2004-04-02 Ziemowit Laski <zlaski@apple.com> + + Remove APPLE LOCAL AltiVec code whenever possible; merge in + AltiVec/VECTOR_TYPE-handling code from mainline. + +2004-04-01 Fariborz Jahanian <fjahanian@apple.com> + + * Makefile.in: add $(PARAMS_H) $(TM_P_H) dependencies + for sched-rgn.o. + * params.def: add definitions for + max-sched-region-blocks and max-sched-region-insns. + * sched-rgn.c (too_large): change return type to bool. + Use the parametrized values of max-sched-region-blocks, + max-sched-region-insns for computing upper limits for + interblock scheduling. + * doc/invoke.texi: Document max-sched-region-blocks, + max-sched-region-insns. + +2004-04-01 Caroline Tice <ctice@apple.com> + + * basic-block.h (struct edge_def): Add new field, crossing_edge. + (struct basic_block_def): Add new field, partition. + (UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro + definitions. + (partition_hot_cold_basic_blocks): Add extern function + declaration. + * bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new + include statements. + (N_ROUNDS): Increase the maximum number of rounds by 1. + (branch_threshold): Add array value for new round. + (exec_threshold): Add array value for new round. + (push_to_next_round_p): New function. + (add_unlikely_executed_notes): New function. + (find_rarely_executed_basic_blocks_and_crossing_edges): New function. + (mark_bb_for_unlikely_executed_section): New function. + (add_labels_and_missing_jumps): New function. + (add_reg_crossing_jump_notes): New function. + (fix_up_fall_thru_edges): New function. + (find_jump_block): New function. + (fix_crossing_conditional_branches): New function. + (fix_crossing_unconditional_branches): New function. + (fix_edges_for_rarely_executed_code): New function. + (partition_hot_cold_basic_blocks): New function. + (find_traces): Add an extra round for partitioning hot/cold + basic blocks. + (find_traces_1_round): Add a parameter. Modify to push all cold blocks, + and only cold blocks, into the last (extra) round of collecting traces. + (better_edge_p): Add a parameter. Modify to favor non-crossing edges + over crossing edges. + (bb_to_key): Add code to correctly identify cold blocks when + doing partitioning. + (connect_traces): Modify to connect all the non-cold traces first, then + go back and connect up all the cold traces. + (reorder_basic_blocks): Add call to add_unlikely_executed_notes. + * cfg.c (entry_exit_blocks): Add initialization for partition field in + entry and exit blocks. + * cfgbuild.c (make_edges): Update current_function_has_computed_jump + if we are doing hot/cold partitioning. + * cfgcleanup.c (cfglayout.h): Add new include statement. + (try_simplify_condjump): Modify to not attempt on blocks with jumps + that cross section boundaries. + (try_forward_edges): Likewise. + (merge_blocks_move_predecessor_nojumps): Likewise. + (merge_blocks_move_successor_nojumps): Likewise. + (merge_blocks_move): Likewise. + (try_crossjump_to_edge): Modify to not attempt after we have done + the block partitioning. + (try_crossjump_bb): Modify to not attempt on blocks with jumps that + cross section boundaries. + (try_optimize_cfg): Likewise. + * cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect + jumps that cross section boundaries. + * cfglayout.c (flags.h): Add new include statement. + (update_unlikely_executed_notes): New function. + (fixup_reorder_chain): Add code so when a new jumping basic block is + added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are + updated appropriately. + (duplicate_insn_chain): Add code to duplicate the new NOTE insn + introduced by this optimization. + * cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new + extern function declaration. + * cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to + list of notes that can be deleted. + (create_basic_block_structure): Add initialization for partition field. + (rtl_can_merge_blocks): Modify to test blocks for jumps that cross + section boundaries. + (try_redirect_by_replacing_jump): Modify to not attempt on jumps that + cross section boundaries. + (commit_one_edge_insertion): Add code so newly created basic block + ends up in correct (hot or cold) section. Modify to disallow + insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes. + (rtl_verify_flow_info_1): Add code to verify that no fall_thru edge + crosses section boundaries. + (cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that + cross section boundaries. + (force_nonfallthru_and_redirect): Modify to make sure new basic block + ends up in correct section, with correct notes attached. + * common.opt (freorder-blocks-and-partition): Add new flag for this + optimization. + * dbxout.c (dbx_function_end): Add code to make sure scope labels at + the end of functions are written into the correct (hot or cold) + section. + (dbx_source_file): Add code so writing debug file information + doesn't incorrectly change sections. + * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use + in partitioning hot/cold basic blocks into separate sections. + (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold + section partitioning. + (HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not + conditional branches can span all of memory. + (HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not + unconditional branches can span all of memory. + * final.c (scan_ahead_for_unlikely_executed_note): New function. + (final_scan_insn): Add code to check for NOTE instruction indicating + whether basic block belongs in hot or cold section, and to make sure + the current basic block is being written to the appropriate section. + Also added code to ensure that jump table basic blocks end up in the + correct section. + * flags.h (flag_reorder_blocks_and_partition): New flag. + * ifcvt.c (find_if_case_1): Modify to not attempt if conversion if + one of the branches has a jump that crosses between sections. + (find_if_case_2): Likewise. + (ifcvt): Modify to not attempt to mark loop exit edges after + hot/cold partitioning has occurred. + * opts.c (decode_options): Code to handle new flag, + flag_reorder_blocks_and_partition; also to turn it off if + flag_exceptions is on. + (common_handle_option): Code to handle new flag, + flag_reorder_blocks_and_partition. + * output.h (unlikely_text_section): New extern function declaration. + (in_unlikely_text_section): New extern function declaration. + * passes.c (rest_of_handle_stack_regs): Add + flag_reorder_blocks_and_partition as an 'or' condition for calling + reorder_basic_blocks. + (rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition + as an 'or' condition for calling reorder_basic_blocks. + (rest_of_compilation): Add call to partition_hot_cold_basic_blocks. + * print-rtl.c (print_rtx): Add code for handling new note, + NOTE_INSN_UNLIKELY_EXECUTED_CODE + * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below). + (REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that + cross between section boundaries. + * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction, + indicating the basic block containing it belongs in the cold section. + (REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross + between hot and cold sections. + * toplev.c (flag_reorder_blocks_and_partition): Add code to + initialize this flag, and to tie it to the command-line option + freorder-blocks-and-partition. + * varasm.c (cfglayout.h): Add new include statement. + (unlikely_section_label_printed): New global variable, used for + determining when to output section name labels for cold sections. + (in_section): Add in_unlikely_executed_text to enum data structure. + (text_section): Modify code to use SECTION_FORMAT_STRING and + NORMAL_TEXT_SECTION_NAME macros. + (unlikely_text_section): New function. + (in_unlikely_text_section): New function. + (function_section): Add code to make sure beginning of function is + written into correct section (hot or cold). + (assemble_start_function): Add code to make sure stuff is written to + the correct section. + (assemble_zeros): Add in_unlikely_text_section as an 'or' condition + to an if statement that was checking 'in_text_section'. + (assemble_variable): Add 'in_unlikely_text_section' as an 'or' + condition to an if statement that was checking 'in_text_section'. + (default_section_type_flags_1): Add check: if in cold section + flags = SECTION_CODE. + * config/darwin.c (darwin_asm_named_section): Modify to use + SECTION_FORMAT_STRING if we are partitioning hot/cold blocks. + * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro + specifically for the i386. + (HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386. + * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change + text string to something more informative. + (NORMAL_TEXT_SECTION_NAME): Add new definition. + (SECTION_FORMAT_STRING): Add new definition. + * config/rs6000/rs6000.c (rs6000_assemble_integer): Add + '!in_unlikely_text_section' as an 'and' condition to an if statement + that was already checking '!in_text_section'. + (rs6000_override_options): Turn on flag_reorder_blocks_and_partition + with "-fast". + * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME, + UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make + sure these are properly defined for linux on ppc. + * doc/invoke.texi (freorder-blocks-and-partition): Add documentation + for this new flag. + * doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new + reg_note. + * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING, + HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for + these new macros. |