aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.2.1-5666.3/gcc/ChangeLog.apple
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.2.1-5666.3/gcc/ChangeLog.apple')
-rw-r--r--gcc-4.2.1-5666.3/gcc/ChangeLog.apple14532
1 files changed, 14532 insertions, 0 deletions
diff --git a/gcc-4.2.1-5666.3/gcc/ChangeLog.apple b/gcc-4.2.1-5666.3/gcc/ChangeLog.apple
new file mode 100644
index 000000000..157b28f4e
--- /dev/null
+++ b/gcc-4.2.1-5666.3/gcc/ChangeLog.apple
@@ -0,0 +1,14532 @@
+2010-09-27 Bob Wilson <bob.wilson@apple.com>
+
+ Radar 8392704
+ * doc/cppopts.texi: Fix description of -isysroot for Apple's GCC.
+ * doc/invoke.texi (Directory Options): Update --sysroot description to
+ refer Apple users to -isysroot.
+
+2010-08-13 Bob Wilson <bob.wilson@apple.com>
+
+ Radar 8307333
+ * config/i386/darwin.h (DARWIN_IPHONEOS_LIBGCC_SPEC): Do not link
+ against libgcc_s.10.5.dylib.
+ * config/rs6000/darwin.h (DARWIN_IPHONEOS_LIBGCC_SPEC): Likewise.
+
+2010-04-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 7865106 is backed out.
+
+2010-04-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 7865106
+ * config/darwin.h (objc_weak_import_class): New decl.
+ (ASM_WEAKEN_DECL): Call objc_weak_import_class see if
+ we have a 'weak_reference' decl.
+ * darwin.c (objc_weak_import_class): New definition.
+
+2010-04-13 Stuart Hastings <stuart@apple.com>
+
+ Radar 7212824
+ * cp/decl.c (redeclaration_error_message): Insure we're looking
+ at a VAR_DECL before diagnosing a redeclaration.
+
+2010-03-18 Stuart Hastings <stuart@apple.com>
+
+ Radar 7763139
+ * config/i386/i386.c (iasm_x86_canonicalize_operands): Add LEA
+ to list of opcodes that ignore 2nd type attribute.
+
+2010-03-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 7760213
+ * c-common.h (HasByrefArray): New decl.
+ * c-common.c (HasByrefArray): New definition.
+ * c-typeck.c (build_external_ref): Diagnose access of
+ __block array.
+
+2010-03-12 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7744816
+
+ * expmed.c (synth_mult): Remove incorrect special case handling for
+ 0xffffffff.
+
+2010-03-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 7735196
+ * c-parser.c (build_block_struct_initlist):
+ Set BLOCK_USE_STRET flag in block descriptor for
+ blocks which return their aggregate value in memory.
+ * c-common.h (BLOCK_USE_STRET): New flag.
+
+2010-03-05 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 7721728
+ * c-typeck.c (build_external_ref): Diagnose
+ importation of copied-in variables.
+
+2010-02-16 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7649286
+
+ * config/arm/arm.md (call_value_mem, call): Rename call_value_mem_v4,
+ call_mem_v4. Restrict to only when blx is not available (pre-ARMv5).
+
+2010-02-08 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7590305
+ * config/arm/arm.c (handle_thumb_unexpanded_prologue): When calling
+ helper function to save off VFP regs, update the DWARF call frame
+ information.
+
+2010-02-01 Stuart Hastings <stuart@apple.com>
+
+ Radar 7599272
+ * gcc/config/darwin-c.c (create_init_utf16_var): Apply Evan's
+ LLVM-GCC r95013 patch to GCC.
+
+2010-01-27 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7581650
+ * dwarf2out.c (gen_subprogram_die): DW_AT_APPLE_isa should use data1
+ encoding.
+
+2010-01-13 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7511696
+ * flow.c (flow_lite): Don't change allocation availailability of PIC
+ base register when not doing flow analysis. Add early exit.
+ * local-alloc.c (local_alloc): Debug dump even when no PIC base flow
+ analysis was performed.
+ (dump_inheritance): Add function name to pic_rtx_inheritance debug
+ dump line.
+
+2010-01-07 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7519550
+ * doc/invoke.texi: Document -force_load
+
+2010-01-07 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7519550
+ * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE,
+ WORD_SWITCH_TAKES_ARG, LINK_SPEC): Add -force_load.
+
+2009-12-04 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6930582
+ * config/arm/arm1136jfs.md: Adjust load latencies up by one.
+ * config/arm/cortex-a8.md: Adjust load latencies up by one.
+
+2009-12-04 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7393136
+ * config/arm/arm.c (arm_split_compare_and_swap): Just use a data
+ memory barrier after the strex. dsb is overkill.
+ * config/arm/sync.md (arm_memory_barrier_v7): Use "dmb ish" since
+ the compiler usage is for multithreading, not external device sync.
+
+2009-12-04 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7442004
+ * config/arm/t-darwin: Always build libgcc2 functions with -marm.
+
+2009-11-03 Stuart Hastings <stuart@apple.com>
+
+ Radar 6951876
+ * local-alloc.c (reg_inheritance_1): Check for int->float
+ SUBREG cast, assume it uses the pic-base. This is the
+ 32-bit float analogue to 6050374 (see below).
+
+2009-11-02 Stuart Hastings <stuart@apple.com>
+
+ Radar 7105615
+ * fold-const.c (fold_binary): When folding an unsigned
+ comparision into a signed comparision, set TREE_OVERFLOW so
+ that the loop optimizer in tree-vrp.c understands that the
+ user did not write this.
+
+2009-10-15 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7295521
+ * config/arm/arm.c (arm_split_compare_and_swap): Call insns for
+ arm_memory_barrier* and arm_memory_sync* directory rather than using
+ the expander.
+ * config/arm/sync.md (memory_barrier, memory_sync): Allocate a scratch
+ register rather than forcing IP.
+ (arm_memory_barrier_v6): Match the scratch register from the expander
+ rather than forcing IP. Rename to arm_memory_barrier_v6_explicit.
+ (arm_memory_barrier_v6_explicit): New.
+ (arm_memory_sync_v6): Match the scratch register from the expander
+ rather than forcing IP. Rename to arm_memory_sync_v6_explicit.
+ (arm_memory_sync_v6_explicit): New.
+
+2009-09-08 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7174451
+ * config/arm/arm.c (arm_select_dominance_cc_mode): Unordered floats.
+
+2009-09-08 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6258536
+ * gcc/testsuite/lib/target-supports.exp
+ (check_effective_target_sync_int_long): Enable __sync* tests for ARM.
+ * gcc/config/arm/arm.c (emit_load_locked, emit_store_conditional,
+ arm_split_compare_and_swap): New.
+ * gcc/config/arm/arm.h (ARM_PRINT_OPERAND_ADDRESS): Omit the ", #0"
+ for no-offset register addresses to make LDREX* and STREX* happy.
+ (arm_arch7a): Make extern for use in .md files.
+ * gcc/config/arm/arm-protos.h (arm_split_compare_and_swap): New.
+ * gcc/config/arm/sync.md: New file.
+ * gcc/config/arm/arm.md: Include "sync.md".
+ (UNSPEC_CMPXCHG, UNSPEC_BARRIER, UNSPEC_SYNC, VUNSPEC_LL,
+ VUNSPEC_SC): New.
+
+2009-09-04 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6574544
+ * config/arm/arm.c (arm_expand_neon_args): Convert builtin arguments
+ to the expected mode.
+
+2009-09-04 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7198870
+ * config/arm/arm.c (thumb2_legitimate_index_p): Restrict negative
+ range to -255 since that's the min for STR.
+
+2009-09-01 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7191061
+ * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Force 32-bit
+ alignment for MI thunk functions.
+
+2009-09-01 Jim Grosbach <grosbach@apple.com>
+
+ Radar 7109945
+ * config/arm (thumb2_legitimate_index_p): VFP register addresses
+ should be restricted to constants in range for VSTR.
+
+2009-07-31 Bob Wilson <bob.wilson@apple.com>
+
+ Radar 7105099
+ Backport from mainline (the ARM portions were already partly there):
+ 2007-07-16 Julian Brown <julian@codesourcery.com>
+ * config/arm/arm-protos.h (arm_mangle_type): Add prototype.
+ * config/arm/arm.c (TARGET_MANGLE_TYPE): Define target hook.
+ (arm_init_neon_builtins): Fix comment.
+ (arm_mangle_map_entry): New.
+ (arm_mangle_map): New.
+ (arm_mangle_type): New.
+ * config/i386/i386.c (ix86_mangle_fundamental_type): Rename to...
+ (ix86_mangle_type): This. Use TYPE_MAIN_VARIANT and restrict
+ mangled types to VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, REAL_TYPE.
+ (TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
+ (TARGET_MANGLE_TYPE): Define this instead.
+ * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Rename
+ to...
+ (rs6000_mangle_type): This. Use TYPE_MAIN_VARIANT.
+ (TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
+ (TARGET_MANGLE_TYPE): Define this instead.
+ * cp/mangle.c (write_type): Call mangle_type target hook on all
+ types before mangling. Use original type, not main variant, as
+ argument.
+ * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): Rename hook to...
+ (TARGET_MANGLE_TYPE): This.
+ * target.h (gcc_target): Rename mangle_fundamental_type to
+ mangle_type.
+ * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Rename section to...
+ (TARGET_MANGLE_TYPE): This. Note slightly different semantics.
+
+2009-07-24 Bob Wilson <bob.wilson@apple.com>
+
+ Radar 7088565
+ * config/arm/t-darwin (MULTILIB_OPTIONS): Separate options with
+ slashes instead of spaces so that they are mutually exclusive.
+ (MULTILIB_EXCEPTIONS): Stop using gen-darwin-multilib-exceptions.sh.
+ (MULTILIB_MATCHES): Recognize equivalent -march and -mcpu options.
+ * config/arm/gen-darwin-multilib-exceptions.sh: Delete.
+ * config.gcc: Remove duplicate for arm/t-darwin.
+
+2009-07-09 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6999417
+ * config/darwin.h (DARWIN_DYLIB1_SPEC): -ldylib1.o is not necessary
+ for iPhoneOS >= 3.1
+ (DARWIN_BUNDLE1_SPEC): New. -lbundle1.o is not necessary for
+ iPhoneOS >= 3.1
+ (DARWIN_CRT1_SPEC): iPhoneOS >= 3.1 should use -lcrt1.3.1.o;
+ otherwise, -lcrt1.o.
+
+2009-07-07 Stuart Hastings <stuart@apple.com>
+
+ Radar 6939151
+ * local-alloc.c (local_alloc): Add comment, limit to a 12MB
+ bitmap.
+
+2009-07-07 Stuart Hastings <stuart@apple.com>
+
+ Radar 6939151
+ * local-alloc.c (local_alloc): Avoid allocating huge register
+ bitmaps. Arbitrarily set 64K pseudo-register limit for
+ reg_inheritance analysis.
+
+2009-06-25 Bob Wilson <bob.wilson@apple.com>
+
+ Radar 6879229
+ * config/arm/arm.c (arm_override_options): Disallow -fasm-blocks.
+ * doc/invoke.texi (-fasm-blocks): Document this restriction.
+
+2009-06-17 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6821124
+ * builtin-attrs.def (DEF_FORMAT_ATTRIBUTE): For Darwin, don't claim
+ the format argument to be nonnull.
+ * builtins.def (BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED,
+ BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Likewise.
+
+2009-06-17 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6858124
+ * config/arm/arm.c (arm_output_mi_thunk): Stub calls aren't indirect
+ in MI thumb thunks.
+
+2009-06-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6936421
+ * cvt.c (force_rvalue): Convert property reference
+ expression to its getter call before converting to
+ rvalue.
+ * obj-c++.dg/property-as-initializer.mm: New
+
+2009-06-12 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6868127
+ * doc/invoke.texi (-mthumb): Specify that thumb is the default for
+ armv7.
+
+2009-05-20 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6902937
+ * config/arm/arm.c (arm_output_epilogue_vfp_restore): New function.
+ (arm_output_epilogue): Factor out common code to
+ arm_output_epilogue_vfp_restore.
+
+2009-05-19 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6902792
+ * config/arm/arm.c: Add includes for stdlib.h and ctype.h.
+ (TARGET_MD_ASM_CLOBBERS): New.
+ (arm_md_asm_clobbers): New function. Add a clobber of the upper
+ half D register when a Q register clobber is used.
+
+2009-04-08 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6738583
+ * config/arm/arm.c (arm_init_cumulative_args): Always short call local
+ functions.
+
+2009-04-06 Stuart Hastings <stuart@apple.com>
+
+ Radar 6755006
+ * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Unsigned
+ types can't be negative.
+
+2009-03-12 Caroline Tice <ctice@apple.com>
+
+ Radar 6144634
+ * c-parser.c (c_parser_statement_after_labels): When
+ re-setting the expression location at the end, use the input
+ location for Block pointer assignments.
+
+2009-03-18 Jim Grosbach <grosbach@apple.com
+
+ Radar 6676111 (from Mike's fix to SnowLeopard gcc 4.2 6486153)
+ * fold-const.c (extract_muldiv_1): Copy TYPE_OVERFLOW_UNDEFINED from
+ other uses in extract_muldiv_1 to avoid optimization when overflow
+ is defined.
+
+2009-03-18 Bob Wilson <bob.wilson@apple.com>
+
+ Radar 6545322
+ * gcc/config/arm/ieee754-sf.S (floatundisf): Replace undefined do_itt
+ macro call by do_it with an extra "t" argument.
+ * gcc/config/arm/ieee754-df.S (floatdidf): Likewise.
+ (muldf3): Revert inexplicable change that replaced a BIC with an AND.
+
+2009-02-25 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6465387
+ * gcc/config/arm/t-darwin (LIB1ASMFUNCS): Add _save_vfp_d8_d15_regs,
+ _restore_vfp_d8_d15_regs.
+ * gcc/config/arm/arm.c (handle_thumb_unexpanded_prologue,
+ handle_thumb_unexpanded_epilogue): Add call to
+ ___{save,restore}_vfp_d8_d15_regs when compiling a function
+ w/ a non-local label in Thumb1 mode for a v6 or later processor.
+ * gcc/config/arm/lib1funcs.asm (save_vfp_d8_d15_regs,
+ restore_vfp_d8_d15_regs): New functions, built only for v6 ARM.
+
+2009-02-11 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6573923
+ * c-decl.c (synth_block_byref_id_object_copy_func,
+ synth_block_byref_id_object_dispose_func): Set BLOCK_BYREF_CALLER
+ flag in call to copy/dispose helper functions.
+ * c-common.h (BLOCK_BYREF_CALLER): New flag.
+
+2009-02-25 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6611402
+ * gcc/config/arm/t-darwin (ARM_MULTILIB_ARCHS): New.
+ * (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS):
+ Derive values from list in ARM_MULTILIB_ARCHS.
+ * gcc/config/arm/gen-darwin-multilib-exceptions.sh: New.
+ Helper function to calculate the list for MULTILIB_EXCEPTIONS.
+
+2009-02-02 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5571707
+ * gcc/config/arm/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Set
+ flag to reserve R9 on v6 if target iPhone SDK is less than 3.0.
+ * gcc/config/arm/arm.c (darwin_reserve_r9_on_v6): New flag.
+ (arm_darwin_subtarget_conditional_register_usage): Conditionalize
+ making R9 available on darwin_reserve_r9_on_v6 when targeting v6.
+
+2009-01-30 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6370037
+ * ifcvt.c (cond_exec_process_if_block): Move loop-local variable
+ initialization inside loop so that further iterations don't
+ incorrectly use a value of the variable from a previous iteration.
+
+2009-01-29 Josh Conner <jconner@apple.com>
+
+ Radar 6186914, 6541440
+ * dwarf2out.c (dwarf_stack_op_name): Handle DW_OP_bit_piece.
+ (size_of_loc_descr, output_loc_operands): Likewise.
+ (reg_loc_descriptor): Call TARGET_DWARF2_REG_HANDLER if it is defined.
+ * config/arm/arm.h (TARGET_DWARF2_REG_HANDLER): Define.
+
+2009-01-27 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6483528
+ * config/arm/arm.c (arm_output_epilogue): Pop VFP registers in
+ correct order when multiple pop instructions are necessary.
+
+2009-01-22 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5571707
+ * config/arm/darwin.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE):
+ Allow use of R9 on v6 and v7.
+ * config/arm/arm.c (arm_darwin_subtarget_conditional_register_usage):
+ New function.
+ * config/arm/arm-protos.h
+ (arm_darwin_subtarget_conditional_register_usage): Ditto.
+
+2009-01-22 Stuart Hastings <stuart@apple.com>
+
+ Radar 6515001
+ * ifcvt.c(noce_try_cmove_arith): Use a more conservative trap
+ check.
+
+2009-01-12 Caroline Tice <ctice@apple.com>
+
+ Radar 6476836
+ * dwarf2out.c(struct die_struct): New field, "dead".
+ (size_of_inlined): Don't count entries whose "dead" field is marked.
+ (output_debug_inlined_section): Remove code that was commented out;
+ don't output info for dies whose "dead" field is marked.
+ (prune_unused_types_cleanup_inlining): New function.
+ (prune_unused_types): Call prune_unused_types_cleanup_inlining before
+ calling prune_unused_types_prune.
+
+2008-12-21 Caroline Tice <ctice@apple.com>
+
+ Radar 6455678
+ * cp/typeck.c (original_type): Stop if the type
+ and its DECL_ORIGINAL_TYPE are the same.
+
+2008-12-18 Bill Wendling <wendling@apple.com>
+
+ Radar 6457359
+ * c-parser.c (build_block_struct_initlist): Changed type.
+ * cp/parser.c (build_block_struct_initlist): Ditto.
+
+2008-12-18 Stuart Hastings <stuart@apple.com>
+
+ Radar 6440204
+ * config/i386/sse.md (sse2_ashlti3): Moved from here...
+ * config/i386/i386.md (sse2_ashlti3): ...to here.
+
+2008-12-11 Caroline Tice <ctice@apple.com>
+
+ Radars 5964438, 6007135
+ * cp/name-lookup.c (pushdecl_maybe_friend): Copy
+ type decl info to DECL_ORIGINAL_TYPE if the type
+ decl was anonymous.
+ * dwarf2out.c (gen_variable_die): Don't attempt to
+ reference an abstract origin unless the die actually
+ exists.
+
+2008-12-10 Jim Grosbach <grosbach@applecom>
+
+ Radar 6387939
+ * config/arm/arm.md (builtin_setjmp_setup): Properly terminate
+ the code snipped to prevent the rtl template from adding an
+ extraneous "use" insn into the instruction list.
+
+2008-12-09 Stuart Hastings <stuart@apple.com>
+
+ Radar 6414738
+ * var-tracking.c (clobber_variable_part): Update anextp for
+ next iteration.
+
+2008-12-05 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6413140
+ * c-parser.c (c_parser_block_literal_expr): Warn on use of explicit
+ block return type.
+
+2008-12-05 Stuart Hastings <stuart@apple.com>
+
+ Radar 6382081
+ * config/i386/i386.md (floatdisf2): Replace SSE code
+ with x87 code.
+
+2008-12-02 Caroline Tice <ctice@apple.com>
+
+ Radar 6386976
+ * objcp/objcp-decl.h (TYPE_HAS_OBJCXX_INFO): New macro.
+ * objcp/objcp-lang.c (objcp-decl.h): New include statement, with
+ required define.
+ (LANG_HOOKS_IS_RUNTIME_SPECIFIC_TYPE): Redefine for
+ obj-c++.
+ (objcxx_is_runtime_type): New function.
+
+2008-12-02 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6411649
+ * funciton.h: Added new field.
+ * c-common.c (build_block_helper_name): Produce a unique
+ block number per each enclosing function when building
+ the block helper function name.
+
+2008-12-02 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6396238
+ * c-typeck.c (build_block_call): Handle case of a block
+ expression tree with side-effect when envoking the block.
+
+2008-12-01 Caroline Tice <ctice@apple.com>
+
+ Radar 6386976
+ * objc/objc-lang.c (objc_is_runtime_type): New function.
+ (LANG_HOOKS_IS_RUNTIME_SPECIFIC_TYPE): Re-define new constant.
+ * dwarf2out.c (dwarf_attr_name): Add case statements for
+ DW_AT_APPLE_major_runtime_vers and DW_AT_APPLE_runtime_class.
+ ( gen_struct_or_union_type_die): Call
+ lang_hooks.types.is_runtime_specific_type, and add runtime attribute
+ if appropriate.
+ (dwarf2out_finish): Add DW_AT_APPLE_major_runtime_vers to comp_unit
+ die if appropriate.
+ * dwarf2.h (enum dwarf_attribute): Add two new Apple dwarf attributes:
+ DW_AT_APPLE_major_runtime_vers and DW_AT_APPLE_runtime_class.
+ * langhooks.c (lhd_is_runtime_specific_type): New generic function.
+ * langhooks.h (struct lang_hooks_for_types): Add new function field,
+ is_runtime_specific_type.
+ * langhooks-def.h (lhd_is_runtime_specific_type): New extern decl.
+ (LANG_HOOKS_IS_RUNTIME_SPECIFIC_TYPE): New constant definition.
+ (LANG_HOOKS_FOR_TYPES_INITIALIZER): Use new constant definition to
+ initialize new field.
+
+
+2008-12-01 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6404979
+ * c-decl.c (block_build_prologue): Use an internal name for
+ block helper's hidden argument.
+ * c-parser.c (c_parser_block_literal_expr): Ditto.
+
+2008-12-01 Stuart Hastings <stuart@apple.com>
+
+ Radar 6382081
+ * config/i386/i386.md (floatdisf2): Add SSE code for
+ conversion on x86_32.
+ * config/i386/i386.c (ix86_expand_convert_sign_DI2DF_sse): Typo.
+
+2008-11-24 Stuart Hastings <stuart@apple.com>
+
+ * config/i386/i386.c (ix86_expand_convert_uns_SI2DF_sse): Fix
+ comment.
+
+2008-11-18 Stuart Hastings <stuart@apple.com>
+
+ Radar 6353006
+ * tree.c (generic_block_literal_struct_type): Fix APPLE LOCAL.
+ * langhooks-def.h (lhd_build_generic_block_struct_type): Fix
+ APPLE LOCAL.
+
+2008-11-12 Caroline Tice <ctice@apple.com>
+
+ * tree.c (generic_block_literal_struct_type): Move global variable
+ decl here from c-common.c.
+ (build_block_pointer_type): Change call to
+ build_generic_block_struct_type to go through lang_hooks.
+ * tree.h: Remove extern function dec, for
+ build_generic_block_struct_type.
+ * cp/cp-objcp-common.h: Define c++-specific version of
+ LANG_HOOKS_BUILD_GENERIC_BLOCK_STRUCT_TYPE.
+ * cp/parser.c (build_generic_block_struct_type): Rename function to
+ c_build_generic_block_struct_type.
+ * c-objc-common.h: Define c-specific version of
+ LANG_HOOKS_BUILD_GENERIC_BLOCK_STRUCT_TYPE.
+ * langhooks.c (lhd_build_generic_block_struct_type): New generic
+ function.
+ * langhooks.h (struct lang_hooks): Add new function field,
+ build_generic_block_struct_type.
+ * c-common.c (generic_block_literal_struct_type): Move global variable
+ decl from here to tree.c.
+ * c-common.h (c_build_generic_block_struct_type): New extern
+ function decl.
+ * c-parser.c (build_generic_block_struct_type): Rename function to
+ c_build_generic_block_struct_type.
+ * langhooks-def.h (lhd_build_generic_block_struct_type): New extern
+ function decl.
+ (LANG_HOOKS_BUILD_GENERIC_BLOCK_STRUCT_TYPE): New variable
+ definition.
+ (LANG_HOOKS_INITIALIZER): Initialize new field to
+ LANG_HOOKS_BUILD_GENERIC_BLOCK_STRUCT_TYPE
+
+2008-11-11 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6351990
+ * config/darwin.c (machopic_select_section): Accomodate change
+ for meta-data prefix name.
+ * config/darwin-sections.def (__objc_protorefs, __objc_protolist):
+ These sections are now coalesced.
+
+2008-11-11 Stuart Hastings <stuart@apple.com>
+
+ Radar 4299257
+ * config/i386/i386.c (bdesc_com): Move ucomXX instructions
+ from here... (bdesc_ucomi): ...to here. New.
+ (ix86_init_mmx_sse_builtins): Add a loop to walk
+ bdesc_ucomi[] and instantiate ucomiXX builtins.
+ (ix86_expand_sse_ucomi): New. (ix86_expand_builtin): Call
+ it.
+
+2008-11-07 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5847976
+ * c-decl.c (synth_block_byref_id_object_copy_func): Takes a new
+ 'flag' argument and generates the much simplified API.
+ (synth_block_byref_id_object_dispose_func): Ditto.
+ (new_block_byref_decl): Hack to prevent issuing bogus warning
+ on a field declared as __weak.
+ (init_byref_decl): Takes an additional 'flag' argument
+ and passes it down to synth_block_byref_id_object_copy_func and
+ synth_block_byref_id_object_dispose_func.
+ (finish_decl): Computes the flag for the block variable declaration.
+ * c-common.c (build_block_byref_release_decl,
+ build_block_byref_assign_copy_decl): Removed.
+ (build_block_byref_release_exp): Use the new API.
+ (build_block_object_assign_decl, build_block_object_assign_call_exp,
+ build_block_object_dispose_decl, build_block_object_dispose_call_exp): New.
+ (build_indirect_object_id_exp): Fixed a code gen bug which was exposed in
+ c/c++ mode, but not in ObjC/ObjC++ mode.
+ * c-common.h (build_block_object_assign_call_exp,
+ build_block_object_dispose_call_exp,
+ objc_is_gcable_type): New decls.
+ Declaration of several new flags.
+ (cast_to_pointer_to_id): Removed.
+ * stub-objc.c (objc_is_gcable_type): New
+ (copy_in_object, retain_block_component, release_block_component): Removed.
+ (cast_to_pointer_to_id): Removed.
+ * c-parser.c (build_block_struct_initlist): Remove call to copy_in_object.
+ (synth_copy_helper_block_func): Generates much simplified API.
+ (synth_destroy_helper_block_func): Ditto.
+ (block_object_dispose): Removed.
+ * config/darwin-c.c (darwin_cpp_builtins): Define __weak even when
+ -fobjc-gc is off.
+
+2008-11-18 Jim Grosbach <grosbach@apple.com>
+ Radar 6361608
+ * config/arm/arm.c (arm_output_mi_thunk): C++ thunks for multiple
+ inheritance need to account for the different PC-relative offset
+ bias of the add instruction in Thumb-2 vs. ARM mode (4 vs. 8).
+
+2008-11-13 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6357106
+ * config/arm/arm.c (arm_function_boundary): Thumb2 functions
+ should be 32-bit aligned.
+
+2008-11-13 Jim Grosbach <grosbach@apple.com>
+ Radar 6333007
+ * config/darwin-driver.c (darwin_default_min_version): Bump default
+ iPhoneos-version-min to 3.0.
+ * config/arm/darwin.h (DARWIN_MINVERSION_SPEC,
+ SUBTARGET_OVERRIDE_OPTIONS): Ditto.
+
+2008-11-13 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6345234
+ * config/arm/arm.c (arm_file_start): Emit section directives
+ for text sections at the start of file, as for PPC.
+
+2008-11-11 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6351990
+ * config/darwin.c (machopic_select_section): Accomodate change
+ for meta-data prefix name.
+ * config/darwin-sections.def (__objc_protorefs, __objc_protolist):
+ These sections are now coalesced.
+
+2008-11-4 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6327222
+ * config/arm/arm.c (legitimize_pic_address): Be more generous about
+ constants when the operand is of the form (const (plus (something)
+ (const)).
+
+2008-10-31 Stuart Hastings <stuart@apple.com>
+
+ Radar 5813921
+ * builtins.c (validate_arglist): Tolerate enums where
+ INTEGER_TYPE is expected.
+
+2008-10-31 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6175959
+ * stub-objc.c (block_requires_copying): Object pointers with
+ NSObject attribute also require copy/release API.
+ * c-parser.c (synth_copy_helper_block_func): Use the new API
+ _Block_object_assign for ObjC object copying.
+ (block_object_dispose): New
+ (synth_destroy_helper_block_func): Call block_object_dispose
+ to use new _Block_object_dispose API for ObjC object release.
+
+2008-10-30 Stuart Hastings <stuart@apple.com>
+
+ Radar 5834718
+ * coverage.c (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask,
+ fn_n_ctrs, fn_b_ctrs): Added GTY(()) markers.
+
+2008-10-29 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6329245
+ * c-decl.c (build_block_descriptor_type): Remove
+ "FuncPtr" field decl.
+ * c-typeck.c (build_block_call): Block call is
+ now same as old ABI.
+ * c-parser.c (build_generic_block_struct_type): Primary block
+ type is now reverted to old ABI in its first 4 fields.
+ (build_block_struct_type): Ditto.
+ (build_block_struct_initlist): Primary block initializer
+ list is now reverted to old ABI somewhat.
+
+2008-10-28 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6243961
+ * varasm.c (build_constant_desc): With -fwritable-string
+ prefix normal string constants with "lC".
+ (output_constant_def): Turn off -fwritable-string
+ for cf-strings.
+
+2008-10-28 Stuart Hastings <stuart@apple.com>
+
+ * ggc-common.c (init_ggc_heuristics): Add ATTRIBUTE_UNUSED.
+
+2008-10-27 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6231433
+ * c-typeck.c (objc_compare_types, objc_have_common_type):
+ Take an extra argument for better diagnostics.
+ * c-common.c (objc_compare_types, objc_have_common_type):
+ Take extra argument.
+ * stub-objc.c: Ditto
+
+2008-10-27 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6302949
+ * c-parser.c (c_parser_objc_property_attrlist): Warn on missing
+ ',' separator for property attribute list.
+
+2008-10-24 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6305545
+ * cgraph.h (lower_if_nested_functions): New decl.
+ * tree-gimple.h (lower_nested_functions): Takes one more arg.
+ * cgraphunit.c (lower_if_nested_functions): New
+ * tree-nested.c (lower_nested_functions): Skip structors.
+
+2008-10-24 Stuart Hastings <stuart@apple.com>
+
+ Radar 308664 6310728 6311054 6311100
+ * config/i386/i386.c (legitimate_pic_address_disp_p): Local
+ labels should not be affected by -mfix-and-continue.
+
+2008-10-24 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5847213 (minor tweak)
+ * c-decl.c (build_block_descriptor_type):
+ Make descriptor_ptr_type and descriptor_ptr_type_with_copydispose
+ visible to pch.
+
+2008-10-24 Josh Conner <jconner@apple.com>
+
+ Radar 6305331
+ * config/arm/arm.h (TARGET_COMPACT_SWITCH_TABLES): Define...
+ (CASE_VECTOR_SHORTEN_MODE): ...use.
+ (ASM_OUTPUT_ADDDR_DIFF_VEC): ...use.
+ * config/arm/arm.md (casesi): ...use.
+ (thumb_casesi_internal): ...use.
+
+2008-10-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6307941
+ * config/darwin.h (OBJC2_ABI_DISPATCH): New macro.
+
+2008-10-23 Caroline Tice <ctice@apple.com>
+
+ Radar 6300081
+ * tree.c(build_block_pointer_type): Add call to
+ build_generic_block_struct_type to initialize
+ generic_block_literal_struct_type if necessary.
+ * cp/parser.c (build_generic_block_struct_type): Update comments.
+ (build_block_struct_type): Remove call to
+ build_generic_block_struct_type.
+ (make_block_pointer_declarator): Likewise.
+ * c-decl.c (make_block_pointer_declarator): Likewise.
+ * c-parser.c (build_block_struct_type): Likewise.
+ (build_generic_block_struct_type): Update comments.
+
+2008-10-22 Caroline Tice <ctice@apple.com>
+
+ Radar 6300081
+ * c-parser.c (build_generic_block_struct_type): Add comments.
+ * cp/parser.c (build_generic_block_struct_type): Add comments.
+
+2008-10-22 Caroline Tice <ctice@apple.com>
+
+ Radar 6300081 & Radar 6163705
+ * tree.h (generic_block_literal_struct_type): Extern global variable
+ decl.
+ (build_generic_block_struct_type): New extern function decl.
+ * cp/parser (build_generic_block_struct_type): New function.
+ (build_block_struct_type): Call build_generic_block_struct_type
+ to initialize generic_block_literal_struct_type.
+ (make_block_pointer_declarator): Likewise.
+ (declare_block_prologue_local_vars): Temporarily set input_location
+ to 1 before the start of the block function; re-set input_location at
+ the end of this function.
+ * dwarf2out.c (add_type_attribute): If the type is a
+ BLOCK_POINTER_TYPE, assign it to be a pointer to a
+ generic_block_literal_struct_type.
+ * c-decl.c (make_block_pointer_declarator): Call
+ build_generic_block_struct_type to initialize
+ generic_block_literal_struct_type.
+ * c-common.c (generic_block_literal_struct_type): New global variable.
+ * c-parser.c (build_generic_block_struct_type): New function.
+ (build_block_struct_type): Call build_generic_block_struct_type
+ to initialize generic_block_literal_struct_type.
+ * testsuite/gcc.apple/block-debug-1.c: Fix test to work with new
+ compiler modifications.
+ * testsuite/gcc.apple/block-debug-2.c: Likewise.
+ * testsuite/g++.apple/block-debug-1.C: Likewise.
+ * testsuite/g++.apple/block-debug-2.C: Likewise.
+
+2008-10-22 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6310599
+ * dwarf2out.c: forwarding is now __forwarding
+ * c-decl.c: All internal field names in block internal types
+ have '__' prefix.
+ * c-typeck.c: Ditto
+ * c-common.c: Ditto
+ * c-parser.c: Ditto
+
+2008-10-21 Stuart Hastings <stuart@apple.com>
+
+ Radar 6187262
+ * tree-ssa-loop-ivopts.c (may_be_nonaddressable): Treat
+ "(vector)scalar" like "(aggregate)scalar".
+
+2008-10-21 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4746503
+ * toplev.c (warn_deprecated_use): Do not issue
+ any deprecated warning in a function that itself
+ is deprecated.
+
+2008-10-20 Stuart Hastings <stuart@apple.com>
+
+ Radar 6222167
+ * sse.md (sse_4_1_smax<mode>3, sse_4_1_umax<mode>3,
+ sse_4_1_smin<mode>3, sse_4_1_umin<mode>3): Drop '*' so these
+ are visible...
+ * i386.c (__builtin_ia32_pmaxsb128, __builtin_ia32_pmaxsd128,
+ __builtin_ia32_pmaxud128, __builtin_ia32_pmaxuw128,
+ __builtin_ia32_pminsb128, __builtin_ia32_pminsd128,
+ __builtin_ia32_pminud128, __builtin_ia32_pminuw128):
+ ...here. Use CODE_FOR_sse4_1_XX codes.
+
+2008-10-20 Stuart Hastings <stuart@apple.com>
+
+ Radar 6227434
+ * config/i386/i386.c (legitimate_pic_addres_disp_p): Use #if
+ TARGET_MACHO for Linux portability.
+
+2008-10-20 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6255595
+ * config/darwin.c (output_objc_section_asm_op): Add two new section names.
+ (objc_internal_variable_name): New routine.
+ (machopic_select_section): Call objc_internal_variable_name.
+ * config/darwin-sections.def: Define two new kinds of
+ __DATA section.
+
+2008-10-17 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6289031
+ * c-parser.c: Removed all code related to
+ radar 6083129 (byref escapes).
+ * c-common.h: Removed all declarations
+ related to radar 6083129 (byref escapes).
+ * c-typeck.c: Removed all code related to
+ radar 6083129 (byref escapes).
+ * c-decl.c: Removed all code related to
+ radar 6083129 (byref escapes).
+ (finish_decl): Add code to cleanup a
+ __block declared variable.
+ (build_block_byref_decl): Add code to cleanup a
+ __block declared variable.
+
+2008-10-15 Stuart Hastings <stuart@apple.com>
+
+ Radar 6255801
+ * objc/objc-act.c (objc_set_global_decl_fields): Set
+ DECL_USER_ALIGN on OBJC metadata to keep only word
+ alignment.
+
+2008-10-17 Stuart Hastings <stuart@apple.com>
+
+ Radar 6227434
+ * config/i386/i386.c (legitimate_pic_address_disp_p): All
+ static variables are addressed as global under -m64
+ -mfix-and-continue, except Objective-C metadata.
+
+2008-10-17 Caroline Tice <ctice@apple.com>
+
+ Radar 6292557
+ * dwarf2out.c (add_inlined_section_entry): If the
+ function does not have any debug info, don't try
+ to add it to the dwarf inlined section.
+ * testsuite/gcc.apple/r6292557.c: New testcase.
+
+2008-10-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6276695
+
+ (Removed all references to __byref and removed '|' syntax for byref decls.)
+ * cp/decl.c: Modifed
+ * cp/parser.c: Modifed
+ * c-decl.c: Modifed
+ * c-typeck.c: Modifed
+ * c-common.c: Modifed
+ * c-common.h: Modifed
+ * c-parser.c: Modifed
+ * config/darwin-c.c: Modified
+
+2008-10-16 Josh Conner <jconner@apple.com>
+
+ Radar 6288519
+ * config/arm/arm.md (casesi): Disallow for TARGET_THUMB &&
+ TARGET_LONG_CALLS.
+ (thumb_casesi_internal): Likewise.
+
+2008-10-14 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6286881
+ * fold-const.c (fold_binary): Type of operands to
+ TRUTH_NOT_EXPR must match.
+
+2008-10-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5847213 - New Block ABI
+ * dwarf2out.c (add_type_attribute): Unusuable code
+ for radar 5811943 is removed.
+ * c-decl.c (build_block_byref_decl): Removed unneeded
+ build of block_original_byref_decl_list.
+ (build_block_internal_types): Removed.
+ (build_block_descriptor_type): New routine to build the descriptor type.
+ (make_block_pointer_declarator): Unused code is removed.
+ * c-typeck.c (build_block_call): New code gen for block calls.
+ * c-common.c (invoke_impl_ptr_type): Removed.
+ * c-common.h (block_original_byref_decl_list, build_block_internal_types): Removed
+ (build_block_descriptor_type, BLOCK_HAS_DESCRIPTOR): Decls added.
+ * c-parser.c (build_block_struct_type): Block literal expression internal type
+ is redeclared into its new layout.
+ (build_block_struct_initlist): Initializer list for above type is redone.
+ (build_descriptor_block_decl): New routine to declare the descriptor variable
+ (build_block_literal_tmp): Modified for the new type and initiazation.
+
+2008-10-10 Stuart Hastings <stuart@apple.com>
+
+ Radar 6107012
+ * ipa-type-escape.c (parent_type_p_pset): New.
+ (check_cast_type): Initialize it. (parent_type_p): Use it.
+
+2008-10-10 Stuart Hastings <stuart@apple.com>
+
+ Radar 6227434
+ * config/i386/i386.c (legitimate_pic_address_disp_p): All
+ static variables are addressed as global under -m64
+ -mfix-and-continue.
+
+2008-10-10 Caroline Tice <ctice@apple.com>a
+
+ Radar 6275985
+ * dwarf2out.c (debug_inlined_section): New global variable.
+ (struct indirect_string_node): Add new field, is_fn_name.
+ (inlined_ref): New typedef.
+ (struct inlined_entry_struct): New global type.
+ (DWARF_INLINED_HEADER_SIZE): New constant.
+ (debug_inlined_table): New global variable.
+ (size_of_inlined): New function.
+ (add_inlined_section_entry): New function.
+ (output_debug_inlined_section): New function.
+ (add_AT_string): set new field, is_fn_name, to true if the
+ string is a function name.
+ (AT_string_form): Force the form to always be a string pointer
+ if the string is a function name.
+ (has_AT): New function.
+ (add_abstract_origin_attribute): Make sure any function that
+ gets inlined as the DW_AT_inline attribute.
+ (get_inlined_subroutine_die): Call add_inlined_section_entry, to
+ add it to the new section.
+ (dwarf2init): Allocate the new debug_inlined_table; initialize
+ debug_inlined_section if DEBUG_INLINED_SECTION is defined.
+ (prune_unused_types): Make sure function names always go into
+ the debug_str_hash table.
+ (dwarf2out_finish): if DEBUG_INLINED_SECTION is defined,
+ switch to the debug_inlined_section and call
+ output_debug_inlined_section.
+ * config/darwin.h: define DEBUG_INLINED_SECTION.
+ * config/darwin.c (darwin_file_start): Add DEBUG_INLINED_SECTION
+ to list of debug sections.
+
+2008-10-09 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6269491
+ * config/darwin.h (darwin_ms_struct): Remove addition
+ of -Wno-non-lvalue-assign when -fobjc-gc is specified.
+
+2008-10-09 Caroline Tice <ctice@apple.com>
+
+ Radar 6163705 (again)
+ * function.c (find_block_prologue_insns): Don't worry about
+ other insns before the prologue insns, if the optimization level
+ is zero.
+
+2008-10-07 Stuart Hastings <stuart@apple.com>
+
+ Radar 6258941
+ gcc/cfgbuild.c (control_flow_insn_p): Treat unconditional TRAP
+ like any conditional TRAP.
+
+2008-10-06 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6268817
+ * c-decl.c (check_for_loop_decls): Block helper function
+ is OK if declared in a for-loop main statement block.
+
+2008-10-03 Josh Conner <jconner@apple.com>
+
+ Radar 6268204
+ * doc/invoke.texi (-mkernel): Document that -mlong-branch
+ is set for ARM.
+ * config/arm/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Have -mkernel
+ and -fapple-kext imply -mlong-branch.
+
+2008-10-02 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6246527
+ * attribs.c (decl_attributes): Added support for adding attributes
+ on block pointer variable declarations.
+ * c-common.c (block_delta_format_args): Add
+ (any_recognized_block_attribute): Add
+ * c-common.h (any_recognized_block_attribute): New decl.
+ * c-parser.c (c_parser_block_literal_expr): Call to do the delta
+ on printf attribute.
+
+2008-10-02 Stuart Hastings <stuart@apple.com>
+
+ Radar 5919583
+ * config/i386/emmintin.h (_mm_srli_si128, _mm_srli_si128):
+ Revise to invoke __builtin_ia32_pslldqi128_byteshift and
+ __builtin_ia32_psrldqi128_byteshift, remove parameters and
+ move multiplication by 8 from here...
+ * config/i386/i386.c (ix86_expand_builtin): ...to here. Add
+ support for IX86_BUILTIN_PSLLDQI128_BYTESHIFT and
+ IX86_BUILTIN_PSRLDQI128_BYTESHIFT.
+ (IX86_BUILTIN_PSLLDQI128_BYTESHIFT,
+ IX86_BUILTIN_PSRLDQI128_BYTESHIFT,
+ __builtin_ia32_pslldqi128_byteshift,
+ __builtin_ia32_psrldqi128_byteshift): New.
+
+2008-10-01 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6252174
+ * config/darwin.c (machopic_select_section): Send objc_msgSendSuper*
+ symbol to msgrefs section.
+
+2008-09-30 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6261552
+ * gimplify (gimplify_return_expr): code to check for
+ cur_block is removed.
+
+2008-09-30 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6230297
+ * c-parser.c (build_block_struct_initlist): 'trivial'
+ block temporary can be static as well.
+ (build_block_literal_tmp): Accomodate 'trivial' block
+ literal temporary variable as static.
+
+2008-09-30 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6225809
+ * c-decl.c (build_block_byref_decl): Add __block vaiables
+ to intervening blocks.
+
+2008-09-30 Stuart Hastings <stuart@apple.com>
+
+ Radar 5919583
+ Revert 2008-09-26 patch.
+
+2008-09-30 Caroline Tice <ctice@apple.com>
+
+ Radars 6237086 & 6237616
+ * dwarf2out.c (find_block_byref_var_real_type): Fix to work whether
+ TYPE_NAME (block_struct) is an IDENTIFIER_NODE or a TYPE_DECL.
+ (block_fixup_location_description): New function.
+ (build_byref_var_location_expression): Add call to
+ block_fixup_location_description.
+ (add_block_byref_var_location_attribute): Fix to work whether
+ TYPE_NAME (block_struct) is an IDENTIFIER_NODE or a TYPE_DECL.
+ (gen_variable_die): Ditto, when handling block byref variables.
+
+2008-09-28 Caroline Tice <ctice@apple.com>
+
+ Radar 6163705
+ * function.c (append_insn_list): Remove function.
+ (find_and_extract_block_prologue_insns): Renamed (see next entry).
+ (find_block_prologue_insns): Renamed from
+ find_and_extract_block_prologue_insns; instead of extracting a
+ list of prologue insns, it now only finds the prologue insns and
+ determines if it's safe to move the end-of-prologue note to just
+ past the last prologue insn; if so it returns the last prologue insn,
+ otherwise just returns null.
+
+2008-09-26 Stuart Hastings <stuart@apple.com>
+
+ Radar 5919583
+ * config/i386/emmintin.h (_mm_srli_si128, _mm_srli_si128):
+ Remove parameters and move multiplication by 8 from here...
+ * config/i386/i386.c (ix86_expand_builtin): ...to here.
+
+2008-09-25 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6244520 - minor addition
+ * c-common.c (build_indirect_object_id_exp): offset needs
+ be updated to accomodate addition of the new field.
+
+2008-09-26 Caroline Tice <ctice@apple.com>
+
+ Radar 6163705
+ * cp/parser.c (declare_block_prologue_local_byref_vars): Assign the
+ decl_stmt a line number of one before the declaration of the function.
+ * c-decl.c (declare_block_prologue_local_vars): Likewise.
+ * function.c (find_and_extract_block_prologue_insns): New function.
+ (append_insn_list): New function.
+ (thread_prologue_and_epilogue_insns): If the function is a Block
+ helper function, call find_and_extract_block_prologue_insns; If that
+ function call returned a list of insns, call append_insn_list to add
+ them to the end of the "normal" prologue.
+
+2008-09-25 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6246965
+ * c-typeck.c (functiontypes_are_block_compatible): Use
+ existing API for argument-list type checking.
+
+2008-09-25 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6244520
+ * c-decl.c (new_block_byref_decl): New field added to
+ struct __Block_byref_x.
+ (init_byref_decl): Above field initialized to NULL.
+
+2008-09-25 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6237713
+ * c-common.c (handle_noreturn_attribute): Add 'noreturn'
+ attribute to block pointer decls.
+ * c-parser.c (c_parser_block_literal_expr): Parse and set
+ attributes on block literals.
+
+2008-09-24 Stuart Hastings <stuart@apple.com>
+
+ Radar 6025404
+ * config/i386/sse.md (ssse3_pmaddubswv8hi3,
+ ssse3_pmaddubswv4hi3): Not commutative.
+
+2008-09-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6196572
+ * c-typeck.c (functiontypes_are_block_compatible): Assignment to
+ variadic block pointer is ok.
+
+2008-09-19 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6173152
+ * c.opt (-fnew-property-ivar-synthesis): Is now the default.
+
+2008-09-19 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6230656
+ * config/darwin-c.c (darwin_cpp_builtins): Don't define __block
+ macro with -fno-blocks.
+
+2008-09-19 Stuart Hastings <stuart@apple.com>
+
+ Radar 6119849
+ * gcc/builtins.c (fold_builtin_classify): Under -ffast-math,
+ finite() should return 1.
+
+2008-09-17 Josh Conner <jconner@apple.com>
+
+ Radar 6204451
+ * global.c (global_alloc): Remove code that ignores conflicts
+ on single-set tied pseudos.
+
+2008-09-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6214617
+ * c-common: New flag BLOCK_HAS_CXX_OBJ replaces BLOCK_NO_COPY.
+ (BlockImportsCxxObjects): New field replaces BlockHasByrefVar.
+ * c-parser.c (build_block_struct_type): Remove setting of
+ BLOCK_NO_COPY flag.
+
+2008-09-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6217257
+ * c-common.c (handle_blocks_attribute): Diagnose
+ vla __block declarations.
+
+2008-09-13 Josh Conner <jconner@apple.com>
+
+ Radar 6214296
+ * config/darwin.h (STARTFILE_SPEC): Don't add crt3.o to the link line
+ if -miphoneos-version-min was specified.
+
+2008-09-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6212507
+ * config/darwin-c.c (objc_check_format_cfstring): Check for
+ argument number value.
+
+2008-09-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6212722 (tweak)
+ * c-decl.c (build_block_ref_decl): Use array_to_pointer_conversion
+ and function_to_pointer_conversion.
+ * c-typeck.c (array_to_pointer_conversion, function_to_pointer_conversion):
+ Made them global.
+ * c-common.h (array_to_pointer_conversion, function_to_pointer_conversion):
+ Declare.
+
+2008-09-11 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6212722
+ * c-decl.c (build_block_ref_decl): Add support for array referenced
+ as copied in objects in blocks.
+
+2008-09-11 Caroline Tice <ctice@apple.com>
+
+ Radar 6066486
+ * dwarf2out.c (add_sibling_attribute): Move leaf-test return
+ statement to below the code that potentially removes the
+ DW_AT_MIPS_linkage_name attribute.
+
+2008-09-10 Caroline Tice <ctice@apple.com>
+
+ Radar 6193416
+ * dwarf2out.c (gen_subprogram_die): Force Blocks helper
+ functions to be children of the comp_unit die.
+
+2008-09-09 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6169580
+ * c-commmon.c (build_block_helper_name): Fix bug in
+ block helper function name mangling.
+
+2008-09-08 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6064186
+ * config/darwin.c (machopic_select_section): Message refs
+ symbol prefixes changed now. Accomodate it.
+ * config/darwin-sections.def: __objc_msgrefs is now typed
+ as "coalesced".
+
+2008-09-08 Stuart Hastings <stuart@apple.com>
+
+ Radar 6070085
+ * gcc/tree-ssa-alias.c (group_aliases): Continue merging alias
+ sets until the changes converge.
+
+2008-09-03 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6185344
+ * c-typeck.c (c_finish_return): Don't do block specific
+ stuff when block has a return type.
+ * c-common.h (block_sema_info): block_has_return_type is
+ a new field.
+ * c-parser.c (c_parser_direct_declarator): Terminate type
+ parsing for block return types.
+ (c_parser_block_literal_expr): Added support to parse and
+ handle explicit return type for blocks.
+
+2008-08-28 Stuart Hastings <stuart@apple.com>
+
+ Radar 5023884
+ * gcc/config/darwin.h (LINK_SPEC): Remove "-multiply_defined
+ suppress".
+
+2008-08-28 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6160536
+ * c-commmon.c (build_block_helper_name): New
+ * c-common.h (build_block_helper_name): New decl.
+ * c-parser.c (c_parser_block_literal_expr): Call
+ build_block_helper_name to build pretty helper function
+ name.
+
+2008-08-28 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6180456
+ * c-decl.c (synth_block_byref_id_object_copy_func): Different
+ API for copying __block declared objects in c.
+ (synth_block_byref_id_object_dispose_func): Different API
+ for releasing __block declared objects in c.
+ * c-common.c (block_byref_assign_copy_decl): New
+ (build_indirect_object_id_exp): Cast to 'id *' in objective-c
+ mode only.
+ * c-common.h (build_block_byref_assign_copy_decl): New decl.
+ * c-parser.c (synth_copy_helper_block_func): Refactored code
+ to call build_block_byref_assign_copy_decl().
+
+2008-08-27 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6177162
+ * c-typeck.c (build_external_ref): Allow local static as a byref
+ variable by default.
+
+2008-08-27 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5780114
+ * gcc/doc/extend.texi: Modify documentation for -fobjc-gc.
+
+2008-08-26 Stuart Hastings <stuart@apple.com>
+
+ Radar 6131435
+ * gcc/config/i386/i386.h (SLOW_BYTE_ACCESS): Remove check for
+ TARGET.
+
+2008-08-22 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6164211
+ * c-typeck.c (build_array_ref): Preserve element's
+ protocol list when building array type.
+
+2008-08-22 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6172148
+ * tree.h (BLOCK_SYNTHESIZED_FUNC): Define
+ * dwarf2out.c (dwarf2out_decl): Check for
+ block helpers and do not treat them as nested
+ functions.
+ * c-decl.c (build_helper_func_decl): Set BLOCK_SYNTHESIZED_FUNC
+ for all block helper functions.
+
+2008-08-25 Josh Conner <jconner@apple.com>
+
+ Radar 6148015
+ * config/arm/arm.h (ARG_POINTER_CFA_OFFSET): Define.
+ * config/arm/arm.c (arm_expand_prologue): Mark pushes as
+ RTX_FRAME_RELATED_P.
+
+2008-08-24 Caroline Tice <ctice@apple.com>
+
+ Radars 6144664, 6145471, 6144634
+ c-decl.c (build_block_byref_decl): Assign the source
+ location for each byref decl to the source location of
+ the helper function decl.
+ (build_block_ref_decl): Ditto for ref decls.
+
+2008-08-23 Josh Conner <jconner@apple.com>
+
+ Radar 6162387
+ * config/darwin-sections.def (objc_v2_selector_refs_section):
+ Change section type to literal_pointers.
+
+2008-08-22 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5595325
+ * config/darwin-protos.h (darwin_handle_nsobject_attribute): New decl.
+ * config/darwin.c (darwin_handle_nsobject_attribute): New handler
+ for NSObject attribute.
+ * config/darwin.h: New entry for NSObject attribute table.
+
+2008-08-19 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5435299
+ * c.opt (fnew-property-ivar-synthesis): New option.
+
+2008-08-20 Stuart Hastings <stuart@apple.com>
+
+ Radar 6131435
+ * gcc/config/i386.h (SLOW_BYTE_ACCESS): Fix APPLE LOCAL.
+
+2008-08-19 Stuart Hastings <stuart@apple.com>
+
+ Radar 6131435
+ * gcc/config/i386.h (SLOW_BYTE_ACCESS): Set false under
+ -mkernel, -fapple-kext, or -m64.
+
+2008-08-18 Josh Conner <jconner@apple.com>
+
+ Revert:
+ 2008-08-14 Eugene Marinelli <marinelli@apple.com>
+ Radar 6149764
+ * Makefile.in: Add treecode-num-insns.def to tree-inline.o dependency
+ list.
+
+ 2008-08-06 Eugene Marinelli <marinelli@apple.com>
+ Radar 6013597
+ * params.def: Change default PARAM_INLINE_CALL_COST from 16 to 2.
+ Multiply instruction-count related parameters by 0.55 to account
+ for new instruction count estimation.
+ * tree-inline.c (estimate_num_insns_1): Replace most cases with
+ addition of constants defined in treecode-num-insns.def. Other cases
+ modified to return 1000 times the estimated number of instructions.
+ (estimate_num_insns): Divide result of estimate_num_insns_1 by 1000.
+ * treecode-num-insns.def: Add
+
+2008-08-14 Eugene Marinelli <marinelli@apple.com>
+
+ Radar 6149764
+ * Makefile.in: Add treecode-num-insns.def to tree-inline.o dependency
+ list.
+
+2008-08-14 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5822844
+ * c-typeck.c (digest_init): Handler block as initializer.
+ (c_finish_return): check for completed block before
+ analyzing block's return expression.
+ * varasm.c (output_constant): Allow outputting block data.
+ * c-common.h (BLOCK_IS_GLOBAL): New flag.
+ (block_is_complete): New field in block data structure.
+ * c-parser.c (build_block_struct_initlist): New initializer and
+ flag for global block data.
+ (build_block_literal_tmp): Temporary data for global block is
+ declared as global static.
+ (c_parser_block_literal_expr): Removed diagnostics for global blocks.
+ Moved fixing helper function type earlier before its tree is built.
+
+2008-08-11 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6141565
+ * gcc/c-common.c (iasm_constraint_for): fix compiler warning
+
+2008-08-08 Stuart Hastings <stuart@apple.com>
+
+ Radar 6131435
+ * gcc/config/i386.h (SLOW_BYTE_ACCESS): Set false for all
+ targets.
+
+2008-08-08 Stuart Hastings <stuart@apple.com>
+
+ Radar 5971844
+ * gcc/config/i386/darwin.opt
+ (-mdarwin-rtl-pre-ignore-critical-edges): New flag.
+ * gcc/postreload-gcse.c (eliminate_partially_redundant_load):
+ Disable critical edge check under
+ -mdarwin-rtl-pre-ignore-critical-edges.
+
+2008-08-07 Stuart Hastings <stuart@apple.com>
+
+ Radar 6128170
+ * gcc/except.c (output_function_exception_table): Move .align
+ ahead of both labels.
+
+2008-08-06 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6014138
+ * c-decl.c (build_block_byref_decl): In the presence of nested "{"
+ move up the scope chain until reaching the main function body's scope.
+
+2008-08-06 Eugene Marinelli <marinelli@apple.com>
+
+ Radar 6013597
+ * params.def: Change default PARAM_INLINE_CALL_COST from 16 to 2.
+ Multiply instruction-count related parameters by 0.55 to account
+ for new instruction count estimation.
+ * tree-inline.c (estimate_num_insns_1): Replace most cases with
+ addition of constants defined in treecode-num-insns.def. Other cases
+ modified to return 1000 times the estimated number of instructions.
+ (estimate_num_insns): Divide result of estimate_num_insns_1 by 1000.
+ * treecode-num-insns.def: Add
+
+2008-08-06 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6112131 - again (restore __byref again).
+ * config/darwin-c.c (darwin_cpp_builtins): Define __block.
+
+2008-08-05 Eugene Marinelli <marinelli@apple.com>
+
+ Radar 6020402
+ Re-add fixed version of original patch for radar 6020402.
+
+2008-08-05 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6110622
+ * config/arm/arm.md (soft_muldi3): Missing length attribute
+
+2008-08-05 Stuart Hastings <stuart@apple.com>
+
+ Radar 6102803
+ * flow.c (recompute_reg_usage): If targeting ppc with
+ -ftree-pre, clear existing reg-lifetime info to insure
+ thorough dead-code elimination.
+ * sbitmap.c (dump_sbitmap_vector): Avoid dumping uninitialized
+ memory.
+
+2008-08-04 Eugene Marinelli <marinelli@apple.com>
+
+ Radar 6020402
+ Temporarily reverting previous fix because of compilation error.
+
+2008-08-04 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6040305 - work in progress.
+ * c-decl.c (build_indirect_object_id_exp): Removed.
+ * c-common.c (build_indirect_object_id_exp): Added
+ * c-common.h (build_indirect_object_id_exp): New decl.
+ * config/darwin-c.c (darwin_cpp_builtins): Define __byref
+ in c++ mode as well.
+
+2008-08-04 Eugene Marinelli <marinelli@apple.com>
+
+ Radar 6020402
+ * calls.c (store_unaligned_arguments_into_pseudos): Add additional
+ argument to store_bit_field call.
+ * expmed.c (store_bit_field): Add argument for type of struct
+ containing the bit field.
+ (widest_mode_including_no_volatile_fields): Add.
+ (store_fixed_bit_field): Use widest_mode_including_no_volatile_fields
+ to set the maximum mode size to the size around the current field
+ that does not include any volatile fields.
+ * expr.c (emit_group_store, copy_blkmode_from_reg, write_complex_part):
+ Add arguments to store_bit_field calls.
+ * expr.h (store_bit_field): Add argument for struct type.
+ * ifcvt.c (noce_emit_move_insn): Add arguments to
+ store_bit_field calls.
+
+2008-08-4 Jim Grosbach <grosbach@apple.com>
+ Radar 6090616
+ * global.c (set_preference): Add checks to prevent integer underflow
+ of register numbers.
+
+2008-08-01 Geoff Keating <geoffk@apple.com>
+
+ Radar 5095227
+ * config/rs6000/rs6000.c (darwin_rs6000_override_options): Don't
+ enable -fstack-protector for PPC kexts targeting 10.6 by default.
+ * g++.apple/kext-stackprotect-1.c: New.
+ * g++.apple/kext-stackprotect-2.c: New.
+
+2008-08-01 Jon Ziegler <jonz@apple.com>
+
+ Radar 5095227
+ Re-apply Geoff's patch for -fstack-protector.
+
+2008-08-01 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5965787 (tweak).
+ * c-decl.c (build_indirect_object_id_exp): Fixed offset
+ computation of the 'object' field.
+
+2008-07-31 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6040305 - work in progress
+ * gimplify.c (gimplify_return_expr): Do not gimplify
+ return expresison yet if inside a block.
+
+2008-07-30 Bill Wendling <wendling@apple.com>
+
+ Radar 6113240
+ * tree.h: Declare invoke_impl_ptr_type.
+ * dwarf2out.c (is_objc): New. Returns true if language is ObjC.
+ (modified_type_die): Use is_objc instead of c_dialect_objc.
+ (add_type_attribute): Don't assert if invoke_imple_ptr_type is null.
+ * c-common.h: invoke_impl_ptr_type is now declared in tree.h.
+
+2008-07-30 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6112131 (__block renamed to __byref)
+ * config/darwin-c.c (darwin_cpp_builtins): Remove __block
+ definition.
+ * c-parser.c: Refer to __byref instead of __block.
+ * c-common.c: Ditto
+ * c-typeck.c: Ditto
+ * c-decl.c: Ditto. Also, restored it
+ to its previous version.
+
+2008-07-25 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6014138
+ * config/darwin-c.c (darwin_cpp_builtins): Define __block
+ same as __byref.
+ * c-parser.c: All __byref are renamed to __block.
+ * c-decl.c: Ditto
+ * c-typeck.c: Rename __byref to __block.
+ A __block variable is added to the 'byref' list now.
+
+2008-07-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6096219
+ * c-common.c (handle_blocks_attribute): __blocks' argument is now
+ 'byref'.
+ * config/darwin-c.c (darwin_cpp_builtins): Expand __byref into
+ __attribute__((__blocks__(byref))).
+
+2008-07-21 Stuart Hastings <stuart@apple.com>
+
+ Radar 6050374
+ * local-alloc.c (reg_inheritance_1): Check for int->double
+ SUBREG cast, assume it uses the pic-base.
+
+2008-07-18 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6068877
+ * c-common.h (objc_create_init_utf16_var): Removed decl.
+ * stub-objc.c (objc_create_init_utf16_var): Removed definition.
+ * config/darwin-protos.h: Renamed objc_create_init_utf16_var,
+ objc_cvt_utf8_utf16 to create_init_utf16_var and cvt_utf8_utf16;
+ respectively.
+ * config/darwin.c (darwin_build_constant_cfstring): Call
+ create_init_utf16_var, instead of objc_create_init_utf16_var.
+ * config/darwin-c.c (create_init_utf16_var): New routine.
+ (cvt_utf8_utf16): Used to be called objc_cvt_utf8_utf16.
+
+2008-07-18 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6084601
+ * c-opts.c (c_common_post_options): Allow blocks in C99 for objc
+ programs.
+
+2008-07-18 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6083129 - twiked
+ * c-decl.c (release_all_local_byrefs_at_return): Do not release
+ imported __byref variables in the block.
+ * c-parser.c (gen_block_byref_release_exp): Do not release __byref
+ variables outside of the block when returning from the block.
+
+2008-07-17 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6083129
+ * c-decl.c (push_scope): set byref_in_current_scope in the new scope.
+ (in_bc_stmt_block, outof_bc_stmt_block,
+ release_all_local_byrefs_at_return, diagnose_byref_var_in_current_scope,
+ release_local_byrefs_at_break): New.
+ (pop_scope): Call gen_block_byref_release_exp when a __byref variable
+ is exited.
+ * c-typeck.c (c_finish_goto_label): Diagnose __byref variables in presense of
+ gotos.
+ (c_finish_block_return_stmt): Much clean up and simplified.
+ (c_finish_return): Call the new and improved c_finish_block_return_stmt.
+ (c_finish_return): Release out-of-scope __byref locals when return/break
+ is seen.
+ * c-common.h: Several new declarations.
+ * c-parser.c (c_parser_switch_statement): call to in_bc_stmt_block
+ and outof_bc_stmt_block.
+ (c_parser_while_statement): Ditto.
+ (c_parser_do_statement): Ditto.
+ (c_parser_for_statement): Ditto.
+ (build_block_byref_release_decl, gen_block_byref_release_exp): New.
+ (synth_destroy_helper_block_func): Simplified to call
+ build_block_byref_release_decl.
+
+2008-07-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6035389
+ * convert.c (convert_to_integer): Can convert block pointer to integer.
+
+2008-07-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5988451
+ * c-decl.c (build_block_ref_decl): Insert copied in variable
+ in each enclosing block which does not use it.
+ (begin_block): Remove setting of "the_scope" field of the block.
+ (in_imm_block): Fix effect of changing the "the_scope" field.
+ (lookup_name_in_block): Do not skip over copied-in variables when
+ looking up a variable in the block.
+ * c-parser.c (c_parser_block_literal_expr): Set block's "the_scope" field
+ to the helper function's outer-most body scope.
+
+2008-07-09 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6034839
+ * c-parser.c (c_parser_block_literal_expr): Warning to error.
+
+2008-07-08 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5988451
+ * c-parser.c (build_block_struct_type): If inner block has copy/destroy
+ helpers, so does its outer block.
+ (c_parser_block_literal_expr): Fix unique_count so we get unique helpers
+ when having nested blocks.
+
+2008-07-08 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6048570
+ * c-typeck.c (c_finish_return): Error on returning a block on the stack.
+
+2008-07-07 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6048397 (twik).
+ (causes build failure with enable-checking on).
+ * dwarf2out.c (gen_variable_die) check for node
+ kind.
+
+2008-07-03 Caroline Tice <ctice@apple.com>
+
+ Radar 6048397
+ * dwarf2out.c (find_closure_byref_var_real_type): New function.
+ (build_byref_var_location_expression): New function.
+ (add_closure_byref_var_location_attribute): New function.
+ (gen_variable_die): Check the type of the variable to see if it is a
+ pass-by-reference closure variable; if so, try to call
+ find_closure_byref_var_real_type) to get its type, and call
+ add_closure_byref_var_location_attribute to get its location; if those
+ calls fail, fall back on the old functionality.
+
+2008-06-19 Eugene Marinelli <marinelli@apple.com>
+
+ Radar 5923888
+ * config/i386/i386.h (TARGET_IASM_OP_CONSTRAINT): Add addpd instruction.
+
+2008-06-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5939894 (twik)
+ * c-typeck.c : Routine build_closure_internal_types moved
+ from here to:
+ * c-decl.c : Also, check for previous declaration of
+ "struct invoke_impl" before defining one.
+ * c-parser.c : Removed a comment, so makediff may be happy again.
+ (unrelated to this radar).
+
+2008-06-06 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5988451
+ * c-decl.c (lookup_name_in_closure): check for flags
+ only if having a var_decl in scope.
+
+2008-06-06 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5992047
+ * c-parser.c (synth_destroy_helper_closure): Lookup _Block_destroy
+ before declaring one.
+
+2008-06-05 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5988995
+ * c-typeck.c (types_are_closure_compatible): Nested block pointer
+ types must be considered when matching block types.
+
+2008-06-05 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5982990
+ * c-parser.c (c_parser_objc_synch_compound_statement): New
+ (c_parser_objc_synchronized_statement): Call
+ c_parser_objc_synch_compound_statement.
+
+2008-06-04 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5985368
+ * c-parser.c (c_parser_declaration_or_fndef): Better diagnostics for
+ a bad block definition.
+
+2008-05-30 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5946347
+ * gcc/doc/extend.texi: Add documentation for ARM Type Attributes
+ ms_struct and gcc_struct. Remove errant reference to ms_struct and
+ gcc_struct as variable attributes for x86 and PPC.
+ * gcc/doc/invoke.texi: Add documentation for -mms-bitfields for
+ x86, PPC, and ARM target options.
+ * gcc/doc/tm.texi: Add documenation for TARGET_FIELD_MS_STRUCT_ALIGN
+ and BIGGEST_MS_STRUCT_ALIGNMENT.
+ * gcc/testsuite/gcc.dg/bf-ms-layout.c: Run for ARM. Add correct
+ testcase values for ARM.
+ * gcc/testsuite/gcc.dg/bf-no-ms-layout.c: Ditto.
+ * gcc/testsuite/gcc.dg/attr-ms_struct-2.c: Run for ARM.
+ * gcc/testsuite/gcc.dg/attr-ms_struct-1.c: Run for ARM.
+ * gcc/testsuite/gcc.dg/bf-ms-layout-2.c: Run for ARM.
+ * gcc/defaults.h (TARGET_FIELD_MS_STRUCT_ALIGN): New macro.
+ If not explicitly set by the target, TARGET_FIELD_MS_STRUCT_ALIGN
+ is defined to TYPE_ALIGN of the type of the field.
+ (BIGGEST_MS_STRUCT_ALIGNMENT): Ditto. If not explicitly set by
+ the target, BIGGEST_MS_STRUCT_ALIGNMENT is defined to
+ BIGGEST_ALIGNMENT.
+ * gcc/stor-layout.c (start_record_layout): Allow a target to
+ override the default offset_alignment for ms_struct attributed
+ records by defining BIGGEST_MS_STRUCT_ALIGNMENT.
+ (update_alignment_for_field): Use TARGET_FIELD_MS_STRUCT_ALIGN
+ for determining the alignment for a field in an ms_struct attributed
+ record.
+ (place_field): Ditto.
+ * gcc/config/arm/arm.c (arm_handle_ms_struct_attribute): New function.
+ (arm_handle_gcc_struct_attribute): Ditto.
+ (arm_ms_bitfield_layout_p): Ditto.
+ (arm_field_ms_struct_align): Ditto.
+ (TARGET_MS_BITFIELD_LAYOUT_P): New macro.
+ (arm_attribute_table): New entries for ms_struct and gcc_struct
+ attributes.
+ (arm_set_default_type_attributes): If -mms-bitfields was specified,
+ or if #pragma ms_struct is on, apply an ms_struct attribute to
+ an structure type definition.
+ * gcc/config/arm/arm.h (TARGET_FIELD_MS_STRUCT_ALIGN): New macro.
+ (BIGGEST_MS_STRUCT_ALIGNMENT): Ditto.
+ * gcc/config/arm/arm-protos.h (arm_field_ms_struct_align): Prototype.
+ * gcc/config/arm/arm.opt (-m[no-]ms-btifields): New target options.
+
+2008-05-30 Josh Conner <jconner@apple.com>
+
+ Radar 5974622
+ * flow.c (flow_lite): Deallocate pic_rtx_inheritance.
+ * local-alloc.c (reg_inheritance): Only calculate if !optimize.
+
+2008-05-30 Josh Conner <jconner@apple.com>
+
+ Radar 5933878
+ Backport from 4.3:
+ 2007-07-09 Geoffrey Keating <geoffk@apple.com>
+ PR 32617
+ * c-common.c (c_alignof_expr): Look at DECL_ALIGN of
+ FUNCTION_DECLs.
+ (handle_aligned_attribute): Allow use on FUNCTION_DECLs.
+ * varasm.c (assemble_start_function): Honor DECL_ALIGN
+ for FUNCTION_DECLs. Don't use align_functions_log if
+ DECL_USER_ALIGN.
+ * print-tree.c (print_node): Print DECL_ALIGN and DECL_USER_ALIGN
+ even for FUNCTION_DECLs.
+ * c-decl.c (merge_decls): Propagate DECL_ALIGN even for
+ FUNCTION_DECLs.
+ * tree.h (DECL_ALIGN): Update for new location of 'align'.
+ (DECL_FUNCTION_CODE): Update for new location and name of
+ 'function_code'.
+ (DECL_OFFSET_ALIGN): Update for new location of 'off_align'.
+ (struct tree_decl_common): Move 'align' and 'off_align' out
+ of union, ensure they're still on a 32-bit boundary. Remove
+ other fields in union 'u1'.
+ (struct tree_function_decl): Add field 'function_code' replacing
+ 'u1.f' in tree_decl_common.
+ * tree.c (build_decl_stat): Set initial value of DECL_ALIGN.
+ * doc/extend.texi (Function Attributes): Add 'aligned' attribute.
+ (Variable Attributes): Cross-reference 'aligned' attribute
+ to Function Attributes.
+ * flags.h (force_align_functions_log): Delete.
+ * toplev.c (force_align_functions_log): Delete.
+
+2008-05-28 Josh Conner <jconner@apple.com>
+
+ Radar 5939894
+ * dwarf2out.c (gen_variable_die): Move special handling of
+ CLOSURE_POINTER_TYPE from here...
+ (gen_variable_die): ...to here.
+ * c-typeck.c (build_closure_call): Add assert of
+ invoke_impl_ptr_type. Move call of
+ build_closure_internal_types from here...
+ * c-decl.c (make_closure_pointer_declarator): ...to here.
+ * c-parser.c (build_closure_struct_initlist): Add assert
+ of invoke_impl_ptr_type.
+
+2008-05-27 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5965787 - (some blocks clean up).
+ * c-decl.c (build_indirect_object_id_exp): Check correct
+ macro for size of a pointer.
+ (new_block_byref_decl): Better way of allocation a buffer.
+ (init_byref_decl): Some flags are renamed to match the runtime name.
+ End function type's typelist with a void.
+ * c-common.h: For blocks, use same flags as in its runtime.
+ * c-parser.c (build_closure_struct_type): More cleanup.
+ (build_closure_struct_initlist): More cleanup.
+ (synth_copy_helper_closure_fuction): All function type's type
+ list must end with a void type.
+ (synth_destroy_helper_closure): Ditto.
+ (c_parser_closure_literal_exp): Ditto.
+
+2008-05-27 Stuart Hastings <stuart@apple.com>
+
+ Radar 5951842
+ * config/i386/sse.md (sse2_lshrti3): Moved from here...
+ * config/i386/i386.md (sse2_lshrti3): ...to here.
+ * testsuite/gcc.apple/5951842.c: New.
+
+2008-05-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5925639
+ * c-parser.c: (c_parser_for_statement): Check for a non-null
+ collection expression before deciding that it is a fraeach
+ statement.
+
+2008-05-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5957801
+ * c-typeck.c (build_conditional_expr): Allow convesion
+ of a pointer type null to a block pointer in a
+ conditional expression.
+
+2008-05-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5928316
+ * c-typeck.c (build_binary_op): Added check for
+ block pointer.
+
+2008-05-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5925781
+ * c-common.c (handle_nonnull_attribute): Support block pointer
+ just like a pointer for nonnull attribute.
+ (check_nonnull_arg): Ditto.
+
+2008-05-20 Jon Ziegler <jonz@apple.com>
+
+ Radar 5095227
+ Back out Geoff's patch for -fstack-protector.
+ Leave in the test case.
+
+2008-05-20 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5932809 - minor change for runtime delight.
+ * c-parser.c (build_closure_struct_type): Add strcutor fields
+ for __byref 'id' object blocks as well.
+ (build_closure_struct_initlist): And their initializers.
+
+2008-05-16 Geoff Keating <geoffk@apple.com>
+
+ Radar 5095227
+ * common.opt (-fstack-protector): Default to -1.
+ * config/darwin.c (darwin_override_options): If on 10.5 and
+ -fstack-protector is unspecified, switch it on.
+ * toplev.c (process_options): If -fstack-protector is still
+ unspecified, switch it off.
+
+2008-05-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5932809
+ * tree.h: VAR_DECL node now use two new flags.
+ (COPYABLE_BYREF_LOCAL_VAR, COPYABLE_BYREF_LOCAL_NONPOD):
+ New macros to access these flags.
+ * c-decl.c (build_indirect_object_id_exp,
+ synth_block_byref_id_object_copy_func,
+ synth_block_byref_id_object_dispose_func,
+ new_block_byref_decl, init_byref_decl): New.
+ (finish_decl): Build a new type for a __byref local
+ variable and initialize it to a list of initializers.
+ (build_byref_local_var_access): New routine.
+ (build_closure_byref_decl): Merge the BYREF flags
+ into the newly declared variable.
+ (build_closure_ref_decl): decl' was previously declared byref.
+ Copy the value embedded in the above variable.
+ * c-typeck.c (build_external_ref): build_closure_ref_decl call
+ takes one less argument.
+ (do_digest_init): New.
+ * c-common.c (handle_blocks_attribute): New routine to
+ implement __byref attribute on variables.
+ * c-common.h: Bunch of new declarations to implement
+ __byref variables.
+ * stub-objc.c (cast_to_pointer_to_id): New stub.
+ * c-parser.c (c_parser_postfix_expression): Code to transform
+ a reference to a __byref variable X into
+ __Block_byref_X.forwarding->X.
+ (build_closure_struct_type): Go through list of __byref
+ variables for the blocks and set hasByrefNonPOD and hasByrefPOD
+ flags for NonPOD and POD of such variables. __byref POD variables
+ also require addition of the two strcutor pointer fields in the
+ block structure type.
+ (build_closure_struct_initlist): Initialzer list must also match the
+ new requiement for __byref PODs.
+ (synth_copy_helper_closure_func): For each __byref declared variable
+ used in |...| Must generate call to _Block_byref_assign_copy.
+ (synth_destroy_helper_closure): For each __byref declared variable
+ used in |...| Must generate call to _Block_byref_release.
+ (c_parser_closure_literal_exp): Must synthesize helper functions for
+ __byref local variables declared as byref in the block.
+
+ * config/darwin-c.c (darwin_cpp_builtins): Define
+ __byref attribute if -fblocks.
+
+2008-05-15 Stuart Hastings <stuart@apple.com>
+
+ Radar 5695218
+ * stmt.c (expand_asm_operands): Revert last change.
+
+2008-05-13 Stuart Hastings <stuart@apple.com>
+
+ Radar 5695218
+ * common.opt (-fglobal-alloc-prefer-bytes): New flag.
+ * doc/invoke.texi (-fglobal-alloc-prefer-bytes): Document it.
+ * tree-pass.h (pass_life3): Declare new pass.
+ * passes.c (init_optimization_passes): Add pass_life3.
+ * flow.c (normal_flow, maybe_uses_pic_offset_table_rtx,
+ gate_flow_lite, flow_lite, pass_life3): New.
+ (verify_local_live_at_start): Tolerate picbase register
+ deaths. (update_life_info, alloc_reg_life_data,
+ free_propagate_block_info, mark_set_1): Check normal_flow
+ before setting REG_LIVE_LENGTH(). (attempt_auto_inc): Check
+ normal_flow before setting REG_LIVE_LENGTH(), call
+ maybe_uses_pic_offset_table_rtx().
+ * global.c (global_alloc): Rebalance parenthesis, restore
+ un-alloc-ability status of PIC_OFFSET_TABLE_REGNUM.
+ (allocno_compare): Prefer byte registers.
+ (remove_invlidated_death_notes): Tolerate out-of-range
+ original regnos. (dump_global_regs): Dump RTXs instead of
+ numbers, add register names to hard reg list.
+ (dump_hard_regset, debug_hard_regset): New.
+ * local-alloc.c (pic_rtx_inheritance, reg_inheritance_matrix,
+ reg_inheritance_1, reg_inheritance, dump_inheritance,
+ debug_inheritance): New. (local_alloc): Initialize and free
+ reg_inheritance_matrix. (update_equiiv_regs): Call
+ reg_inheritance_1 on every insn.
+ * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Rewrite.
+ * rtl.h (replace_regs): Declare.
+ * config/i386/i386.c (pic_labels_used): Add GTY marker.
+ (ix86_globally_replace_pic_reg): New. (ix86_save_reg):
+ Handle non-picbase useage of %ebx, call
+ ix86_globally_replace_pic_reg().
+ (ix86_tieable_integer_mode_p): Convert integral return
+ expression into bool.
+ * stmt.c (expand_asm_operands): Revise to handle new %ebx
+ allocation policy.
+
+2008-10-30 Josh Conner <jconner@apple.com>
+
+ Radar 6297258
+ * config/arm/arm.c (arm_output_mi_thunk): Emit 32-bit branch
+ for thumb2 target.
+
+2008-10-24 Josh Conner <jconner@apple.com>
+
+ Radar 6305331
+ * config/arm/arm.c (arm_asm_output_addr_diff_vec): Disable support
+ for compact switch tables with -mlongcall.
+ * config/arm/arm.h (TARGET_COMPACT_SWITCH_TABLES): New definition...
+ (CASE_VECTOR_SHORTEN_MODE): ...use it.
+ * config/arm/arm.md (casesi): ...use it.
+ (thumb_casesi_internal): ...use it.
+
+2008-10-20 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 6255595
+ * config/darwin.c (output_objc_section_asm_op): Add two new section names.
+ (objc_internal_variable_name): New routine.
+ (machopic_select_section): Call objc_internal_variable_name.
+ * config/darwin-sections.def: Define two new kinds of
+ __DATA section.
+
+2008-10-16 Josh Conner <jconner@apple.com>
+
+ Radar 6293989
+ * arm.c (arm_legitimate_address_p): Don't allow pre-inc/dec or
+ post-dec addressing for NEON vector operations.
+ (thumb2_legitimate_address_p): Likewise.
+
+2008-10-16 Josh Conner <jconner@apple.com>
+
+ Radar 6288519
+ * config/arm/arm.md (casesi): Disallow for TARGET_THUMB &&
+ TARGET_LONG_CALLS.
+ (thumb_casesi_internal): Likewise.
+
+2008-10-13 Josh Conner <jconner@apple.com>
+
+ Radar 6280380
+ * config/arm/arm.c (arm_final_prescan_insn): Check predicability
+ of insns before allowing them to be predicated.
+
+2008-10-09 Josh Conner <jconner@apple.com>
+
+ Radar 6279481
+ * config/arm/arm.c (arm_adjust_insn_length): Don't adjust thumb-2
+ epilogue lengths.
+
+2008-10-09 Josh Conner <jconner@apple.com>
+
+ Radar 6267907
+ * config/arm/thumb2.md (thumb2_casesi_internal): Mark scratch reg as
+ early-clobber.
+ (thumb2_casesi_internal_pic): Remove this define_insn.
+ * config/arm/arm.md (casesi): Don't use thumb2_casesi_internal_pic.
+
+2008-10-03 Josh Conner <jconner@apple.com>
+
+ Radar 6268204
+ * doc/invoke.texi (-mkernel): Document that -mlong-branch
+ is set for ARM.
+ * config/arm/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Have -mkernel
+ and -fapple-kext imply -mlong-branch.
+
+2008-10-03 Josh Conner <jconner@apple.com>
+
+ Radar 6261739
+ * config/arm/thumb2.md (thumb2_cbz): Check for low-register
+ use when calculating cost.
+ (thumb2_cbnz): Likewise.
+
+2008-10-02 Josh Conner <jconner@apple.com>
+
+ Radar 6134442
+ * config/arm/t-darwin: Re-enable multi-libs for v5.
+
+2008-09-30 Josh Conner <jconner@apple.com>
+
+ Radar 6197406
+ * config/arm/neon.md (mulsf3addsf_neon, mulsf3subsf_neon):
+ Remove.
+
+2008-09-30 Josh Conner <jconner@apple.com>
+
+ Radar 6251664
+ * config/arm/neon.md (mulsf3subsf_neon): Reverse operands to
+ minus.
+
+2008-09-30 Josh Conner <jconner@apple.com>
+
+ Radar 6160917
+ * config/arm/arm.c (neon_vector_mem_operand): Call
+ arm_legitimate_index_p.
+ (neon_reload_in): New function.
+ (neon_reload_out): New function.
+ * config/arm/arm-protos.h (neon_reload_in): New proto.
+ (neon_reload_out): New proto.
+ * config/arm/neon.md (reload_in<mode>): New expand pattern.
+ (reload_out<mode>): New expand pattern.
+ * config/arm/predicates.md (neon_reload_mem_operand): New
+ predicate.
+
+2008-05-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5925784
+ * c-parser (c_parser_closure_literal_exp): Set TREE_USED
+ flag on _self hiddent argument.
+
+2008-05-08 Josh Conner <jconner@apple.com>
+
+ Radar 5901604
+ * config/rs6000/t-darwin (MULTILIB_EXTRA_OPTS): Define.
+
+2008-05-08 Josh Conner <jconner@apple.com>
+
+ Radar 5914860
+ * config/arm/t-darwin (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
+ Add armv6.
+ (TARGET_LIBGCC2_CFLAGS): Remove armv6.
+ (DARWIN_EXTRA_CRT_BUILD_FLAGS): Remove.
+
+2008-09-19 Josh Conner <jconner@apple.com>
+
+ Radar 6216388
+ * config/arm/arm.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
+ MASK_SCHED_PROLOG.
+
+2008-09-19 Josh Conner <jconner@apple.com>
+
+ Radar 6196857
+ * config/arm/arm.c (arm_output_epilogue): Use pop instead of ldmfd
+ on Thumb-2.
+
+2008-04-30 Caroline Tice <ctice@apple.com>
+
+ Radar 5811961
+ * c-decl.c: (declare_closure_prologue_local_vars): Set the source
+ location for the new decl expr statement to be the source location of
+ the decl tree.
+
+2008-04-25 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5803005 (tweaked)
+ * c-typeck.c (build_external_ref): Refactored global decl checks.
+
+2008-09-11 Josh Conner <jconner@apple.com>
+
+ Radar 6150882
+ * config/arm/ieee754-df.S: Add do_it macros to allow building
+ thumb-2.
+ * config/arm/ieee754-sf.S: Likewise.
+ * config/arm/lib1funcs.asm: Redefine macros to allow building
+ thumb-2. Disable compact switch table code for thumb-2.
+ * config/arm/arm.c (arm_override_options): armv7a implies thumb-2.
+ (arm_legitimate_index_p): Require VECTOR_MODE_P to use NEON
+ instruction ranges.
+ (thumb2_legitimate_index_p): Likewise.
+ * config/arm/arm.h (TARGET_THUMB): Define.
+ * config/arm/arm.opt (thumb_option): New option.
+
+2008-09-09 Josh Conner <jconner@apple.com>
+
+ Radar 6195983
+ * config/arm/arm.c (thumb2_output_casesi): Fix table invocation
+ instructions.
+ (arm_asm_output_addr_diff_vec): Emit b.w instead of b for
+ Thumb-2.
+
+2008-09-03 Jim Grosbach <grosbach@apple.com>
+
+ * Radar 6150859
+ * config/arm/arm.c (arm_print_operand): Add 'p' output code to
+ print a d{0-15} reference to a 32 bit register.
+ * config/arm/arm.h (VFP_REGNO_OK_FOR_SINGLE): Restrict SF mode
+ values to even numbered float registers so they can be referenced
+ by the 32x2 NEON instructions.
+ * config/arm/vfp.md (*addsf3_vfp, *subsf3_vfp, *mulsf3_vfp,
+ *mulsf3addsf_vfp, *mulsf3subsf_vfp): Disable for TARGET_NEON
+ since we'll be using the NEON instructions instead.
+ * config/arm/neon.md (*addsf3_neon, *subsf3_neon, *mulsf3_neon,
+ *mulsf3addsf_neon, *mulsf3subsf_neon): New productions.
+
+2008-08-26 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6152801
+ * config/arm/arm.c (thumb2_output_casesi,
+ arm_asm_output_addr_diff_vec): For thumb2, use direct
+ braches for SImode switch tables (like we do for ARM mode).
+
+2008-08-25 Josh Conner <jconner@apple.com>
+
+ * config/arm/t-darwin: Disable multi-libs for v5.
+
+2008-04-24 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5803005
+ * c-typeck.c (build_external_ref): Treat globals as 'byref' by default.
+
+2008-04-24 Caroline Tice <ctice@apple.com>
+
+ Radar 5811943
+ * tree.h (TYPE_CLOSURE_IMPL_STRUCT): New macro.
+ (lang_flag_2): Use previously unused field in tree_type to indicate
+ closure structs.
+ * dwarf2out.c (c-common.h): New include statement.
+ (dwarf_attr_name): Add case for DW_AT_APPLE_closure.
+ (gen_variable_die): Give pointers to closures the
+ invoke_impl_ptr_type.
+ (gen_struct_or_union_type_die): Add DW_AT_APPLE_closure
+ to structs that define closures.
+ * dwarf2.h (DW_AT_APPLE_closure): New Dwarf attribute.
+ * c-typeck.c (invoke_impl_ptr_type): Move declaration from here to
+ c-common.c
+ (build_closure_internal_types): Set TYPE_CLOSURE_IMPL_STRUCT
+ flag for closure structs.
+ * c-common.c (invoke_impl_ptr_type): Move declaration to here from
+ c-typeck.c.
+
+2008-04-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5882266
+ * c-typeck.c (types_are_closure_compatible): Check for underlying
+ pointer types as well.
+
+2008-08-11 Josh Conner <jconner@apple.com>
+
+ Radar 6134442
+ * config/arm/t-darwin: Enable multi-libs for v5.
+
+2008-08-06 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6093696
+ * config/arm/t-darwin (t-darwin): Enable multi-libs for v7
+
+2008-08-06 Jim Grosbach <grosbach@apple.com>
+
+ Radar 6129445
+ * config/arm/arm.md (mulsidi3, umulsidi3, smulsi3_highpart,
+ umulsi3_highpart): Remove conditionalization on non-v6
+ (mulsidi3_v6, umulsidi3_v6, smulsi3_highpart_v6,
+ umulsi3_highpart_v6): Remove production.
+
+2008-04-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5882266
+ * tree.c (reconstruct_complex_type): Add case for
+ closure pointer types.
+ * c-decl.c (make_closure_pointer_declarator): Get the 'itarget'
+ which has the attribute info.
+
+2008-04-22 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5878380
+ * c-typeck.c (convert_for_assignment): Check for a pointer type
+ before checking for its pointee type.
+
+2008-04-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5868913
+ * c-cppbuiltin.c (c_cpp_builtins): Do not define __BLOCKS__
+ in c++/ObjC++ modes.
+
+2008-04-15 Stuart Hastings <stuart@apple.com>
+
+ Radar 5862465
+ * tree.h (PTR_OR_REF_CHECK, POINTER_TYPE_P): Add
+ CLOSURE_POINTER_TYPE.
+ * fold-const.c (fold_convert): Add CLOSURE_POINTER_TYPE.
+ * testsuite/gcc.apple/closure-5862465.c: New.
+
+2008-04-02 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5811599
+ * c-typeck.c (types_are_closure_compatible): Replaced "Reseverd" field
+ with "void *isa" in "struct invoke_impl".
+ * c-parser.c (build_closure_struct_type): Declared "void *_NSConcreteStackBlock"
+ if necessary and inisitlize 'isa' field with &_NSConcreteStackBlock.
+
+2008-04-01 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5834569
+ * c-parser.c (build_closure_struct_initlist): Variables used as
+ initializers to block structure must be flagged as TREE_USED.
+
+2008-04-01 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5344182
+ * dwarf2out.c (add_prototyped_attribute): Check for objc as
+ the language to generate DW_AT_prototyped dwarf attr.
+
+008-03-31 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5831855
+ * c-typeck.c (convert_for_assignment): Block and 'id' types
+ are interchangeable.
+
+2008-03-28 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5809099
+ * convert.c (convert_to_pointer): Allow typecast of closure
+ pointer to 'id'.
+ (convert_to_closure_pointer): Allow typecast of 'id'
+ of a closure pointer expression.
+
+2008-03-24 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5824092
+ * c-parser.c (c_parser_closure_literal_exp): Diagnose
+ declaration of block literal at global scope.
+
+2008-03-26 Caroline Tice <ctice@apple.com>
+
+ Radar 5811952
+ * dwarf2out.c (dwarf2out_decl): Special treatment for
+ Block helper function.
+
+2008-03-25 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5811887 (minor change)
+ * c-opts.c (c_common_post_options): Remove conditional check
+ of pedantic when setting flag_blocks.
+
+2008-03-24 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5811887
+ * c-cppbuiltin.c: flag_closures renamed to flag_blocks
+ * c-parser.c: Ditto.
+ * c.opt: flag_closures renamed to flag_blocks. flag_blocks
+ defaulted to -1.
+ * c-opts.c (c_common_post_options): All flavors of c99, blocks are off by
+ default unless requested via -fblocks.
+
+2008-03-24 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5814025
+ * c-tree.h (make_closure_pointer_declarator): Takes
+ additional argument.
+ * c-decl.c (grokdeclarator): Get 'const'-ness of closure
+ pointer.
+ (make_closure_pointer_declarator): Takes additional argument for
+ const/volatile.
+ * c-parser.c (c_parser_declarator): Pass down attribute info.
+ to make_closure_pointer_declarator.
+
+2008-03-18 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5803600
+ * c-decl.c (add_closure_global_byref_list,
+ in_closure_global_byref_list): New defs.
+ * c-common.h (add_closure_global_byref_list,
+ in_closure_global_byref_list): New decls.
+ * c-typeck.c (build_external_ref): global variables
+ declared as 'byref' are enterred in their own list
+ of such declarations per each closure.
+ * c-parser.c (c_parser_postfix_expression): Remove previous fix.
+ (c_parser_closure_byref_declaration): Check for global
+ 'byref' by calling in_closure_global_byref_list.
+
+2008-03-18 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5805175
+ * c-decl.c (build_closure_ref_decl): Set TREE_READONLY flag
+ on readonly declaration.
+
+2008-03-17 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5803600
+ * c-typeck.c (build_external_ref): Access global 'byref'
+ variables directly.
+ * c-parser.c (c_parser_postfix_expression): We are accessing
+ global 'byref' variables directly. Do not indirect derefence
+ them.
+
+2008-03-13 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5795493
+ * c-typeck.c: Renamed typesAreClosureCompatible to
+ types_are_closure_compatible.
+
+2008-03-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5795493 - type matching of closure types
+ * c-typeck.c (comptypes_internal): Added case for
+ CLOSURE_POINTER_TYPE.
+
+2008-03-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5796058 - ivar in blocks
+ * c-decl (build_closure_byref_decl): Takes an additional
+ argument for the initializer expression.
+ (build_closure_ref_decl): Ditto.
+ * c-typeck.c (build_external_ref): Call to build_closure_byref_decl,
+ build_closure_ref_decl get extra argument.
+ * c-common.h (build_closure_ref_decl, build_closure_byref_decl):
+ Take additional argument.
+
+2008-03-11 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 (Related to change of command option/macro)
+ * c-cppbuiltin.c: __CLOSURES__ macro rename __BLOCKS__
+ * c.opt: -fclosures change to -fblocks.
+
+2008-03-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5782740 - part 2 (bug fix).
+ * c-parser.c (synth_copy_helper_closure,
+ synth_destroy_helper_closure): set DECL_ARG_TYPE field of input
+ arguments for the two synthesized helper functions.
+
+2008-03-06 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5782740
+ * stub-objc.c (retain_closure_component, release_closure_component,
+ copy_in_object, closure_requires_copying): New stubs.
+ * c-decl.c (build_helper_func_decl): Setting of CLOSURE_HELPER_FUNC
+ move at the call site.
+ (start_closure_helper_function): Changed first argument, added
+ 2nd argument to conditionally generate the result_decl node.
+ * c-common.h: Added two new fields to struct closure_sema_info
+ More extern function decls.
+ * c-parser.c (build_closure_struct_type): Conditionally add
+ two new fields to synthesize "struct closure" type.
+ (build_closure_struct_initlist): Conditionally add helper copy/destroy
+ function pointers to closure literals.
+ Set the 'flags' field properly.
+ (synth_copy_helper_closure_func): New routine to synthesize a closure
+ copy helper function.
+ (synth_destroy_helper_closure_func): New routine to synthesize a closure
+ destroy helper function.
+ (c_parser_closure_literal_exp): If needed, build closure copy/destroy helper
+ function declarations and ask for their synthesis.
+
+2008-03-01 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - Fix a closure pointer type bug.
+
+ * tree.c (build_closure_pointer_type): Do no add
+ CLOSURE_POINTER_TYPE to POINTER_TYPE's list.
+
+2008-02-28 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - Fix nested closure bugs.
+
+ * tree.h: Defined a new flag and CLOSURE_DECL_COPIED
+ * c-decl.c (build_closure_ref_decl): Set CLOSURE_DECL_COPIED
+ for copied variables.
+ (lookup_name_in_closure): Modified for nested closures.
+ * c-typeck.c (build_external_ref): Call to lookup_name_in_closure
+ returns user declaration of the variable if not in current
+ closure.
+ * c-common.h: lookup_name_in_closure takes an added argument.
+
+2008-02-27 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232
+ * c-parser.c: Use clean_and_exit function call
+ instead of EXIT_CLEAN macro.
+
+2008-02-27 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - code gen part 2.
+ * tree.h: No need for closure_decl_ref, use
+ a new flag closure_helper_func instead.
+ (CLOSURE_HELPER_FUNC): New macro.
+ * c-decl.c (build_closure_byref_decl): Fix a type bug.
+ Enter variable in function's body scope.
+ (build_closure_ref_decl): Find function's body scope and
+ enter copied in variable in this scope.
+ (parent_is_closure, bind_closure_args, inside_closure): Removed.
+ (build_helper_func_decl): New routine to build a FUNCTION_DECL
+ for helper function.
+ (start_closure_helper_function): A stripped down version of
+ start_function used for helper functions only.
+ (closure_build_prologue, declare_closure_prologue_local_vars):
+ Builds prologue trees for the helper function.
+ * function.c (allocate_struct_function): Don't try to figure
+ out aggregate types for closures as it does not work.
+ * function.h (cur_closure): Need to declare it.
+ * c-typeck.c (build_closure_internal_types): Use the main
+ variant for type compares.
+ (c_finish_return): Removed dead code and added
+ code for building the return expressions for closure return
+ statements.
+ * tree.def: Removed not needded tree codes.
+ * c-gimplify.c (c_gimplify_expr): Build closure's return
+ expression tree. Remove dead code.
+ * c-common.h: Added/removed some declarations.
+ * c-parser.c (c_parser_postfix_expression): Dereference
+ use of byref variables in closures.
+ (build_closure_struct_type): Fixed a type.
+ (build_closure_struct_initlist): Must use the new list for
+ initialization.
+ (build_closure_literal_tmp): Moved some code around.
+ (c_parser_closure_literal_expr): Extensive changes to use
+ the nested function infrastructure for helper functions.
+
+2008-02-26 Bill Wendling <wendling@apple.com>
+
+ * c-typeck.c (build_closure_internal_types) Fix warning.
+
+2008-02-20 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - code gen part 1.
+ * tree.c: Changed apple local markers.
+ * c-decl.c (build_closure_byref_decl): Add byref decls
+ to the list of such decls for the closure.
+ (build_closure_ref_decl): New
+ (closure_end): Now returns the closure info.
+ (in_imm_closure_block): Fixed a bug.
+ (ascend_to_file_scope, restore_current_scope): Two
+ new routines to enter/exit file scope.
+ * c-typeck.c (build_external_ref): Allow importation
+ of variables only to the closure literal block.
+ (build_function_call): Call to build closure calls trees.
+ (build_closure_internal_types): New.
+ (build_closure_call): New.
+ (c_finish_return): Diagnose returning closure literals on
+ the stack.
+ * c-common.h: Added new macros, added couple of fields
+ to struct closure_sema_info.
+ * c-parser.c (build_closure_struct_type): New
+ (build_closure_struct_initlist): New
+ (build_closure_literal_tmp): New.
+ (c_parser_closure_literal_expr): Diagnose missing
+ argument list in closure literal expression.
+ Generate necessary code for closure literal block use.
+ * dwarf2out.c (root_type, is_base_type, gen_type_die): Treat
+ closure pointer types as function pointer types.
+
+2008-02-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - minor twik
+ * tree.h: changed a comment.
+ * c-parser.c (c_parser_closure_byref_declarations): Better way to
+ report an error.
+
+2008-02-14 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - part9
+ * tree.h (CLOSURE_DECL_BYREF): New field for var_decl/parm/decl
+ * c-decl.c (build_closure_byref_decl, in_imm_closure_block): New
+ * c-typeck.c (build_external_ref): Build a new declaration in
+ current scope for a byref variable decl.
+ * c-common.h (in_imm_closure_block, build_closure_byref_decl,
+ building_closure_byref_decl): New decls.
+ * c-parser.c (c_parser_compound_statement_nostart): Parse byref
+ variable decls enclosed by '|'.
+ (c_parser_closure_byref_declarations): New
+
+2008-02-13 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - part 8
+
+ *c-parser.c (c_parser_statement_after_labels): Diagnose use of gotos
+ in closures.
+ (c_parser_closure_literal_exp): Diagnose break/continue statement
+ used in a closure literal block which is nested in a while/for/switch
+ statement.
+
+2008-02-13 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - part 7
+ * c-typeck.c (build_conditional_expr): Add closure pointer expression
+ use in conditionals.
+
+2008-02-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - part 6 (closure literal expressions).
+
+ * tree.def (CLOSURE_EXPR_EXPR): New closure tree node.
+ * c-gimplify.c (c_gimplify_expr): Hack to ignore gimplification
+ of CLOSURE_EXPR_EXPR expressions.
+ * c-parser.c (c_parser_postfix_expression): Remove restriction on
+ postfix expression after a caret.
+ (c_parser_block_expr): Now parse and build CLOSURE_EXPR_EXPR
+ for closure expressions.
+
+2008-02-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - part 5
+ * c-typeck.c (c_finish_return): Warn when returning a closure block
+ literal expression.
+
+2008-02-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - part4 (argument declaration in closure literals).
+ * c-decl.c (bind_closure_args): New
+ (closure_end): pop the scope.
+ (inside_closure): Use c-style comments.
+ * c-typeck.c : (convert_arguments): Fix a diagnistic.
+ * c-gimplify.c (c_gimplify_expr): Fix type of the hack.
+ * c-common.h (closure_sema_info): Fix type of params field.
+ (bind_closure_args): New decl.
+ * c-parser.c (c_parser_postfix_expression): Check for '(' as
+ a new lookahead after '^'.
+ (c_parser_block_expr): Modified to handle argument decls.
+ before closure literal block.
+
+2008-02-11 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - part3 (closure return statement).
+ * c-decl.c (cur_closure) Global decl. to keep track of
+ closure block literals.
+ (closure_start): Allocate and initialize a new
+ cur_closure object.
+ (closure_end): Free up cur_closure object and set it
+ to its predecessor, if any.
+ (inside_closure): Use cur_closure to know if inside a closure.
+ (lookup_name_in_closure): Use cur_closure instead.
+ * c-typeck.c (c_finish_return): Short circuit to closure-specific
+ routine if 'return' is inside a closure.
+ remove check for inside closure in two places (no longer
+ needed).
+ (c_finish_closure_return_stmt): New
+ * c-common.h (closure_sema_info): New overall data structure to
+ keep track of various closure context information.
+ * c-parser.c (c_parser_block_expr): Initialize and then use
+ closure's return type in building function type.
+
+2008-02-09 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5732232 - part 2 (basic closure literals syntax).
+ * tree.h (closure_decl_ref): New flag
+ for variables used in closures and declared
+ outside its scope.
+ (CLOSURE_DECL_REF) : Macro for above flag.
+ * c-decl.c (closure_scope): New flag for the closure's scope.
+ (closure_start, closure_end, inside_closure,
+ lookup_name_in_closure, parent_is_closure): New
+ * c-typeck.c (build_external_ref): Record variables used in
+ closure but declared outside.
+ * (c_finish_return) don't issue return warning if
+ inside closure.
+ (c_finish_bc_stmt): issue diagnostic for continuation
+ inside closures (currently commented out).
+ * tree.def (CLOSURE_BLOCK_EXPR): New expression node
+ for closure literals.
+ * c-gimplify.c (c_gimplify_expr): For now ignore
+ gimplifying CLOSURE_BLOCK_EXPR tree.
+ * c-common.h (closure_start, closure_end, inside_closure,
+ lookup_name_in_closure, parent_is_closure): New decls.
+ * c-parser.c (c_parser_postfix_expression): Parse and
+ build a closure literal block.
+ (c_parser_block_expr) : New.
+
+2008-02-08 Fariborz Jahanian <fjahanian@apple.com>
+
+ closures - part2
+ * c-cppbuiltin.c (c_cpp_builtins) __CLOSURES__ to 1 if -fclosures
+ is passed.
+
+2008-02-08 Fariborz Jahanian <fjahanian@apple.com>
+
+ closures - part1
+ * tree.c (build_closure_pointer_type): New
+ * tree.h (build_closure_pointer_type): New decl.
+ * c-tree.h (cdk_closure_pointer): New enumerator for
+ enum c_declarator_kind.
+ * (make_closure_pointer_declarator): New decl.
+ * c-pretty-print.c (pp_c_caret): New
+ * c-pretty-print (pp_c_caret): New decl.
+ (pp_c_pointer): recognize CLOSURE_POINTER_TYPE and
+ translate it into '^'.
+ (pp_c_specifier_qualifier_list): Handle CLOSURE_POINTER_TYPE type.
+ (pp_c_abstract_declarator): Ditto.
+ (pp_c_direct_abstract_declarator): Ditto.
+ (pp_c_direct_declarator): Ditto.
+ * stor-layout.c (layout_type): Set mode for CLOSURE_POINTER_TYPE.
+ * c-typeck.c (typesAreClosureCompatible): New
+ (build_function_call): Allow call of a closure pointer.
+ (convert_arguments): Make diagnostic specific to a bad closure
+ pointer call.
+ (build_unary_op): Allow '!' unary operation on a closure pointer.
+ (build_c_cast): Allow cast of a closure pointer to void *.
+ (functionTypesAreClosureCompatible): New
+ (typesAreClosureCompatible): New
+ (convert_for_assignment): Handle assignment of two closue pointers,
+ int to a closure pointer, etc.
+ (build_binary_op): Handle comparing two closure pointers, closure pointer
+ and NULL.
+ * c.opt: New -fclosures option.
+ * calls.c (expand_call): Call can be to a closure pointer.
+ * tree.def: Define new CLOSURE_POINTER_TYPE type.
+ * c-convert.c (convert): Handle convertion to a CLOSURE_POINTER_TYPE.
+ * c-parser.c (c_parser_declarator): Supprt use of '^' in a declarator
+ under -fclosures flag only.
+ * convert.c (convert_to_pointer): Support convertion of a closure
+ pointer to "void *".
+ (convert_to_closure_pointer): New
+ * convert.h (convert_to_closure_pointer): New declaration.
+
+ Radar 6093388
+ * config/arm/arm.c (FL_FOR_ARCH7A): Add FL_NEON.
+ (arm_arch7a): New global flag.
+ (arm_override_options): Set arm_arch7a flag.
+ * config/arm/darwin.h (FPUTYPE_DEFAULT): Default to Neon for v7.
+ (TARGET_DEFAULT_FLOAT_ABI): Default to ARM_FLOAT_ABI_SOFTFP for v7,
+ like we do for v6.
+
+2008-07-23 Josh Conner <jconner@apple.com>
+
+ Radar 6090740
+ * config/arm/arm.c (arm_output_epilogue): Use SP not IP
+ as scratch when restoring VFP registers.
+
+2008-07-22 Josh Conner <jconner@apple.com>
+
+ Radar 6077274
+ * config/darwin.c (machopic_symbol_defined_p): Return false
+ for a weak function declaration.
+
+2008-07-22 Josh Conner <jconner@apple.com>
+
+ Radar 6083621
+ * config/arm/arm.c (arm_adjust_insn_length): Add 2 bytes for
+ alignment to 32-bit thumb switch tables.
+
+2008-07-22 Josh Conner <jconner@apple.com>
+
+ Radar 6067743
+ * config/arm/arm.c (arm_reorg): Move label pad logic into...
+ (get_label_pad): ...here...
+ (create_fix_barrier): ...and call it here, too.
+
+2008-07-15 Josh Conner <jconner@apple.com>
+
+ Radar 6062215
+ * config/arm/arm.c (arm_encode_call_attribute): Check visibility
+ too.
+ (arm_darwin_encode_section_info): Likewise.
+
+2008-07-01 Jim Grosbach <grosbach@apple.com>
+ Radar 6040923
+ * config/arm/arm.md (*mulsi3_compare0_v6,
+ *mulsi_compare0_scratch_v6): Remove "&& optimize_size" conditional.
+
+2008-06-25 Josh Conner <jconner@apple.com>
+
+ Radar 6008578
+ * config/arm/arm.c (arm_reorg): Consider alignment of labels.
+ (arm_function_boundary): New function...
+ * config/arm/arm.h (FUNCTION_BOUNDARY): ...use it.
+
+2008-06-18 Josh Conner <jconner@apple.com>
+
+ Radar 6013984
+ * config/arm/darwin.h (CC1_SPEC): Ignore -pg.
+
+2008-06-06 Josh Conner <jconner@apple.com>
+
+ Radar 5920116
+ * config/arm/arm.c (arm_output_mi_thunk): Add longcall
+ handling. When indirecting, use a non-lazy ptr for weak
+ calls.
+
+2008-06-05 Josh Conner <jconner@apple.com>
+
+ Radar 5914860
+ * t-darwin (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add armv6.
+ (TARGET_LIBGCC2_CFLAGS): Remove armv6.
+ (DARWIN_EXTRA_CRT_BUILD_FLAGS): Remove.
+
+2008-05-27 Josh Conner <jconner@apple.com>
+
+ Radar 5960553
+ * c.opt (iwithsysroot): Add -iwithsysroot.
+ * c-opts.c (c_common_missing_argument): Likewise.
+ (c_common_handle_option): Likewise.
+ * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
+ * doc/invoke.texi: Describe -iwithsysroot option.
+
+2008-05-15 Josh Conner <jconner@apple.com>
+
+ Radar 5938756
+ * dwarf2out.c (modified_type_die): Verify that
+ TREE_TYPE (TYPE_NAME (type)) is non-null before using it.
+
+2008-05-14 Stuart Hastings <stuart@apple.com>
+
+ Radar 5774356
+ * config/rs6000/rs6000.c (debug_sp_offset,
+ debug_vrsave_offset): New. (rs6000_expand_builtin): Return 0
+ when nothing matches. (rs6000_expand_prologue): Revise
+ sp_offset computation, set debug_sp_offset and
+ debug_vrsave_offset. (rs6000_expand_epilogue): Test
+ debug_sp_offset and debug_vrsave_offset.
+ * testsuite/gcc.apple/5774356.c: New.
+
+2008-05-12 Stuart Hastings <stuart@apple.com>
+
+ * tree-ssa.c (tree_ssa_useless_type_conversion_1): Moved APPLE
+ LOCAL.
+
+2008-05-09 Stuart Hastings <stuart@apple.com>
+
+ Radar 5799099
+ * tree-ssa.c (tree_ssa_useless_type_conversion_1): Moved
+ cast-into-void* check after checks for losing volatile or
+ const.
+ * testsuite/gcc.apple/5799099.c: New.
+
+2008-05-09 Caroline Tice <ctice@apple.com
+
+ Radar 5839812
+ * objc/objc-act.c (objc_synthesize_new_getter): Temporarily set
+ input_location to be the location of the '@synthesize' statement
+ while the new getter method is synthesized; re-set it to its original
+ value afterwards.
+ (objc_syntehsize_new_setter): Likewise.
+
+2008-05-6 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5914395
+ * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC_GC__ for
+ -fobjc-gc-only option as well.
+
+2008-05-06 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5880719
+ Merge from 4.0
+ * combine.c: Add parameter to try_combine declaration.
+ (COMBINE_TRY_RETAIN): Define, if not already.
+ (try_combine): Add new parameter. If we had to add copies
+ of the original input(s) because their value(s) are used later,
+ and the resulting pattern does not match, try matching the
+ replacement without those copie(s) and leaving the original(s)
+ alone.
+ (combine_instructions): Adjust calls to try_combine.
+ (combine_validate_cost): Allow i2 to be 0. In retain_inputs
+ case, accept replacement when it is equal to original, not
+ necessarily a strict improvement.
+ * config/arm/arm.c (arm_size_rtx_costs): Adjust cost of DImode MULT.
+ * config/arm/arm.md (muldi3, *soft_muldi3): New.
+ * config/arm/cirrus.md (muldi3): Rename to cirrus_muldi3.
+
+2008-05-02 Josh Conner <jconner@apple.com>
+
+ Radar 5905142
+ * doc/invoke.texi: Add documentation for
+ MACOSX_DEPLOYMENT_TARGET and IPHONEOS_DEPLOYMENT_TARGET.
+
+2008-05-02 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5903944
+ * config/arm/arm.h (ASM_OUTPUT_ADDR_DIFF_VEC): Add missing
+ parentheses.
+
+2008-05-01 Caroline Tice <ctice@apple.com>
+
+ Radar 5741731
+ * dwarf2out.c (c-common.h): New include statement.
+ (modified_type_die): Temporarily remove volatile attribute, if it
+ was added because of objective '@try' block.
+
+2008-04-30 Josh Conner <jconner@apple.com>
+
+ Radar 5702478
+ * config/rs6000/rs6000.c (rs6000_override_options): Always
+ set TARGET_PIM_ALTIVEC if rs6000_altivec_pim is given.
+
+2008-04-29 Josh Conner <jconner@apple.com>
+
+ Radar 5866634
+ * cse.c (insert): Balance parentheses across #ifdefs.
+
+2008-04-29 Josh Conner <jconner@apple.com>
+
+ Radar 5866634
+ * cse.c (insert): Lower cost of SP+const addresses.
+
+2008-04-28 Josh Conner <jconner@apple.com>
+
+ Radar 5883867
+ * config.gcc (arm*-*-darwin*): Clear extra_headers.
+
+2008-04-16 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5837498
+ * config/arm/arm.h (ASM_OUTPUT_ADDR_DIFF_VEC): Use assembler
+ expression to calculate (L1-L2)/2 rather than relying on insn
+ length attributes.
+
+2008-04-22 Josh Conner <jconner@apple.com>
+
+ Radar 5840600
+ * common.opt (flocal-alloc): New command-line option and
+ corresponding variable, flag_local_alloc...
+ * local-alloc.c (block_alloc): ...use it.
+ * config/arm/arm.c (optimization_options): ...disable it by
+ default.
+ * doc/invoke.texi: Add -flocal-alloc documentation.
+
+2008-04-16 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5831562
+ Merge from 4.0
+ * global.c (TIE_PSEUDOS): New macro.
+ (empty_reg_set): New variable.
+ (find_reg): Adjust heuristics of propagating preferences and
+ pseudo-pseudo ties after a reg is selected.
+ (set_preference): Allow for vector/nonvector SUBREGS. Use
+ TIE_PSEUDOS.
+ * config/arm/arm.h (TIE_PSEUDOS): Define.
+
+e008-04-15 Josh Conner <jconner@apple.com>
+
+ Radar 5866711
+ * config/darwin.h (DARWIN_DYLIB1_SPEC): When
+ -miphoneos-version-min is seen, use dylib1.o.
+
+2008-04-15 Josh Conner <jconner@apple.com>
+
+ Radar 5866354
+ * config.host (*-darwin*): Add DARWIN_PCH_ADDR_SPACE_SIZE to
+ host_xm_defines.
+ * config/host-darwin.c (pch_address_space): Use
+ DARWIN_PCH_ADDR_SPACE_SIZE to determine size.
+ * config/arm/x-darwin: New file.
+ * config/arm/host-arm-darwin.c: New file.
+
+2008-04-15 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5831562
+ Merge from 4.0
+ * expr.c (expand_expr_real_1) (CONVERT_EXPR):
+ Improve codegen for (int)(long long >> 32).
+
+2008-04-11 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5831562
+ Merge from 4.0
+ * config/arm/arm.c (const64_ok_for_arm_add,
+ const64_ok_for_arm_immediate): New.
+ * config/arm/arm-protos.h: Prototype them.
+ * config/arm/predicates.md (arm_immediate64_operand,
+ arm_rhs64_operand, arm_add_immediate64_operand,
+ arm_add64_operand): New.
+ * config/arm/constraints.md: Add 'Dd'.
+ * config/arm/arm.md (adddi3, *arm_adddi3, unnamed define_split
+ for logical binary operators, anddi3, iordi3, xordi3): Accept
+ 64-bit constants that match 'Dd' constraint.
+ (adddi3): Allow negative constants whose negation is in-range
+ for SUB; generate SUB for these.
+ (subdi3): Allow constants either in-range for SUB, or whose
+ negation is in-range for ADD. Generate ADD for the latter.
+ (*arm_adddi3, *arm_subdi3): Allow constants.
+
+2008-04-11 Josh Conner <jconner@apple.com>
+
+ Radar 5840278 - part 2
+ * (analyze_leg): Cast TREE_INT_CST_HIGH to unsigned.
+
+2008-04-10 Josh Conner <jconner@apple.com>
+
+ Radar 5854251
+ * config/arm/libgcc-iphoneos.ver: Remove __switch* functions.
+
+2008-04-09 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5831562
+ Merge from 4.0
+ * local-alloc.c (find_free_reg): Use DIMODE_REG_ALLOC_ORDER, if
+ defined.
+ * regclass.c (dimode_reg_alloc_order,
+ dimode_inv_reg_alloc_order): New variables.
+ (init_reg_sets): Use DIMODE_REG_ALLOC_ORDER, if defined.
+ * global.c (find_reg): Use DIMODE_REG_ALLOC_ORDER, if defined.
+ * hard-reg-set.h (dimode_reg_alloc_order,
+ dimode_inv_reg_alloc_order): New declarations.
+ * config/arm/arm.h (IMODE_REG_ALLOC_ORDER): New macro.
+ (COMBINE_TRY_RETAIN): New macro.
+ * recog.c (peep2_find_free_register): Use
+ DIMODE_REG_ALLOC_ORDER, if defined.
+ * reload1.c (find_reg): Likewise.
+
+2008-04-09 Josh Conner <jconner@apple.com>
+
+ Radar 5851089
+ * config/arm/arm.md (insv): Enable for Thumb.
+
+2008-04-09 Josh Conner <jconner@apple.com>
+
+ Radar 5847848
+ * ifcvt.c (cond_exec_process_insns): Don't stop
+ conditionalization at a compare for TARGET_ARM.
+ (cond_exec_branch_targets_equiv): New function.
+ (cond_exec_process_if_block): Allow for null then_bb,
+ indicating merging of multiple && or || blocks only.
+ (process_if_block): Ditto.
+ (find_if_block): Ditto.
+ * config/arm/arm.c (arm_ifcvt_modify_multiple_tests): New
+ function.
+ * config/arm/arm.h (IFCVT_MODIFY_MULTIPLE_TESTS): New define.
+ * config/arm/arm-protos.h (arm_ifcvt_modify_multiple_tests):
+ New proto.
+ * config/arm/arm.md (*arm_cmpsi_insn): Mark predicable.
+
+2008-04-03 Josh Conner <jconner@apple.com>
+
+ Radar 5840278
+ * expr.c (look_for_bytemanip): New function...
+ (expand_expr_real_1): ...use it.
+ (struct bytemanip): New type.
+ (bswap32_shift_first): New variable.
+ (bswap32_and_first): New variable.
+ (bswap64_shift_first): New variable.
+ (bswap64_and_first): New variable.
+ (uxtb16_shift_first): New variable.
+ (uxtb16_and_first): New variable.
+ (find_and_record_values): New function.
+ (analyze_leg): New function.
+ * config/arm/arm.md (bswapsi2): New expand.
+ (arm_bswapsi2): New insn.
+ (thumb_bswapsi2): New insn.
+ (bswapdir2): New expand.
+ (arm_bswapdi2): New insn.
+ (thumb_bswapdi2): New insn.
+ (uxtb16): New insn.
+
+2008-04-03 Josh Conner <jconner@apple.com>
+
+ Radar 5835816
+ * config/arm/arm.md (arm_andsi3_insn): Remove non-immediate
+ operand permutation. Change from a define_insn_and_split to a
+ define_insn.
+ (arm_iorsi3): Likewise.
+
+2008-04-02 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5831528
+ * ifcvt.c (cond_exec_process_insns): Don't conditionally
+ execute calls with a NORETURN note attached.
+ * config/arm/arm.md (call_reg_armv6, call_reg_arm, call_mem,
+ call_value_reg_armv5, call_value_reg_arm, call_value_mem):
+ Make predicable.
+ (call_symbol_predicable): New.
+ (call_value_symbol_predicable): New.
+ (call_symbol): Only match for TARGET_INTERWORK.
+ (call_value_symbol): Likewise.
+
+2008-04-01 Josh Conner <jconner@apple.com>
+
+ Radar 5829269
+ * config/arm/arm.md (define_split 64-bit constants): Always
+ split 64-bit constants when generating Thumb code.
+
+2008-04-01 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5344182
+ * dwarf2out.c (add_prototyped_attribute): Check for objc as
+ the language to generate DW_AT_prototyped dwarf attr.
+
+2008-04-01 Josh Conner <jconner@apple.com>
+
+ Radar 5829297
+ * config/arm/arm.c (thumb_size_rtx_costs): New function...
+ (arm_size_rtx_costs): ...Use it.
+
+2008-03-31 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5819088
+ * cfglayout.c (duplicate_insn_chain): Add missing case to
+ copy NOTE_INSN_ALLOCA notes.
+
+2008-03-31 Stuart Hastings <stuart@apple.com>
+
+ Radar 5814283
+ * gcc/testsuite/gcc.apple/5814283.c: Tweaked to test on x86
+ only.
+
+2008-03-28 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5823776
+ * config/darwin.h: Use crt1.o if iphoneos-version-min is
+ specified
+
+2008-03-27 Stuart Hastings <stuart@apple.com>
+
+ Radar 5814283
+ * config/i386/emmintrin.h (_mm_shuffle_pd,
+ _mm_shufflehi_epi16, _mm_shufflelo_epi16,
+ _mm_shuffle_epi32): Insert missing parens.
+ * config/i386/tmmintrin.h (_mm_alignr_epi8): Insert missing
+ parens.
+ * testsuite/gcc.apple/5814283.c: New.
+
+2008-03-24 Josh Conner <jconner@apple.com>
+
+ Radar 5777572 - take 2 (cont.)
+ * config/darwin.h (LINK_SPEC): Change -iphone_version_min to
+ -iphoneos_version_min.
+ * config/arm/darwin.h (DARWIN_LD_MINVERSION_SPEC): Likewise.
+
+2008-03-24 Josh Conner <jconner@apple.com>
+
+ Radar 5819018
+ * config/darwin-driver.c (darwin_default_min_version): Don't
+ warn if both MACOSX_DEPLOYMENT_TARGET and
+ IPHONEOS_DEPLOYMENT_TARGET are set.
+
+2008-03-24 Josh Conner <jconner@apple.com>
+
+ Radar 4382996
+ * config/arm/predicates.md (binary_cc_noclobber_operator): New
+ special_predicate.
+ * config/arm/arm.md (arm_binary_ne_0) New define_insn_and_split.
+ (arm_add_ne_0): Likewise.
+ (arm_mul_ne_0): Likewise.
+
+2008-03-24 Stuart Hastings <stuart@apple.com>
+
+ Radar 5612787
+ * testsuite/lib/target-supports.exp
+ (check_no_compiler_messages, check_no_messages_and_pattern):
+ Remove redundant definitions.
+
+2008-03-24 Josh Conner <jconner@apple.com>
+
+ Radar 4826373
+ * config/arm/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Remove
+ undef.
+
+2008-03-20 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5802025
+ * c-common.h (objc_build_property_getter_func_call): New decl.
+ * stub-objc.c (objc_build_property_getter_func_call): New stub.
+
+2008-03-19 Bill Wendling <wendling@apple.com>
+
+ Radar 5571540
+ * config/i386/i386.c (output_pic_addr_const): darwin_stubs flag
+ is only available on Mach-O systems.
+
+2008-03-17 Josh Conner <jconner@apple.com>
+
+ Radar 5619587 (Reverts 5342595)
+ * config/i386/darwin.h (DARWIN_DSYMUTIL_SPEC): Remove
+ definition.
+ * config/rs6000/darwin.h (DARWIN_DSYMUTIL_SPEC): Likewise.
+ * config/arm/darwin.h (DARWIN_DSYMUTIL_SPEC): Likewise.
+ (PREFERRED_DEBUGGING_TYPE): Remove definition.
+ * config/darwin.h (LINK_COMMAND_SPEC): Replace darwin_dsymutil
+ spec invocation with string.
+ (darwin_dsymutil): Remove spec definition.
+
+2008-03-15 Josh Conner <jconner@apple.com>
+
+ Radar 5777572 - take 2
+ * config.gcc: Replace all instances of 'iphone' with 'iphoneos'.
+ * config/darwin-c.c: Likewise.
+ * config/darwin.opt: Likewise.
+ * config/i386/darwin.h: Likewise.
+ * config/rs6000/darwin.h: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/darwin.h: Likewise.
+ * config/arm/darwin.h: Likewise.
+ * config/darwin-driver.c: Likewise.
+ * config/arm/t-slibgcc-iphone: Rename to...
+ * config/arm/t-slibgcc-iphoneos: ...new file.
+ * config/arm/libgcc-iphone.ver: Rename to...
+ * config/arm/libgcc-iphoneos.ver: ...new file.
+
+2008-03-14 Josh Conner <jconner@apple.com>
+
+ Radar 5641084
+ * config/arm/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Err on -pg.
+
+2008-03-13 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5798689
+ * testsuite/gcc.dg/sibcall-3.c: Skip test for thumb
+ * testsuite/gcc.dg/sibcall-4.c: Likewise
+
+2008-03-13 Josh Conner <jconner@apple.com>
+
+ Undo Radar 5730079
+ * config/i386/darwin.h (DARWIN_ALLOWED_VERSION_TYPES): Remove
+ definition.
+ * config/rs6000/darwin.h (CC1_SPEC): Don't err on
+ -miphone-version-min.
+ (DARWIN_ALLOWED_VERSION_TYPES): Remove definition.
+ * config/darwin.h (DARWIN_VERSION_MACOSX): Remove definition.
+ (DARWIN_VERSION_IPHONE): Remove definition.
+ (enum darwin_version_type): New enum.
+ (darwin_default_min_version): Remove allowable_vers_types
+ parameter.
+ * config/arm/darwin.h (CC1_SPEC): Don't err on
+ -mmacosx-version-min switch.
+ (DARWIN_ALLOWED_VERSION_TYPES): Remove definition.
+ * config/darwin-driver.c (darwin_default_min_version): Remove
+ allowable_vers_types parameter and logic to handle it. Rename
+ default_vers_type paramter to vers_type.
+
+2008-03-13 Josh Conner <jconner@apple.com>
+
+ Radar 5777572
+ * config.gcc: Replace all instances of 'aspen' with 'iphone'.
+ * config/darwin-c.c: Likewise.
+ * config/darwin.opt: Likewise.
+ * config/i386/darwin.h: Likewise.
+ * config/rs6000/darwin.h: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/darwin.h: Likewise.
+ * config/arm/darwin.h: Likewise. Also, set default minversion
+ to 2.0.
+ * config/darwin-driver.c: Likewise.
+ * config/arm/t-slibgcc-aspen: Rename to...
+ * config/arm/t-slibgcc-iphone: ...new file.
+ * config/arm/libgcc-aspen.ver: Rename to...
+ * config/arm/libgcc-iphone.ver: ...new file.
+
+2008-03-12 Stuart Hastings <stuart@apple.com>
+
+ Radar 5612787
+ * ChangeLog.apple: Fixed typo in two entries.
+
+2008-03-10 Stuart Hastings <stuart@apple.com>
+
+ * config/i386/i386.c (ix86_builtins): Need APPLE LOCAL markers
+ around deletion.
+
+2008-03-07 Jim Grosbach <grosbach@apple.com>
+
+ * global.c (set_preference): The apple local change to not
+ punt on subregs breaks under ARM. Go back to mainline behaviour
+ for that case.
+
+2008-03-07 Jim Grosbach <grosbach@apple.com>
+
+ * config/arm/arm.h (CASE_VECTOR_SHORTEN_MODE): Do not shorten
+ VECTOR_DIFF tables in Thumb2 mode. The length calculations for
+ many variable length instructions are only approximate, but the
+ shorter tables require them to be exact and are thus often
+ incorrect.
+
+2008-03-07 Jim Grosbach <grosbach@apple.com>
+
+ * config/arm/arm.md: Split out a separate thumb2_jump pattern
+ to enable accurate length attribute calculation.
+
+2008-03-07 Jim Grosbach <grosbach@apple.com>
+
+ * config/arm/arm.h: Functionalize ASM_OUTPUT_ADDR_DIFF_VEC
+ * config/arm/arm-protos.h: Ditto
+ * config/arm/arm.c (arm_asm_output_addr_diff_vec): New function.
+ Adjust offset calculations for Thumb2 as the table layout does
+ not need the Apple specific compact switch table bits.
+
+2008-03-07 Josh Conner <jconner@apple.com>
+
+ Radar 5782111
+ * config/darwin.h (ASM_OUTPUT_LABELREF): Add label prefix to
+ quoted names, too.
+
+2008-03-07 Stuart Hastings <stuart@apple.com>
+
+ * c-common.c: Restore blank line to satisfy checklocals.
+ * config/i386/i386.c (ix86_builtins): APPLE LOCAL marker for
+ deletion.
+ * config/darwin.c (output_objc_section_asm_op): Insert blank
+ to force checklocal behavior.
+
+2008-03-07 Stuart Hastings <stuart@apple.com>
+
+ Radar 5612787
+ * config/i386/ammintrin.h: Added APPLE LOCAL file marker.
+ * config/i386/nmmintrin.h: Added APPLE LOCAL file marker.
+ * config/i386/smmintrin.h: Added APPLE LOCAL file marker.
+ * c-typeck.c (build_binary_op): Added APPLE LOCAL marker.
+
+2008-03-06 Stuart Hastings <stuart@apple.com>
+
+ Radar 5612787
+ * expr.h (expand_normal): New.
+ * config.gcc(extra_headers): For x86, added ammintrin.h,
+ smmintrin.h, and nmmintrin.h. (OPTION_MASK_ISA_SSE4_1,
+ OPTION_MASK_ISA_SSE4_2, OPTION_MASK_ISA_SSE4A): New.
+ * doc/invoke.texi (-flax-vector-conversions): New flag.
+ * c.opt (-flax-vector-conversions): New flag.
+ * c-common.h (vector_types_convertible_p): Update extern decl.
+ (-flax-vector-conversions): New.
+ * c-common.c (-flax-vector-conversions): New flag, defaulting
+ TRUE. (vector_types_convertible_p): Backport 4.3 code with
+ new emit_lax_note parameter.
+ * c-opts.c (-flax-vector-conversions): New flag.
+ * c-typeck.c (convert_for_assignment, digest_init): New parm
+ for vector_types_convertible_p.
+ * cp/call.c (standard_conversion): New parm for
+ vector_types_convertible_p.
+ * cp/typeck.c (convert_for_assignment,
+ ptr_reasonably_similar): New parm for
+ vector_types_convertible_p.
+ * cp/typeck2.c (digest_init): New parm for
+ vector_types_convertible_p.
+ * config/i386/i386.h (MASK_SSEREGPARM, MASK_SSSE3,
+ MASK_NO_RED_ZONE): Tweak bit masks.
+ (OPTION_MASK_ISA_SSE4_1, OPTION_MASK_ISA_SSE4_2,
+ OPTION_MASK_ISA_SSE4A, TARGET_SSE4_1, TARGET_SSE4_2,
+ TARGET_SSE4A): New. (TARGET_SWITCHES): New flags "sse4.1",
+ "sse4.2", "sse4", "no-sse4", "sse4a".
+ (TARGET_CPU_CPP_BUILTINS): New defines "__SSE4_1__",
+ "__SSE4_2__", "__SSE4A__". (reg_class, REG_CLASS_NAMES,
+ REG_CLASS_CONTENTS): New class: SSE_FIRST_REG.
+ (REG_CLASS_FROM_CONSTRAINT, CONSTRAINT_LEN): New; support
+ "Y0".
+ * config/i386/i386.md (UNSPEC_EXTRQI, UNSPEC_EXTRQ,
+ UNSPEC_INSERTQI, UNSPEC_INSERTQ, UNSPEC_BLENDV,
+ UNSPEC_INSERTPS, UNSPEC_DP, UNSPEC_MOVNTDQA, UNSPEC_MPSADBW,
+ UNSPEC_PHMINPOSUW, UNSPEC_PTEST, UNSPEC_ROUND, UNSPEC_CRC32,
+ UNSPEC_PCMPESTR, UNSPEC_PCMPISTR): New. (sseinsq, sseinsqi,
+ prefix_extra, negtf2, abstf2, *absnegtf2_sse, CRC32MODE,
+ crc32modesuffix, crcmodeconstraint, sse4_2_crc32<mode>,
+ sse4_2_crc32di): New. (length_immediate) Add support for
+ SSE4A insertq.
+ * config/i386/nmmintrin.h: New.
+ * config/i386/smmintrin.h: New.
+ * config/i386/ammintrin.h: New.
+ * config/i386/predicates.md (reg_not_xmm0_operand,
+ nonimm_not_xmm0_operand, const_pow2_1_to_2_operand,
+ const_pow2_1_to_32768_operand): New.
+ * config/i386/smmintrin.h: New file.
+ * config/i386/i386-modes.def
+ (CCA, CCC, CCO, CCS, V2QI): New modes.
+ * config/i386/sse.md (SSEMODE14, sse4_2_crc32<mode>,
+ sse4_2_crc32di, *vec_setv4sf_sse4_1, sse4_1_insertps,
+ sse4_1_mulv2siv2di3, *sse4_1_mulv4si3, *sse4_1_smax<mode>3,
+ *sse4_1_umax<mode>3, *sse4_1_smin<mode>3,
+ *sse4_1_umin<mode>3, sse4_1_eqv2di3, sse4_2_gtv2di3,
+ *sse4_1_pinsrb, *sse4_1_pinsrd, *sse4_1_pinsrq,
+ *sse4_1_pextrb, *sse4_1_pextrb_memory, sse2_pextrw,
+ *sse4_1_pextrw_memory, *sse4_1_pextrd, *sse4_1_pextrq,
+ sse4a_vmmovntv2df, sse4a_movntdf, sse4a_vmmovntv4sf,
+ sse4a_movntsf, sse4a_extrqi, sse4a_extrq, sse4a_insertqi,
+ sse4a_insertq, sse4_1_blendpd, sse4_1_blendps,
+ sse4_1_blendvpd, sse4_1_blendvps, sse4_1_dppd, sse4_1_dpps,
+ sse4_1_movntdqa, sse4_1_mpsadbw, sse4_1_packusdw,
+ sse4_1_pblendvb, sse4_1_pblendw, sse4_1_phminposuw,
+ sse4_1_extendv8qiv8hi2, *sse4_1_extendv8qiv8hi2,
+ sse4_1_extendv4qiv4si2, *sse4_1_extendv4qiv4si2,
+ sse4_1_extendv2qiv2di2, *sse4_1_extendv2qiv2di2,
+ sse4_1_extendv4hiv4si2, *sse4_1_extendv4hiv4si2,
+ sse4_1_extendv2hiv2di2, *sse4_1_extendv2hiv2di2,
+ sse4_1_extendv2siv2di2, *sse4_1_extendv2siv2di2,
+ sse4_1_zero_extendv8qiv8hi2, *sse4_1_zero_extendv8qiv8hi2,
+ sse4_1_zero_extendv4qiv4si2, *sse4_1_zero_extendv4qiv4si2,
+ sse4_1_zero_extendv2qiv2di2, *sse4_1_zero_extendv2qiv2di2,
+ sse4_1_zero_extendv4hiv4si2, *sse4_1_zero_extendv4hiv4si2,
+ sse4_1_zero_extendv2hiv2di2, *sse4_1_zero_extendv2hiv2di2,
+ sse4_1_zero_extendv2siv2di2, *sse4_1_zero_extendv2siv2di2,
+ sse4_1_ptest, sse4_1_roundpd, sse4_1_roundps,
+ sse4_1_roundsd, sse4_1_roundss, sse4_2_pcmpestr,
+ sse4_2_pcmpestri, sse4_2_pcmpestrm, sse4_2_pcmpestr_cconly,
+ sse4_2_pcmpistr, sse4_2_pcmpistri, sse4_2_pcmpistrm,
+ sse4_2_pcmpistr_cconly): New. (sse2_smulv8hi3_highpart):
+ Split and renamed to smulv8hi3_highpart and
+ *smulv8hi3_highpart. (sse2_umulv8hi3_highpart): Split and
+ renamed to umulv8hi3_highpart and *umulv8hi3_highpart.
+ (sse2_umulv2siv2di3): Tweaked to V4SImode, added
+ prefix_data16. (umaxv4si3): Support pmaxud. (umin<mode>3):
+ Support pminud. * config/i386/darwin.h
+ (MASK_MACHO_DYNAMIC_NO_PIC, MASK_ALIGN_NATURAL,
+ MASK_ALIGN_MAC68K): Tweak mask bits. *
+ config/i386/i386-protos.h (ix86_expand_sse_unpack,
+ ix86_expand_sse4_unpack): New. * config/i386/i386.c
+ (x86_popcnt) New. (enum pta_flags): Added PTA_CX16,
+ PTA_POPCNT, PTA_ABM, PTA_SSE4A, PTA_NO_SAHF, PTA_SSE4_1,
+ PTA_SSE4_2. (override_options): Support
+ OPTION_MASK_ISA_SSE4_1, OPTION_MASK_ISA_SSE4_2,
+ OPTION_MASK_ISA_SSE4A, x86_popcnt. (ix86_expand_int_vcond):
+ Backport 4.3 code. (ix86_expand_sse_unpack,
+ ix86_expand_sse4_unpack): New. (IX86_BUILTIN_MOVNTSD,
+ IX86_BUILTIN_MOVNTSS, IX86_BUILTIN_EXTRQI,
+ IX86_BUILTIN_EXTRQ, IX86_BUILTIN_INSERTQI,
+ IX86_BUILTIN_INSERTQ, IX86_BUILTIN_BLENDPD,
+ IX86_BUILTIN_BLENDPS, IX86_BUILTIN_BLENDVPD,
+ IX86_BUILTIN_BLENDVPS, IX86_BUILTIN_PBLENDVB128,
+ IX86_BUILTIN_PBLENDW128, IX86_BUILTIN_DPPD,
+ IX86_BUILTIN_DPPS, IX86_BUILTIN_INSERTPS128,
+ IX86_BUILTIN_MOVNTDQA, IX86_BUILTIN_MPSADBW128,
+ IX86_BUILTIN_PACKUSDW128, IX86_BUILTIN_PCMPEQQ,
+ IX86_BUILTIN_PHMINPOSUW128, IX86_BUILTIN_PMAXSB128,
+ IX86_BUILTIN_PMAXSD128, IX86_BUILTIN_PMAXUD128,
+ IX86_BUILTIN_PMAXUW128, IX86_BUILTIN_PMINSB128,
+ IX86_BUILTIN_PMINSD128, IX86_BUILTIN_PMINUD128,
+ IX86_BUILTIN_PMINUW128, IX86_BUILTIN_PMOVSXBW128,
+ IX86_BUILTIN_PMOVSXBD128, IX86_BUILTIN_PMOVSXBQ128,
+ IX86_BUILTIN_PMOVSXWD128, IX86_BUILTIN_PMOVSXWQ128,
+ IX86_BUILTIN_PMOVSXDQ128, IX86_BUILTIN_PMOVZXBW128,
+ IX86_BUILTIN_PMOVZXBD128, IX86_BUILTIN_PMOVZXBQ128,
+ IX86_BUILTIN_PMOVZXWD128, IX86_BUILTIN_PMOVZXWQ128,
+ IX86_BUILTIN_PMOVZXDQ128, IX86_BUILTIN_PMULDQ128,
+ IX86_BUILTIN_PMULLD128, IX86_BUILTIN_ROUNDPD,
+ IX86_BUILTIN_ROUNDPS, IX86_BUILTIN_ROUNDSD,
+ IX86_BUILTIN_ROUNDSS, IX86_BUILTIN_PTESTZ,
+ IX86_BUILTIN_PTESTC, IX86_BUILTIN_PTESTNZC,
+ IX86_BUILTIN_VEC_EXT_V16QI, IX86_BUILTIN_VEC_SET_V2DI,
+ IX86_BUILTIN_VEC_SET_V4SF, IX86_BUILTIN_VEC_SET_V4SI,
+ IX86_BUILTIN_VEC_SET_V16QI, IX86_BUILTIN_VEC_PACK_SFIX,
+ IX86_BUILTIN_CRC32QI, IX86_BUILTIN_CRC32HI,
+ IX86_BUILTIN_CRC32SI, IX86_BUILTIN_CRC32DI,
+ IX86_BUILTIN_PCMPESTRI128, IX86_BUILTIN_PCMPESTRM128,
+ IX86_BUILTIN_PCMPESTRA128, IX86_BUILTIN_PCMPESTRC128,
+ IX86_BUILTIN_PCMPESTRO128, IX86_BUILTIN_PCMPESTRS128,
+ IX86_BUILTIN_PCMPESTRZ128, IX86_BUILTIN_PCMPISTRI128,
+ IX86_BUILTIN_PCMPISTRM128, IX86_BUILTIN_PCMPISTRA128,
+ IX86_BUILTIN_PCMPISTRC128, IX86_BUILTIN_PCMPISTRO128,
+ IX86_BUILTIN_PCMPISTRS128, IX86_BUILTIN_PCMPISTRZ128,
+ IX86_BUILTIN_PCMPGTQ, IX86_BUILTIN_INFQ, IX86_BUILTIN_FABSQ,
+ IX86_BUILTIN_COPYSIGNQ): New. (def_builtin_const,
+ bdesc_ptest, bdesc_pcmpestr, bdesc_pcmpistr, bdesc_crc32,
+ bdesc_sse_3arg): New. (bdesc_2arg):
+ __builtin_ia32_pmulhw128 and __builtin_ia32_pmulhuw128
+ updated for new code. CODE_FOR_sse4_1_mulv2siv2di3,
+ __builtin_ia32_packusdw128, __builtin_ia32_pcmpeqq,
+ __builtin_ia32_pmaxsb128, __builtin_ia32_pmaxsd128,
+ __builtin_ia32_pmaxud128, __builtin_ia32_pmaxuw128,
+ __builtin_ia32_pminsb128, __builtin_ia32_pminsd128,
+ __builtin_ia32_pminud128, __builtin_ia32_pminuw128,
+ __builtin_ia32_pmulld128, __builtin_ia32_pcmpgtq: New.
+ (bdesc_1arg): CODE_FOR_sse4_1_extendv8qiv8hi2,
+ CODE_FOR_sse4_1_extendv4qiv4si2,
+ CODE_FOR_sse4_1_extendv2qiv2di2,
+ CODE_FOR_sse4_1_extendv4hiv4si2,
+ CODE_FOR_sse4_1_extendv2hiv2di2,
+ CODE_FOR_sse4_1_extendv2siv2di2,
+ CODE_FOR_sse4_1_zero_extendv8qiv8hi2,
+ CODE_FOR_sse4_1_zero_extendv4qiv4si2,
+ CODE_FOR_sse4_1_zero_extendv2qiv2di2,
+ CODE_FOR_sse4_1_zero_extendv4hiv4si2,
+ CODE_FOR_sse4_1_zero_extendv2hiv2di2,
+ CODE_FOR_sse4_1_zero_extendv2siv2di2,
+ CODE_FOR_sse4_1_phminposuw, CODE_FOR_sse4_1_roundpd,
+ CODE_FOR_sse4_1_roundps: New. (ix86_init_mmx_sse_builtins):
+ Added SSE4 builtin signatures, including
+ v2di_ftype_v2di_unsigned_unsigned,
+ v2di_ftype_v2di_v2di_unsigned_unsigned,
+ v2di_ftype_v2di_v16qi, v2df_ftype_v2df_v2df_v2df,
+ v4sf_ftype_v4sf_v4sf_v4sf, v8hi_ftype_v16qi,
+ v4si_ftype_v16qi, v2di_ftype_v16qi, v4si_ftype_v8hi,
+ v2di_ftype_v8hi, v2di_ftype_v4si, v2di_ftype_pv2di,
+ v16qi_ftype_v16qi_v16qi_int, v16qi_ftype_v16qi_v16qi_v16qi,
+ v8hi_ftype_v8hi_v8hi_int, v4si_ftype_v4si_v4si_int,
+ int_ftype_v2di_v2di, int_ftype_v16qi_int_v16qi_int_int,
+ v16qi_ftype_v16qi_int_v16qi_int_int, and
+ int_ftype_v16qi_v16qi_int. Added __builtin_ia32_movntdqa,
+ __builtin_ia32_pmovsxbw128, __builtin_ia32_pmovsxbd128,
+ __builtin_ia32_pmovsxbq128, __builtin_ia32_pmovsxwd128,
+ __builtin_ia32_pmovsxwq128, __builtin_ia32_pmovsxdq128,
+ __builtin_ia32_pmovzxbw128, __builtin_ia32_pmovzxbd128,
+ __builtin_ia32_pmovzxbq128, __builtin_ia32_pmovzxwd128,
+ __builtin_ia32_pmovzxwq128, __builtin_ia32_pmovzxdq128,
+ __builtin_ia32_pmuldq128, __builtin_ia32_roundpd,
+ __builtin_ia32_roundps, __builtin_ia32_roundsd,
+ __builtin_ia32_roundss, __builtin_ia32_movntsd,
+ __builtin_ia32_movntss, __builtin_ia32_extrqi,
+ __builtin_ia32_extrq, __builtin_ia32_insertqi,
+ __builtin_ia32_insertq, __builtin_ia32_crc32di,
+ __builtin_ia32_crc32qi, __builtin_ia32_crc32hi,
+ __builtin_ia32_crc32si, __builtin_ia32_vec_set_v2di,
+ __builtin_ia32_vec_set_v4sf, __builtin_ia32_vec_set_v4si,
+ __builtin_ia32_vec_set_v16qi, and
+ __builtin_ia32_vec_ext_v16qi.
+ (ix86_expand_sse_4_operands_builtin, ix86_expand_crc32,
+ ix86_expand_sse_ptest, ix86_expand_sse_pcmpestr,
+ ix86_expand_sse_pcmpistr): New. (ix86_expand_unop_builtin,
+ ix86_expand_builtin, ix86_expand_vector_set,
+ ix86_expand_vector_extract): Backport 4.3 code.
+ (ix86_expand_vec_set_builtin): Backport PR31582 fix from
+ 4.2.
+ * config/darwin.c (machopic_select_section): Backport 4.3 code.
+ * testsuite/gcc.dg/vect/vect-none.c: Adjust for improved
+ SSE4 vectorization.
+ * testsuite/lib/target-supports.exp (get_compiler_message):
+ Backport additional parameters.
+ (check_no_compiler_messages, check_no_messages_and_pattern):
+ New. (check_visibility_available,
+ check_named_sections_available,
+ check_effective_target_ilp32, check_effective_target_lp64):
+ New parm for get_compiler_message().
+ * testsuite/gcc.target/i386/sse4_1-pmovsxwq.c: New.
+ * testsuite/gcc.target/i386/sse4_1-dpps-2.c: New.
+ * testsuite/gcc.target/i386/sse4_1-insertps-1.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pcmpeqq.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundsd-1.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundsd-3.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmovsxbq.c: New.
+ * testsuite/gcc.target/i386/sse4_2-popcntq.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmovsxbw.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pminsb.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pminsd.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmaxsb.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pblendw.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundss-1.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pblendvb.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmaxsd.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundss-3.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmovzxwd.c: New.
+ * testsuite/gcc.target/i386/sse4_1-ptest-2.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pextrb.c: New.
+ * testsuite/gcc.target/i386/sse4a-montss.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pextrd.c: New.
+ * testsuite/gcc.target/i386/sse4_2-pcmpestri-2.c: New.
+ * testsuite/gcc.target/i386/i386.exp: New.
+ * testsuite/gcc.target/i386/sse4_1-pmovzxbd.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundpd-1.c: New.
+ * testsuite/gcc.target/i386/sse4_2-pcmpistri-2.c: New.
+ * testsuite/gcc.target/i386/sse4_2-pcmpestrm-2.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundpd-3.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pinsrq.c: New.
+ * testsuite/gcc.target/i386/sse4_2-pcmpistrm-2.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pminuw.c: New.
+ * testsuite/gcc.target/i386/sse4_1-packusdw.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmaxuw.c: New.
+ * testsuite/gcc.target/i386/sse4_1-check.h: New.
+ * testsuite/gcc.target/i386/sse4_2-check.h: New.
+ * testsuite/gcc.target/i386/sse4_1-dppd-1.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmovsxwd.c: New.
+ * testsuite/gcc.target/i386/sse4_1-blendps.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmovzxdq.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundps-1.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundps-3.c: New.
+ * testsuite/gcc.target/i386/sse4a-extract.c: New.
+ * testsuite/gcc.target/i386/sse4_2-crc32q.c: New.
+ * testsuite/gcc.target/i386/sse4_2-pcmpstr.h: New.
+ * testsuite/gcc.target/i386/sse4_1-pmuldq.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmovsxbd.c: New.
+ * testsuite/gcc.target/i386/sse4_1-dpps-1.c: New.
+ * testsuite/gcc.target/i386/sse4_2-crc32w.c: New.
+ * testsuite/gcc.target/i386/sse4_1-insertps-2.c: New.
+ * testsuite/gcc.target/i386/sse4_1-phminposuw.c: New.
+ * testsuite/gcc.target/i386/sse4_2-popcnt.h: New.
+ * testsuite/gcc.target/i386/sse4_1-extractps.c: New.
+ * testsuite/gcc.target/i386/sse4_1-blendvps.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundsd-2.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundsd-4.c: New.
+ * testsuite/gcc.target/i386/sse4_2-popcntl.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmovsxdq.c: New.
+ * testsuite/gcc.target/i386/sse4_2-crc32.h: New.
+ * testsuite/gcc.target/i386/sse4a-insert.c: New.
+ * testsuite/gcc.target/i386/sse4a-montsd.c: New.
+ * testsuite/gcc.target/i386/sse4_1-round.h: New.
+ * testsuite/gcc.target/i386/sse4_1-pminud.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundss-2.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pinsrb.c: New.
+ * testsuite/gcc.target/i386/sse4_1-ptest-1.c: New.
+ * testsuite/gcc.target/i386/sse4_1-mpsadbw.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmaxud.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundss-4.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pinsrd.c: New.
+ * testsuite/gcc.target/i386/sse4_1-ptest-3.c: New.
+ * testsuite/gcc.target/i386/sse4_2-pcmpestri-1.c: New.
+ * testsuite/gcc.target/i386/sse4_1-blendpd.c: New.
+ * testsuite/gcc.target/i386/sse4_2-pcmpestrm-1.c: New.
+ * testsuite/gcc.target/i386/sse4_2-pcmpistri-1.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundpd-2.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmovzxwq.c: New.
+ * testsuite/gcc.target/i386/sse4_2-pcmpgtq.c: New.
+ * testsuite/gcc.target/i386/sse4_2-pcmpistrm-1.c: New.
+ * testsuite/gcc.target/i386/sse4_2-crc32b.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pextrq.c: New.
+ * testsuite/gcc.target/i386/sse4_1-dppd-2.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmovzxbq.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pextrw.c: New.
+ * testsuite/gcc.target/i386/sse4_1-movntdqa.c: New.
+ * testsuite/gcc.target/i386/sse4_1-roundps-2.c: New.
+ * testsuite/gcc.target/i386/sse4_2-crc32l.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmovzxbw.c: New.
+ * testsuite/gcc.target/i386/sse4_1-pmulld.c: New.
+ * testsuite/gcc.target/i386/sse4_1-blendvpd.c: New.
+
+2008-03-05 Josh Conner <jconner@apple.com>
+
+ Radar 5603763
+ * config/darwin.h (GEN_SUFFIXED_NAME_FOR_SYMBOL): New macro...
+ (GEN_LAZY_PTR_NAME_FOR_SYMBOL): ...use it.
+ * config/arm/arm.c (machopic_output_stub): Generate stub lazy
+ ptr label using GEN_SUFFIXED_NAME_FOR_SYMBOL instead of simple
+ concatenation.
+
+2008-03-04 Josh Conner <jconner@apple.com>
+
+ Radar 5603792
+ * config/arm/arm.c (arm_darwin_encode_section_info): New
+ function...
+ (TARGET_ENCODE_SECTION_INFO): ...use for TARGET_MACHO.
+ (arm_encode_section_info): Remove TARGET_MACHO-specific bits.
+
+2008-03-03 Jim Grosbach <grosbach@apple.com>
+
+ Radar 5316398
+ * config/arm/t-darwin (LIB2FUNCS_EXTRA, LIB2FUNCS_EXCLUDE):
+ Override libgcc functions for double/single float to DI
+ conversion with arm specific versions.
+ * config/arm/_fixdfdi.c: New file. ARM specific __fixdfdi()
+ * config/arm/_fixunsdfdi.c: New file. ARM specific __fixunsdfdi()
+ * config/arm/_fixsfdi.c: New file. ARM specific __fixsfdi()
+ * config/arm/_fixunssfdi.c: New file. ARM specific __fixunssfdi()
+
+2008-03-03 Josh Conner <jconner@apple.com>
+
+ Radar 5757769
+ * config/arm/arm.c (arm_dbx_register_number): Start VFP
+ debug register numbering from 256.
+
+2008-02-29 Josh Conner <jconner@apple.com>
+
+ Radar 5730079
+ * config/i386/darwin.c (DARWIN_ALLOWED_VERSION_TYPES): New
+ macro.
+ * config/rs6000/darwin.h (CC1_SPEC): Generate an error for
+ -maspen-version-min.
+ (DARWIN_ALLOWED_VERSION_TYPES): New macro.
+ * config/darwin.h: Change DARWIN_VERSION from enums to
+ bitfield macros.
+ (darwin_default_min_version): Add allowable types parameter.
+ * config/arm/darwin.c (CC1_SPEC): Generate an error for
+ -mmacosx-version-min.
+ (DARWIN_ALLOWED_VERSION_TYPES): New macro.
+ * config/darwin-driver.c (darwin_default_min_version): Add
+ allowable_vers_types parameter and logic to handle it. Rename
+ vers_type parameter to default_vers_type.
+
+2008-02-26 Caroline Tice <ctice@apple.com>
+
+ Radar 5743691
+ * dwarf2out.c (DW_ISA_*): New defines.
+ (dwarf_attr_name): Recognize DW_AT_APPLE_isa.
+ (gen_subprogram_die): For ARM, emit DW_AT_APPLE_isa.
+ * dwarf2.h (enum dwarf_attribute): Add DW_AT_APPLE_isa.
+
+2008-02-21 Caroline Tice <ctice@apple.com>
+
+ Radar 5741070
+ * objc/objc-act.c (objc_finish_message_expr): Find
+ the record-type tree from the class interface, and mark the record
+ type as used, for emitting debug info.
+ * cp/cp-objcp-common.c (c_return_interface_record_type): New function.
+ * cp/cp-tree.h (c_return_interface_record_type): New extern function
+ declaration.
+ * c-tree.h (c_return_interface_record_type): Likewise
+ * c-decl.c (c_return_interface_record_type): New function.
+
+2008-02-18 Jim Grosbach <grosbach@apple.com>
+ Radar 5752613
+ * fold-const.c (fold_inf_compare): equality comparisons to
+ infinity are not equivalent to relatives comparison to DBL_MAX
+ due to, e.g., different treatment of the "invalid" flag. Remove the
+ conversions which make those transformations.
+
+2008-02-19 Caroline Tice <ctice@apple.com>
+
+ Radar 2338865
+ * dwarf2out.c (options.h): New include statement.
+ (dwarf_attr_name): Add cases for DW_AT_APPLE_flags and
+ DW_AT_APPLE_optimized.
+ (gen_subprogram_die): Add DW_AT_APPLE_optimized to subprogram die if
+ optimization level for the subroutine is greater than zero.
+ (dwarf2out_finish): Add DW_AT_APPLE_optimized to the comp unit die if
+ the optimization level is greater than zero.
+ * dwarf2.h (DW_AT_APPLE_optimized): Add new Apple attribute.
+
+2008-02-08 Josh Conner <jconner@apple.com>
+
+ Radar 5681645
+ Radar 5717692
+ * config.gcc: Move t-slibgcc-darwin from *-*-darwin* into
+ i[34567]86-*-darwin*, powerpc-*-darwin*, and
+ powerpc64-*-darwin*. Add t-libgcc-aspen to arm*-*-darwin*.
+ * config/i386/darwin.h (DARWIN_ASPEN_LIBGCC_SPEC): New macro.
+ * config/rs6000/darwin.h (DARWIN_ASPEN_LIBGCC_SPEC): New macro.
+ * config/darwin.h (REAL_LIBGCC_SPEC): If -maspen-version-min is
+ seen, use darwin_aspen_libgcc spec.
+ (DARWIN_EXTRA_SPECS): Add darwin_aspen_libgcc.
+ * config/arm/t-darwin (SHLIB_VERPFX): Remove.
+ * config/arm/t-slibgcc-aspen: New file.
+ * config/arm/darwin.h (DARWIN_ASPEN_LIBGCC_SPEC): New macro.
+ * config/arm/libgcc-aspen.ver: New file.
+ * config/arm/darwin-libgcc.10.4.ver: Remove file.
+ * config/arm/darwin-libgcc.10.5.ver: Remove file.
+
+2008-02-06 Josh Conner <jconner@apple.com>
+
+ Radar 5723857
+ * config/arm/t-darwin: No longer create multilibs. Add
+ -march=armv6k to the library build options.
+
+2008-02-06 Josh Conner <jconner@apple.com>
+
+ Radar 5726269
+ * config/arm/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Don't set
+ flag_objc_abi or flag_objc_legacy_dispatch here.
+ (OBJC_TARGET_FLAG_OBJC_ABI): New macro.
+
+2008-02-06 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5103201
+ * config/i386/mmx.md (mov<MMXMODEI>_internal_rex64,
+ mov<MMXMODEI>_internal) : Resolved the conflict between mainline
+ and the patch for radar 4043818.
+
+2008-02-04 Josh Conner <jconner@apple.com>
+
+ Radar 5717579
+ * config/arm/arm.c (arm_encode_section_info): On darwin, invoke
+ arm_encode_call_attribute even if !first.
+
+2008-01-30 Josh Conner <jconner@apple.com>
+
+ Radar 5683689
+ * config/darwin-c.c (iphone_version_as_macro): Rename to...
+ (aspen_version_as_macro): ...this. Also, replace all iphone
+ references with aspen.
+ (darwin_cpp_builtins): Likewise.
+ * config/darwin.opt (miphone-version-min): Rename to...
+ (maspen-version-min): ...this. Also, replace all iphone
+ references with aspen.
+ * config/i386/darwin.h (CC1_SPEC): Replace all iphone references
+ with aspen.
+ (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ (TARGET_DWARF_UNINIT_VARS): Likewise.
+ * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Likewise.
+ (CC1_SPEC): Likewise.
+ (HAVE_OFFS_MSGSEND_FAST): Likewise.
+ (TARGET_C99_FUNCTIONS): Likewise.
+ (TARGET_DWARF_UNINIT_VARS): Likewise.
+ * config/rs6000/rs6000.c (darwin_rs6000_override_options):
+ Likewise.
+ * config/darwin.h (enum darwin_version_type): Likewise.
+ (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ (LINK_SPEC): Likewise.
+ (REAL_LIBGCC_SPEC): Likewise.
+ (DARWIN_DYLIB1_SPEC): Likewise.
+ (DARWIN_CRT1_SPEC): Likewise.
+ (OBJC_FLAG_OBJC_ABI): Likewise.
+ * config/arm/darwin.h (CC1_SPEC): Likewise.
+ (DARWIN_CC1_MINVERSION_SPEC): Likewise.
+ (DARWIN_LD_MINVERSION_SPEC): Likewise.
+ (DARWIN_DEFAULT_VERSION_TYPE): Likewise.
+ (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ * config/darwin-driver.c (darwin_default_min_version): Likewise.
+
+2008-01-30 Josh Conner <jconner@apple.com>
+
+ Radar 5713583
+ * config/darwin.h (REAL_LIBGCC_SPEC): When -maspen-version-min
+ is seen, also pass -lgcc.
+
+2008-01-30 Josh Conner <jconner@apple.com>
+
+ Radar 5482675
+ * config/arm/arm.md (define_expand "call"): Test for longcall
+ before calling machopic_indirect_call_target.
+ (define_expand "call_value"): Likewise.
+
+2008-01-30 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5103201
+ Backport from mainline:
+ 2007-06-05 H.J. Lu <hongjiu.lu@intel.com>
+ 2007-02-06 Richard Henderson <rth@redhat.com>
+ * config/i386/mmx.md (mov<MMXMODEI>_internal_rex64,
+ mov<MMXMODEI>_internal, movv2sf_internal_rex64, movv2sf_internal,
+ vec_extractv2si_1): Change Y constraints to Yt.
+
+2008-01-25 Josh Conner <jconner@apple.com>
+
+ Radar 5660282
+ * config/darwin.h (OBJC_FLAG_OBJC_ABI): Warn and ignore
+ flag_objc_gc and flag_objc_gc_only if darwin_iphone_version_min
+ is set.
+
+2008-01-23 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5618945
+ * config/i386/emmintrin.h : Replace "static __inline" by "__liline"
+ if __GNUC_STDC_INLINE__ is defined.
+ * config/i386/pmmintrin.h : Likewise.
+ * config/i386/tmmintrin.h : Likewise.
+ * config/i386/xmmintrin.h : Likewise.
+ * config/i386/mmintrin.h : Likewise.
+
+2008-01-22 Josh Conner <jconner@apple.com>
+
+ Radar 5683689
+ * config/darwin-c.c (version_as_macro): Renamed to...
+ (macosx_version_as_macro): ...this.
+ (iphone_version_as_macro): New function.
+ (darwin_cpp_builtins): Define
+ __ENVIRONMENT_IPHONE_VERSION_MIN_REQUIRED__, as needed.
+ * config/darwin.opt (mmacosx-version-min): Initialize to
+ NULL.
+ (miphone-version-min): New option.
+ * config/i386/darwin.h (CC1_SPEC): Use darwin_cc1_minversion
+ if -miphone-version-min and -mmacosx-version-min not seen.
+ (DARWIN_CC1_MINVERSION_SPEC): New define.
+ (DARWIN_LD_MINVERSION_SPEC): New define.
+ (DARWIN_DEFAULT_VERSION_TYPE): New define.
+ (SUBTARGET_OVERRIDE_OPTIONS): Set darwin_macosx_version_min,
+ if needed.
+ (TARGET_DWARF_UNINIT_VARS): Check darwin_iphone_version_min.
+ * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Don't
+ clear flag_use_cxa_get_exception_ptr if
+ darwin_iphone_version_min is set.
+ (CC1_SPEC): Use darwin_cc1_minversion if -miphone-version-min
+ and -mmacosx-version-min not seen.
+ (DARWIN_CRT2_SPEC): Verify that -mmacosx-version-min is set
+ before using it.
+ (DARWIN_CC1_MINVERSION_SPEC): New define.
+ (DARWIN_LD_MINVERSION_SPEC): New define.
+ (DARWIN_DEFAULT_VERSION_TYPE): New define.
+ (HAVE_OFFS_MSGSEND_FAST): Set if darwin_iphone_version_min is
+ set.
+ (TARGET_C99_FUNCTIONS): Likewise.
+ (TARGET_DWARF_UNINIT_VARS): Likewise.
+ * config/rs6000/rs6000.c (darwin_rs6000_override_options):
+ Set darwin_macosx_version_min, if needed. Set
+ darwin_constant_cfstrings, but not altivec target_flags, if
+ darwin_iphone_version_min is set.
+ * config/darwin.c (darwin_override_options): Verify that
+ darwin_macosx_version_min is set before using it.
+ * config/darwin.h (enum darwin_version_type): New type.
+ (SUBSUBTARGET_OVERRIDE_OPTIONS): Err if both
+ darwin_macosx_version_min and darwin_iphone_version_min are
+ set.
+ (LINK_SPEC): Use darwin_ld_minversion as default. Pass
+ -iphone_version_min to linker, if -miphone-version-min was
+ given.
+ (REAL_LIBGCC_SPEC): Use -lgcc_s.10.5 if -miphone-version-min
+ was seen.
+ (DARWIN_EXTRA_SPECS): Add darwin_cc1_minversion and
+ darwin_ld_minversion.
+ (DARWIN_DYLIB1_SPEC): Use dylib1.10.5.o if -miphone-version-min
+ was given.
+ (DARWIN_CRT1_SPEC): Use crt1.10.5.o if -miphone-version-min was
+ given.
+ (OBJC_FLAG_ZEROCOST_EXCEPTIONS): Verify that
+ darwin_macosx_version_min is set before using it.
+ (OBJC_WARN_OBJC2_FEATURES): Only perform this check if
+ darwin_macosx_version_min is set.
+ (darwin_default_min_version): Add parameter to prototype.
+ (GCC_DRIVER_HOST_INITIALIZATION): Add new parameter to
+ darwin_default_min_version call.
+ * config/arm/darwin.h (CC1_SPEC): Use darwin_cc1_minversion if
+ -miphone-version-min and -mmacosx-version-min not seen.
+ (DARWIN_MINVERSION_SPEC): Change to "1.2".
+ (DARWIN_CC1_MINVERSION_SPEC): New define.
+ (DARWIN_LD_MINVERSION_SPEC): New define.
+ (DARWIN_DEFAULT_VERSION_TYPE): New define.
+ (SUBTARGET_OVERRIDE_OPTIONS): Set darwin_iphone_version_min,
+ if needed.
+ * config/darwin-driver.c (darwin_default_min_version): Add new
+ parameter, vers_type, and logic to handle it. Change size of
+ new_flag. Don't use default if any of the *-version-min options
+ were given. Check for IPHONE_DEPLOYMENT_TARGET environment
+ variable.
+
+2008-01-11 Caroline Tice <ctice@apple.com>
+
+ Radar 5636185
+ * dwarf2out.c (contained_in_subroutine): New function.
+ (add_sibling_attributes): Add code to test for & remove
+ DW_AT_MIPS_linkage_name, if appropriate.
+ (assembler_name_exists_and_is_different): New function.
+ (add_src_coords_attributes): Modify test condition for adding
+ DW_AT_MIPS_linkage_name attribute: Change TREE_PUBLIC to
+ TREE_PUBLIC || TREE_STATIC || DECL_EXTERNAL, and replace
+ DECL_ASSEMBLER_NAME test with call to
+ assembler_name_exists_and_is_different.
+
+2008-01-10 Josh Conner <jconner@apple.com>
+
+ Radar 5680184
+ * c.opt (fobjc-legacy-dispatch): New option.
+ * config/darwin.h (OBJC_FLAG_OBJC_ABI): Specify a default
+ for flag_objc_legacy_dispatch.
+ * config/arm/darwin.h (SUBTARGET_OVERRIDE_OPTIONS):
+ Specify a default for flag_objc_abi and
+ flag_objc_legacy_dispatch.
+
+2008-01-09 Josh Conner <jconner@apple.com>
+
+ Radar 5256615
+ * doc/invoke.texi: Document -Xarch_* option.
+
+2008-01-08 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5596043 & 5645144
+ * cse.c (cse_insn) : Ignore the asm source operand of an
+ inline assembly instruction when finding all the SETs in the
+ instruction and invalidate its target.
+
+2007-12-21 Josh Conner <jconner@apple.com>
+
+ Radar 5651192
+ * config/arm/arm.md (adjustable_thumb_movdi_insn): Fix
+ pool_range.
+ (thumb_movdf_insn): Likewise.
+
+2007-12-19 Caroline Tice <ctice@apple.com>
+
+ Radar 5645155
+ * dwarf2out.c (dwarf2out.c): Add call to maybe_emit_file, to
+ make sure current compilation unit filename is added to
+ line table info.
+ * testsuite/gcc.apple/dwarf-files.c: New testcase.
+
+2007-12-18 Stuart Hastings <stuart@hastings.org>
+
+ Radar 5562718
+ * tree-vrp.c (value_inside_range): Return can't-tell if cmp1
+ or cmp2 is not a bool constant. (range_includes_zero_p):
+ Handle can't-tell case.
+ * testsuite/g++.apple/R5562718.C: New.
+
+2007-12-18 Josh Conner <jconner@apple.com>
+
+ Radar 5622318 (continued)
+ * config/arm/darwin-libgcc.10.5.ver: Remove aeabi functions.
+
+2007-12-18 Josh Conner <jconner@apple.com>
+
+ Radar 5622318
+ * config/arm/ieee754-df.S (muldf3vfp, adddf3vfp, subdf3vfp,
+ divdf3vfp, eqdf2vfp, nedf2vfp, ltdf2vfp, ledf2vfp, gtdf2vfp,
+ gedf2vfp, unorddf2vfp, fixdfsivfp, fixunsdfsivfp,
+ extendsfdf2vfp, truncdfsf2vfp, floatsidfvfp, floatunssidfvfp):
+ New functions.
+ * config/arm/ieee754-sf.S (mulsf3vfp, addsf3vfp, subsf3vfp,
+ divsf3vfp, eqsf2vfp, nesf2vfp, ltsf2vfp, lesf2vfp, gtsf2vfp,
+ gesf2vfp, unordsf2vfp, fixsfsivfp, fixunssfsivfp,
+ floatsisfvfp, floatunssisfvfp): New functions.
+ * config/arm/t-darwin (LIB1ASMFUNCS): Add all of the above.
+ * config/arm/arm.c (arm_init_libfuncs): Set up optabs to call
+ the above in Thumb, non-soft-float, non-static mode.
+ (indirect_sibreturn_reg): New function.
+ (indirect_sibreturn_mem): New function.
+ (use_return_insn): Add support for indirect sibcalls.
+ (arm_function_ok_for_sibcall): Allow indirect sibcalls.
+ (arm_legitimize_address): Improve code for addresses including
+ large constants, or including stack address + constant.
+ (arm_rtx_costs_1): Allow an extra cycle for shifted operands
+ in arithmetic instructions (leading to better decisions
+ about expanding multiplies).
+ (arm_cannot_copy_p): Recognize MEM(UNSPEC_PIC_BASE) within a
+ set insn.
+ (arm_gen_movmemqi): Choose smallest alternative at -Os.
+ (arm_expand_prologue): Use extra register saves instead of a
+ subtract from SP when possible at -Os.
+ (arm_output_epilogue): Likewise. Handle indirect sibcalls
+ that use a callee-saved reg.
+ * config/arm/arm.h (FUNCTION_BOUNDARY): Allow halfword alignment
+ for thumb functions, when possible.
+ (LOCAL_ALIGNMENT): New definition.
+ * config/arm/darwin.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): New.
+ * config/arm/lib1funcs.asm (ARM_FUNC_START): Mandate word-
+ alignment of all ARM functions.
+ * config/arm/arm.md (define_peephole2, line 583): New peephole.
+ (define_peephole2, line 6110): New peephole.
+ (arm_pic_ldrsi): New define_insn.
+ (arm_pic_strsi): New define_insn.
+ (sibcall_insn): Add support for indirect sibcalls.
+ (sibcall_value_insn): Likewise.
+ (movmemqi): Choose smallest alternative at -Os (Thumb variant).
+ * config/arm/darwin-libgcc.10.5.ver: Update for Leopard.
+
+2007-12-16 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5645144
+ * cse.c (cse_insn) : Undo the patch of 5596043 for the ld64 failure
+ found in SWB.
+
+2007-12-14 Josh Conner <jconner@apple.com>
+
+ Radar 5635246
+ * final.c (calculate_alignments): New function.
+ (shorten_branches): Move calculations of uid_align into
+ calculate_alignments. Invoke when alignments change.
+
+2007-12-12 Josh Conner <jconner@apple.com>
+
+ Radar 5643197
+ * config/rs6000/rs6000.c (rs6000_vector_alignment_reachable):
+ Implement TARGET_MACHO+TARGET_64BIT logic.
+
+2007-12-11 Eric Christopher <echristo@apple.com>
+
+ Radar 5582941
+ * config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use correct
+ bitmask for default setting variables.
+
+2007-12-11 Josh Conner <jconner@apple.com>
+
+ Radar 5569774
+
+ Backport from FSF 4.2:
+ 2007-07-25 Dorit Nuzman <dorit@il.ibm.com>
+ Devang Patel <dpatel@apple.com>
+ PR tree-optimization/25413
+ * targhooks.c (default_builtin_vector_alignment_reachable): New.
+ * targhooks.h (default_builtin_vector_alignment_reachable): New.
+ * tree.h (contains_packed_reference): New.
+ * expr.c (contains_packed_reference): New.
+ * tree-vect-analyze.c (vector_alignment_reachable_p): New.
+ (vect_enhance_data_refs_alignment): Call
+ vector_alignment_reachable_p.
+ * target.h (vector_alignment_reachable): New builtin.
+ * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New.
+ * config/rs6000/rs6000.c (rs6000_vector_alignment_reachable):
+ New.
+ (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.
+
+ Revert the following:
+ 2005-12-07 Devang Patel <dpatel@apple.com>
+ Radar 4333194
+ * tree-vect-analyze.c (vect_compute_data_ref_alignment): Check
+ misalignment where natural alignment is not reachable using loop
+ peeling.
+
+2007-12-05 Stuart Hastings <stuart@apple.com>
+
+ Radar 5591571
+ * config/i386/i386.c (override_options): Disable instruction scheduler.
+ * doc/invoke.texi (-fschedule-insns, -fschedule-insns2): Disabled for x86.
+
+2007-12-05 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5596043
+ * cse.c (cse_insn) : Ignore the asm source operand of an
+ inline assembly instruction when finding all the SETs in the
+ instruction and invalidate its target memory reference.
+
+2007-12-03 Caroline Tice <ctice@apple.com>
+
+ Radar 5619139
+ * dwarf2out.c (gen_typedef_die): Don't add typedef to
+ pubtypes table unless renamed type is fully defined in
+ current file.
+
+2007-11-30 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5596043
+ * cse.c (cse_insn) : Ignore the asm source operand of an
+ inline assembly instruction when finding all the SETs in the
+ instruction.
+
+2007-11-29 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5612779
+ * fold-const.c (extract_muldiv_1) : Do not move a negative
+ constant from an ABS_EXPR.
+
+2007-11-28 Josh Conner <jconner@apple.com>
+
+ Radar 5594980
+ * defaults.h (TARGET_EXTRA_CASES): New definition.
+ * final.c (compute_alignments): Always compute alignments if
+ TARGET_EXACT_SIZE_CALCULATIONS is defined.
+ (shorten_branches): Figure out asms_present and disallow
+ CASE_VECTOR_SHORTEN_MODE shortening if true. Account for
+ prologue size if TARGET_UNEXPANDED_PROLOGUE_SIZE is defined.
+ Invoke ADJUST_INSN_LENGTH for switch tables. Give table
+ label the same alignment as the table if
+ TARGET_ALIGN_ADDR_DIFF_VEC_LABEL is defined.
+ * function.c (struct function): Add needs_4byte_alignment
+ field.
+ * config/arm/t-darwin (LIB1ASMFUNCS): Add _switchu8, _switch8,
+ _switch16, and _switch32.
+ * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Set for both
+ ARM and Thumb.
+ * config/arm/arm.c (thumb_exit): Rename handle_thumb_exit,
+ rewrite to count bytes as well as emit code.
+ (thumb_pushpop): Rename handle_thumb_pushpop, rewrite
+ similarly.
+ (thumb_unexpanded_epilogue): Rename
+ handle_thumb_unexpanded_epilogue, rewrite similarly.
+ (thumb_output_function_prologue): Rename
+ handle_thumb_unexpanded_prologue, rewrite similarly.
+ (switch8_libfunc, switchu8_libfunc, switch16_libfunc,
+ switch32_libfunc, register_switch8_libfunc,
+ register_switchu8_libfunc, register_switch16_libfunc,
+ register_switch32_libfunc, arm_adjust_insn_length,
+ count_thumb_unexpanded_prologue, arm_label_align): New
+ functions.
+ (arm_reorg): Initialize address with
+ count_thumb_unexpanded_prologue.
+ (thumb_load_double_from_address): Disallow *[reg+reg]
+ addressing.
+ * config/arm/lib1funcs.asm: Add switchu8, switch8, switch16, and
+ switch32 functions.
+ * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE,
+ CASE_VECTOR_SHORTEN_MODE, ASM_OUTPUT_ADDR_DIFF_VEC,
+ ASM_OUTPUT_ADDR_VEC, ADJUST_INSN_LENGTH, LABEL_ALIGN,
+ TARGET_EXTRA_CASES, TARGET_EXACT_SIZE_CALCULATIONS,
+ TARGET_UNEXPANDED_PROLOGUE_SIZE,
+ TARGET_ALIGN_ADDR_DIFF_VEC_LABEL): New definitions.
+ * config/arm/arm-protos.h (arm_adjust_insn_length,
+ register_switch8_libfunc, register_switchu8_libfunc,
+ register_switch16_libfunc, register_switch32_libfunc,
+ count_thumb_unexpanded_prologue, arm_label_align): New protos.
+ * config/arm/predicates.md (thumb_low_register_operand):
+ New predicate.
+ * config/arm/arm.md (VUNSPEC_POOL_STRING): New VUNSPEC.
+ (*thumb_zero_extendhisi2): Rename
+ adjustable_thumb_zero_extendhisi2.
+ (*thumb_zero_extendhisi2_v6): Rename
+ adjustable_thumb_zero_extendhisi2_v6.
+ (*thumb_extendhisi2_insn_v6): Rename
+ adjustable_thumb_extendhisi2_insn_v6.
+ (*thumb_extendqisi2): Rename adjustable_thumb_extendqisi2.
+ (*thumb_extendqisi2_v6): Rename
+ adjustable_thumb_extendqisi2_v6. Fix typo.
+ (*thumb_movdi_insn): Rename
+ adjustable_thumb_movdi_insn. Fix length.
+ (*pic_load_addr_based_insn): Fix length.
+ (*thumb_movhi_insn): Rename adjustable_thumb_movhi_insn.
+ (*thumb_movdf_insn): Fix length.
+ (*ldmsi_postinc4_thumb): Fix length.
+ (*stmsi_postinc4_thumb): Fix length.
+ (casesi): Add TARGET_THUMB support.
+ (thumb_casesi_internal): New define_insn.
+ (align_4): Fix length.
+ (align_8): Fix length.
+ (consttable_end): Fix length.
+ (prologue_use): Fix length.
+ * stmt.c (expand_case): Allow for ADDR_DIFF_VEC being
+ handled by ASM_OUTPUT_ADDR_DIFF_VEC. Add TARGET_EXTRA_CASES at
+ the end of the table as needed.
+
+2007-11-28 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5591491
+ * tree-sra.c (generate_element_zero) : Built a zero expression
+ when the decision is an integer copy.
+
+2007-11-14 Josh Conner <jconner@apple.com>
+
+ Radar 5595814
+ * config/arm/arm.c (symbol_mentioned_with_filter): Recurse
+ through symbol_mentioned_with_filter, not symbol_mentioned_p.
+
+2007-11-14 Josh Conner <jconner@apple.com>
+
+ Radar 5597292
+ * dbxout.c (dbxout_type_xref): For a TYPE_DECL, also check if
+ DECL_NAME(TYPE_NAME) is NULL.
+
+2007-11-14 Josh Conner <jconner@apple.com>
+
+ Radar 5595749
+ * dwarf2out.c (frame_pointer_fb_offset_from): New variable...
+ (based_loc_descr): ...use it...
+ (compute_frame_pointer_to_fb_displacement): ...set it.
+ * var-tracking.c (find_src_status): Add COND_EXEC handling.
+ (find_src_set_src): Likewise.
+
+2007-11-13 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4877693
+ * config/i386/i386.c (ix86_internal_arg_pointer) : Emit an error
+ message when -mstackrealign -m64 options were specified.
+
+2007-11-13 Josh Conner <jconner@apple.com>
+
+ Radar 5595934
+ * config/arm/arm.md (pic_load_addr_thumb): Change pool_range
+ to 1022.
+
+2007-11-09 Eric Christopher <echristo@apple.com>
+
+ Radar 5582941
+ * config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
+ cpu features that don't have masks if we haven't specified an
+ arch.
+ * config/i386/i386.h: Make above variables non-const.
+ * config/i386/i386.c: Ditto. Fix cmpxchg16b definition.
+
+2007-11-09 Eric Christopher <echristo@apple.com>
+
+ * c-common.c (iasm_stmt): Replace use of MACHO_DYNAMIC_NO_PIC_P
+ with !flag_pic.
+
+2007-11-08 Josh Conner <jconner@apple.com>
+
+ Radar 5589109
+ * gcc/config/arm/darwin-libgcc.10.4.ver (adddf3, extendsfdf2,
+ floatdidf, floatsidf, subdf3): Remove.
+
+2007-11-07 Josh Conner <jconner@apple.com>
+
+ Radar 5581683
+ * function.h (struct function): Add calls_builtin_ret_addr
+ and calls_builtin_frame_addr.
+ (current_function_calls_builtin_ret_addr): New definition.
+ (current_function_calls_builtin_frame_addr): New definition.
+ * builtins.c (expand_builtin_return_addr): Set
+ current_function_calls_builtin_frame_addr and
+ current_function_calls_builtin_ret_addr.
+ (expand_builtin_setjmp_receiver): Check
+ builtin_setjmp_frame_value.
+ * dbxout.c (dbxout_parms): Adjust debug info offset by
+ DEBUGGER_ARG_OFFSET.
+ * global.c (global_alloc): Add ALLOW_ELIMINATION_TO_SP
+ logic.
+ * reload1.c (update_eliminables): Likewise.
+ (init_elim_table): Likewise.
+ * config/arm/arm.c (arm_builtin_setjmp_frame_value): New
+ function.
+ (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
+ (inclusive_bitmask): New function.
+ (use_return_insn): Support darwin alternate frame layout.
+ (arm_compute_save_reg0_reg12_mask): Likewise.
+ (arm_compute_save_reg_mask): Likewise.
+ (thumb_compuate_save_reg_mask): Mandate use of FP. Also,
+ support darwin alternate frame layout.
+ (arm_output_epilogue): Support darwin alternate frame layout.
+ (arm_get_frame_offsets): Likewise.
+ (arm_compute_initial_elimination_offset): Likewise.
+ (arm_expand_prologue): Likewise.
+ (arm_return_addr): Likewise.
+ (thumb_compute_initial_elimination_offset): Likewise.
+ (thumb_expand_prologue): Likewise.
+ (arm_set_return_addr): Likewise.
+ (thumb_set_return_addr): Likewise.
+ (arm_debugger_arg_offset): Adjust for SP-relative addressing.
+ (thumb_output_function_prologue): Mandate use of FP.
+ (arm_builtin_setjmp_frame_value): New function.
+ (arm_local_debug_offset): New function.
+ * config/arm/arm.h (ARM_HARD_FRAME_POINTER_REGNUM): Define as
+ r7.
+ (FRAME_POINTER_REQUIRED): Redefine to match darwin alternate
+ frame layout.
+ (ELIMINABLE_REGS): Don't eliminate from AP into FP.
+ Merge ARM and Thumb hard frame pointers.
+ (CAN_ELIMINATE): Allow elimination to SP if SP doesn't change
+ during a function's lifetime.
+ (DEBUGGER_ARG_OFFSET): Always call arm_debugger_arg_offset.
+ (DEBUGGER_AUTO_OFFSET): Define.
+ (ALLOW_ELIMINATION_TO_SP): Define.
+ * config/arm/arm-protos.h (arm_local_debug_offset): New proto.
+ * config/arm/darwin-libgcc.10.4.ver (addsf3, floatdisf,
+ floatsisf, subsf3): Remove.
+
+2007-11-07 Josh Conner <jconner@apple.com>
+
+ Radar 5585396
+ * config/arm/arm.md (trap): New define_insn.
+
+2007-11-06 Eric Christopher <echristo@apple.com>
+
+ Radar 5583537
+ * config.gcc: Remove duplicate apple local code.
+
+2007-11-05 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4709514
+ * tree-pass.h (pass_memset) : Removed.
+ * bitmap.h (bitmap_empty_p) : Removed.
+ * tree-ssa-loop.c: (tree_ssa_loop_memset, gate_tree_ssa_loop_memset,
+ pass_memset) : Removed.
+ * tree-ssa-loop-memset.c : Removed.
+ * tree-vectorizer.h: (vect_analyze_pointer_ref_access) : Removed.
+ * tree-vect-analyze.c (tree vect_get_loop_niters): Declared it as
+ a static instead of an extern function.
+ * tree-flow.h (tree_ssa_memset): Removed.
+ * passes.c (pass_memset): Removed.
+ * Makefile.in (tree-ssa-loop-memset.o) : Removed.
+
+2007-11-05 Josh Conner <jconner@apple.com>
+
+ Radar 5569420
+ * doc/invoke.texi: Reinstate ARM options.
+ * builtins.c (expand_builtin_alloca): Emit NOTE_INSN_ALLOCA.
+ * final.c (final_scan_insn): Handle NOTE_INSN_ALLOCA.
+ * insn-notes.def (ALLOCA): New INSN_NOTE.
+ * cse.c (fold_rtx): Verify REGNO_QTY_VALID_P (folded_arg1)
+ before using it.
+ * stor-layout.c (start_record_layout): Add PEG_ALIGN_FOR_MAC68K
+ handling.
+ * calls.c (store_one_arg): Handle arguments which are partially
+ on the stack when detecting argument overlap.
+ * except.c (sjlj_emit_function_enter): Split this into
+ (sjlj_generate_setjmp_sequence): ...this new function...
+ (sjlj_emit_function_setjmps): ...and this new function.
+ (sjlj_emit_dispatch_table): Call sjlj_emit_function_setjmps
+ instead of sjlj_emit_function_enter.
+ * config/i386/darwin.h (CC1_SPEC): Ignore -mthumb and
+ -mno-thumb.
+ * config/rs6000/darwin.h (CC1_SPEC): Likewise.
+ * config/arm/arm.c (all_architectures): Change default
+ processors for TARGET_MACHO.
+ (arm_override_options): Don't warn if interworking selected
+ on a processor that doesn't support thumb. Enable
+ interworking by default on v5 and later architectures.
+ (arm_compute_func_type): Consider TARGET_INTERWORK only on
+ pre-v5 architectures.
+ (use_return_insn): Likewise.
+ (thumb_pushpop): Likewise.
+ (thumb_exit): Likewise.
+ (arm_function_ok_for_sibcall): Likewise. Also, don't allow
+ sibcalls of external functions on TARGET_MACHO. Also,
+ don't allow sibcalls of weak functions.
+ (arm_legitimate_index_p): Limit indexed addressing on
+ TARGET_VFP. Also, consider TARGET_INTERWORK only on pre-v5
+ architectures.
+ (arm_output_mi_thunk): Use a stub for dynamic references.
+ Also, use a -8 offset when calculating the address of a
+ PIC reference to a non-local function.
+ (optimization_options): New function.
+ * config/arm/arm.h (TARGET_INTERWORK): Define.
+ (OPTIMIZATION_OPTIONS): Define.
+ * config/arm/arm-protos.h (optimization_options): New
+ prototype.
+ * config/arm/arm.opt (mthumb-interwork): Set interwork_option
+ instead of a target mask.
+ * config/arm/arm.md (UNSPEC_JMP_XCHG): New UNSPEC.
+ (thumb_extendqisi2_v6): Check for which_alternative == 1.
+ (builtin_setjmp_receiver): Remove.
+ (builtin_setjmp_setup): New define_expand.
+ (builtin_longjmp): New define_expand.
+ (indirect_jump_exchange): New define_expand.
+ (arm_indirect_jump_exchange): New define_insn.
+ (thumb_indirect_jump_exchange): New define_insn.
+
+2007-11-04 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5543378
+ * config/i386/i386.c (ix86_expand_builtin): Improved the previous
+ patch.
+
+2007-10-30 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5543378
+ * config/i386/i386.c (ix86_expand_builtin): Allow non-immediate
+ shift count, load a memory operand to a register and convert to
+ TI mode if necessary.
+
+2007-10-26 Josh Conner <jconner@apple.com>
+
+ Radar 5562046
+ * defaults.h (LEGITIMATE_INDIRECT_OPERAND_P): Define...
+ * reload.c (find_reloads): ...use.
+ * reload1.c (reload): Likewise.
+ * recog.c (general_operand): Likewise.
+ (immediate_operand): Likewise.
+ (nonmemory_operand): Likewise.
+ (asm_operand_ok): Likewise.
+ * regclass.c (record_reg_classes): Likewise.
+ * gcc.c (main): Add sysroot prefix to startfile_prefixes.
+ * jump.c (rtx_renumbered_equal_p): Don't allow LABEL_REFs to
+ undefined labels to match.
+ * c-common.c (iasm_process_arg): Define default constraints for
+ ARM.
+ (cw_cpsr, cw_cpsr_c): New variables.
+ (iasm_lookup_label): Recognize cpsr and cpsr_c as operands.
+ * config.gcc: Add arm*-*-darwin* target.
+ * config/i386/darwin.h (DARWIN_DSYMUTIL_SPEC): New definition.
+ * config/rs6000/darwin.h (DARWIN_DSYMUTIL_SPEC): New definition.
+ * config/darwin-protos.h (machopic_lookup_stub_or_non_lazy_ptr):
+ New function.
+ (machopic_data_defined_p): Make extern.
+ * config/darwin.c (machopic_data_defined_p): Make extern.
+ (struct machopic_indirection): Add 'emitted' field.
+ (indirection_uses_changed): New variable.
+ (machopic_indirection_name): Set 'emitted' field.
+ (machopic_lookup_stub_or_non_lazy_ptr): New function.
+ (machopic_validate_stub_or_non_lazy_ptr): Set
+ indirection_uses_changed. Use 'emitted' field.
+ (machopic_output_indirection): Set 'emitted' field.
+ (machopic_finish): Use 'indirection_uses_changed' to determine
+ whether to invoke htabl_traverse_noresize again.
+ (machopic_select_section): Fix a signedness mismatch.
+ * config/darwin-sections.def (machopic_symbol_stub4_section):
+ New section defintion.
+ (machopic_picsymbol_stub4_section): New section definition.
+ * config/darwin.h (LINK_COMMAND_SPEC): Use DARWIN_DSYMUTIL_SEPC.
+ (DARWIN_EXTRA_SPECS): Add darwin_dsymutil.
+ (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): New definition...
+ (ASM_DECLARE_FUNCTION_NAME): ...use it.
+ * config/arm/t-darwin: New file.
+ * config/arm/ieee754-df.S (*): Convert macro definitions to
+ gcc preprocessor and cctools assembler style macros. Don't
+ use local labels > 9.
+ * config/arm/ieee754-sf.S (*): Likewise.
+ * config/arm/lib1funcs.asm (*): Likewise.
+ * config/arm/arm.c: Add libcpp/internal.h include.
+ (arm_darwin_file_start): New function.
+ (arm_darwin_file_end): New function.
+ (symbol_mentioned_with_filter): New function.
+ (arm_cannot_force_const_mem): New function.
+ (arm_binds_local_p): New function.
+ (TARGET_ASM_FILE_START): New definition.
+ (TARGET_ASM_FILE_END): New definition.
+ (TARGET_ASM_ALIGNED_SI_OP): New definition.
+ (TARGET_CANNOT_FORCE_CONST_MEM): Redefine.
+ (TARGET_BINDS_LOCAL_P): New definition.
+ (arm_override_options): Don't warn for conflicting -mcpu and
+ -march switch on darwin. Don't set arm_pic_register on darwin.
+ Invoke SUBTARGET_OVERRIDE_OPTIONS and
+ SUBSUBTARGET_OVERRIDE_OPTIONS.
+ (arm_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
+ (arm_encode_call_attribute): Add MACHO handling.
+ (current_file_function_operand): Use SYMBOL_SHORT_CALL_ATTR_P on
+ darwin.
+ (arm_is_longcall_p): Use SYMBOL_LONG_CALL_ATTR_P on darwin.
+ (legitimize_pic_address): Add TARGET_MACHO support.
+ (arm_load_pic_register): Disable for darwin. Pass label rtx
+ when calling gen_pic_load_addr_arm, gen_pic_add_dot_plus_eight,
+ gen_pic_load_addr_thumb, and gen_pic_add_dot_plus_four.
+ (arm_cannot_force_const_mem): New function.
+ (symbol_mentioned_p): Call symbol_mentioned_with_filter.
+ (symbol_mentioned_with_filter): New function.
+ (arm_cannot_copy_insn_p): Match MACHO UNSPEC_PIC_BASE.
+ (arm_output_function_epilogue): For darwin, insert a nop after
+ a trailing label.
+ (arm_print_operand): Use a LOCAL_LABEL_PREFIX, if one is
+ defined.
+ (arm_assemble_integer): Assume aligned_p on darwin. Use
+ DOT_WORD instead of ".word".
+ (arm_elf_asm_constructor): Only define if OBJECT_FORMAT_ELF.
+ (arm_init_builtins): Include SUBTARGET_INIT_BUILTINS.
+ (arm_darwin_file_start): New function.
+ (arm_darwin_file_end): New function.
+ (arm_encode_section_info): For TARGET_MACHO, call
+ darwin_encode_section_info, and use SYMBOL_LONG_CALL and
+ SYMBOL_SHORT_CALL.
+ (arm_cxx_class_data_always_comdat): Return false for darwin.
+ (arm_binds_local_p): New function.
+ (reset_optimization_options): New function.
+ (machopic_output_stub): New function.
+ (iasm_memory_clobber): New function.
+ * config/arm/arm.h (TARGET_MACHO, DOT_WORD, SYMBOL_SHORT_CALL,
+ SYMBOL_LONG_CALL, SYMBOL_SHORT_CALL_ATTR_P,
+ SYMBOL_LONG_CALL_ATTR_P, LEGITIMATE_DYNAMIC_NO_PIC_OPERAND_P,
+ LEGITIMATE_INDIRECT_OPERAND_P): Define.
+ (ENCODED_SHORT_CALL_ATTR_P, ENCODED_LONG_CALL_ATTR_P): Remove.
+ (THUMB_TRAMPOLINE_TEMPLATE): Use DOT_WORD instead of ".word".
+ (ARM_NAME_ENCODING_LENGTHS): Remove handling of
+ SHORT_CALL_FLAG_CHAR and LONG_CALL_FLAG_CHAR.
+ (ARM_DECLARE_FUNCTION_SIZE): Use SYMBOL_SHORT_CALL instead of
+ SHORT_CALL_FLAG_CHAR.
+ (ARM_DECLARE_FUNCTION_NAME): Add symbol name to .thumb_func.
+ (PRINT_OPERAND_PUNCT_VALID_P): Allow '.'.
+ * config/arm/darwin.opt: New file.
+ * config/arm/arm-protos.h (non_local_symbol_mentioned_p): New
+ prototype.
+ * config/arm/darwin.h: New file.
+ * config/arm/arm.opt (mlong-branch): New option, alias for
+ -mlong-calls).
+ * config/arm/predicates.md (arm_branch_target): New predicate.
+ * config/arm/arm.md (movsi): Use LEGITIMATE_INDIRECT_OPERAND_P.
+ (pic_load_addr_arm): Include label reference as param. Allow
+ to match for dynamic-no-pic on darwin.
+ (pic_load_addr_thumb): Likewise.
+ (pic_add_dot_plus_four): Likewise.
+ (pic_add_dot_plus_eight): Likewise.
+ (cbranchsi4_insn, cbranchsi4_scratch, movsi_cbranchsi4,
+ negated_cbranchsi4, tbit_cbranch, tlobits_cbranch,
+ tstsi3_cbranch, andsi3_cbranch, orrsi3_cbranch_scratch,
+ orrsi3_cbranch, xorsi3_cbranch_scratch, xorsi3_cbranch,
+ bicsi3_cbranch_scratch, bicsi3_cbranch, cbranchne_decr1,
+ addsi3_cbranch, addsi3_cbranch_scratch, subsi3_cbranch,
+ subsi3_cbranch_scratch): Don't use relative local labels.
+ (call): Calculate stub name on darwin, if building dynamic.
+ (call_value): Likewise.
+ (sibcall): Likewise.
+ (sibcall_value): Likewise.
+ (call_symbol): Require an arm_branch_target destination.
+ (call_value_symbol): Likewise.
+ (call_insn): Likewise. On darwin, use stub if one was
+ generated.
+ (call_value_insn): Likewise.
+ * config/arm/darwin-libgcc.10.4.ver: New file.
+ * config/arm/darwin-libgcc.10.5.ver: New file.
+
+2007-10-26 Josh Conner <jconner@apple.com>
+
+ Radar 3399553
+ * config/i386/i386.c (ix86_expand_flt_rounds): Fix comment.
+
+2007-10-25 Josh Conner <jconner@apple.com>
+
+ Radar 3399553
+ * ginclude/float.h (FLT_ROUNDS): Define to __builtin_flt_rounds.
+ * builtins.c (expand_builtin_flt_rounds): New function...
+ (expand_builtin): ...call it.
+ * builtins.def (BUILT_IN_FLT_ROUNDS): Define.
+ * config/i386/i386.md (UNSPEC_FLT_ROUNDS): New UNSPEC.
+ (flt_rounds): New define_expand.
+ * config/i386/i386-protos.h (ix86_expand_flt_rounds): New proto.
+ * config/i386/i386.c (ix86_expand_flt_rounds): New function.
+ * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Bump to 115.
+ (LAST_PHYSICAL_REGISTER): New definition...
+ (DWARF_FRAME_REGISTERS): ...use it here...
+ (DWARF_REG_TO_UNWIND_COLUMN): ...and here.
+ (FIXED_REGISTERS): Add value for FPSCR_REGNO.
+ (CALL_USED_REGISTERS): Likewise.
+ (CALL_REALLY_USED_REGISTERS): Likewise.
+ (FPSCR_REGNO): Define.
+ (REG_ALLOC_ORDER): Add FPSCR_REGNO.
+ (enum reg_class): Add FPSCR_REGNO to ALL_REGS class.
+ (REGISTER_NAME): Add FPSCR name.
+ * config/rs6000/rs6000.md (UNSPEC_MFFS) New UNSPEC.
+ (UNSPEC_FLT_ROUNDS): Likewise.
+ (mffs): New define_insn.
+ (flt_rounds): New define_expand.
+ * config/rs6000/rs6000-protos.h (rs6000_expand_flt_rounds): New
+ proto.
+ * config/rs6000/darwin.h (REGISTER_NAMES): Add fpscr.
+ * config/rs6000/rs6000.c (rs6000_reg_names): Add fpscr.
+ (alt_reg_names): Likewise.
+ (rs6000_expand_flt_rounds): New function.
+
+2007-10-23 Eric Christopher <echristo@apple.com>
+
+ Radar 5547244
+ * config/i386/i386.c (override_options): For darwin 64-bit kernel
+ compilations turn off the red zone.
+
+2007-10-23 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 3996036
+ * config/darwin.c (darwin_init_cfstring_builtins) : Do not emit
+ a warning message for __builtin_CFString when -Wpadded is specified.
+
+2007-10-15 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5416357
+ * tree-sra.c (decide_block_copy) : Removed MERGE FIXME.
+
+2007-10-15 Caroline Tice <ctice@apple.com>
+
+ Radar 5359827
+ * dwarf2out.c (modified_type_die): If the die is a pointer type, and
+ it has a name, add it to the list of potential types for the pubtypes
+ table.
+
+2007-10-08 Eric Christopher <echristo@apple.com>
+
+ Radar 5516808
+ * config/rs6000/rs6000.c (altivec_pim_info): Fix comment.
+ (altivec_ovl_resolve): Split out conditionals.
+ (altivec_convert_args): Check for too many arguments to builtin.
+ (rs6000_fold_builtin): Update comment, remove merge fixme.
+ Fix type for fcode. Make sure that our second argument has
+ a proper type as well.
+
+2007-10-05 Eric Christopher <echristo@apple.com>
+
+ Radar 5518348
+ * common.opt: Remove -fpascal-strings option.
+
+2007-10-01 Jon Ziegler <jonz@apple.com>
+
+ Radar 5490688
+ * doc/invoke.texi: remove reference to gcc_select
+
+2007-09-28 Eric Christopher <echristo@apple.com>
+
+ Radar 5490617
+ * varasm.c (assemble_variable): Use the classified section, not
+ DECL_COMMON for zerofill.
+
+2007-09-24 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5447227
+ * config/rs6000/rs6000.c (altivec_expand_predicate_builtin) :
+ Fixed APPLE LOCAL marker.
+
+2007-09-22 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5447227
+ * config/rs6000/rs6000.c (altivec_expand_abs_builtin,
+ altivec_expand_predicate_builtin, altivec_expand_lv_builtin,
+ altivec_expand_stv_builtin) : Fixed compile time warnings.
+
+2007-09-21 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5447227
+ * config/rs6000/rs6000.c (altivec_expand_abs_builtin,
+ altivec_expand_predicate_builtin, altivec_expand_lv_builtin,
+ altivec_expand_stv_builtin, altivec_expand_ld_builtin,
+ altivec_expand_st_builtin, altivec_expand_dst_builtin)
+ : Issue error messages for functions with too few arguments.
+
+2007-09-21 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4994150
+ * rs6000.c (rs6000_legitimate_offset_address_p): Return
+ false for AltiVec vector modes.
+
+2007-09-13 Stuart Hastings <stuart@apple.com>
+
+ Radar 5437393
+ * gcse.c (gcse_main, cprop_insn): Remove APPLE LOCAL.
+
+2007-09-04 Hui-May Chang <hm.chang@apple.com>
+ Radar 5155743
+ * target.h (have_dynamic_stack_space): New.
+ * target-def.h (TARGET_HAVE_DYNAMIC_STACK_SPACE) : New.
+ * explow.c (allocate_dynamic_stack_space) : Reserve space
+ for outgoing args and registers saved area if
+ DYNAMIC_STACK_OFFSET is defined.
+ * rs6000.c (TARGET_HAVE_DYNAMIC_STACK_SPACE): New.
+
+2007-08-23 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4869885
+ Backport from mainline:
+ 2006-10-31 Geoffrey Keating <geoffk@apple.com>
+ PR 23067
+ * c-decl.c (start_struct): Don't create self-containing
+ structures.
+ * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
+ New.
+ * config/rs6000/rs6000-protos.h
+ (darwin_rs6000_special_round_type_align): New.
+ * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite.
+ (ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align.
+
+ * stor-layout.c (ADJUST_FIELD_ALIGN): Only passed two arguments.
+
+2007-08-22 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4947311
+ * c-common.h (objc_declare_protocols, objc_start_protocol): Decl changed.
+ * stub-objc.c (objc_declare_protocols, objc_start_protocol): Changed.
+ * c-parser.c (c_parser_external_declaration): Call to
+ c_parser_objc_protocol_definition takes additional argument.
+ (c_parser_declaration_or_fndef): Protocols with attributes are processed
+ here by passing it to c_parser_objc_protocol_definition.
+ (c_parser_objc_protocol_definition): Takes additional argument and passes
+ it to objc_declare_protocols or objc_start_protocol.
+
+2007-08-21 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4874197
+ * gcc/config/i386/i386.c (legitimate_constant_p): Accepted a sse
+ constant vector as a legitimate constant.
+
+2007-08-20 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4870336, 4874471, 4874208
+ * tree.c (build_vector) : Moved the declaration of max_index
+ inside the block it is used.
+
+2007-08-20 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4708086
+ * passes.c (rest_of_compilation): Removed after confirming the
+ patch to radar 4548482 is no longer needed in gcc 4.2.
+
+2007-08-20 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5422751
+ * c-common.h (objc_protocol_implementation): decl removed.
+ * stub-objc.c (objc_protocol_implementation): stub removed.
+ * c-parser.c (c_parser_objc_class_definition): Misplaced syntax
+ recognition removed.
+
+2007-08-17 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5134231
+ * gcc/config/rs6000/rs6000.c (rs6000_handle_option): Set
+ rs6000_alignment_flags to OPTION_MASK_ALIGN_MAC68K instead of
+ OPTION_ALIGN_MAC68K for -malign-mac68k option.
+
+2007-08-17 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4876451
+ Backport from mainline:
+ 2007-04-24 Richard Henderson <rth@redhat.com>
+ * libgcc2.h (AVOID_FP_TYPE_CONVERSION): Rename from
+ IS_IBM_EXTENDED. Also define in terms of WIDEST_HARDWARE_FP_SIZE.
+ * libgcc2.c (__floatdisf): Avoid double-word arithmetic when
+ looking for non-zero bits shifted out. Avoid a recursive call
+ when constructing the scalar.
+ (__floatundisf): Likewise.
+
+2007-08-14 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4870336, 4874471, 4874208
+ * tree.c (build_vector) : Assign zeroes to uninitialized
+ vector elements only for -mpim-alitivec option on ppc.
+
+2007-08-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5376125
+ * doc/invoke.texi (-Wdirect-ivar-access): New option
+ * c.opt (-Wdirect-ivar-access): New warning
+
+2007-08-10 Stuart Hastings <stuart@apple.com>
+
+ Radar 5379188
+ * config/i386/i386.md (*darwin_cmpstrnqi_nz_1,
+ *darwin_cmpstrqi_1): Mark destination with earlyclobber.
+
+2007-08-10 Stuart Hastings <stuart@apple.com>
+
+ Radar 4448096, 5238795
+ * gcc/doc/invoke.texi: Remove erroneous comment.
+
+2007-08-09 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4875125
+ Undo the mainline patch who broke ABI compatibility.
+ 2005-06-10 Uros Bizjak <uros@kss-loka.si>
+ PR target/21981
+ * config/i386/i386.c (ix86_return_in_memory): Return 1 for MMX/3dNow
+ vectors.
+
+2007-08-08 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 5395148
+ * toplev.c (general_init): Don't install SIGHUP handler.
+ (interrupt_signal): Remove.
+
+2007-07-24 Stuart Hastings <stuart@apple.com>
+
+ Radar 5346453
+ * gcc/config/darwin.c (machopic_select_section): C strings
+ with embedded NUL characters are ineligible for the .cstring
+ section.
+
+2007-07-17 Stuart Hastings <stuart@apple.com>
+
+ * config/i386.c (ix86_init_mmx_sse_builtins): Delete
+ twice-merged definition of __builtin_ia32_vec_ext_v16qi.
+
+2007-07-13 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5277239
+ * c-parser.c (c_parser_next_token_starts_declspecs): Exclude
+ objc2's property dot-syntax as a declarator.
+ (c_parser_postfix_expression): Convert property dot-syntax on
+ class objects into a property reference expression.
+
+2007-07-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5285911
+ * tree.h (CALL_EXPR_OBJC_PROPERTY_GETTER): Macro removed.
+ * c-typeck.c (build_component_ref): Call
+ objc_build_property_reference_expr instead of objc_build_getter_call.
+ (build_modify_expr): Call objc_property_reference_expr instead of
+ objc_property_call.
+ * c-common.h (objc_build_getter_call, objc_property_call): Decl removed.
+ (objc_build_property_reference_expr, objc_property_reference_expr): Decl.
+ added.
+ * stub-objc.c (objc_build_getter_call, objc_property_call): Stub removed.
+ (objc_build_property_reference_expr, objc_property_reference_expr):
+ Stub added.
+
+2007-06-29 Stuart Hastings <stuart@apple.com>
+
+ * gcc/cfghooks.c (split_block): One-line APPLE LOCAL needs
+ begin and end markers.
+ * gcc/objc/objc-act.c (objc2_build_indirect_ref_ivar2): Add a
+ comment to prevent '}' from matching in the wrong place.
+ * gcc/testsuite/gcc.dg/invalid-call-1.c: Missing APPLE LOCAL.
+ * gcc/c-common.h (objc_build_weak_reference_tree,
+ objc_v2_build_ivar_ref, diagnose_selector_cast,
+ objc_check_format_nsstring): One-line APPLE LOCAL needs
+ begin and end markers.
+ * gcc/stub-objc.c: Remove a blank line to appease checklocals.
+ (objc_build_weak_reference_type): Move an APPLE LOCAL from
+ here... (objc_weak_reference_expr): ...to here.
+ * gcc/loop-doloop.c (doloop_valid_p): Remove a blank line to
+ appease checklocals.
+ * gcc/predict.c (predict_loops): Likewise.
+ * gcc/tree-flow.c: Likewise.
+ * gcc/tree-ssa-loop-niter.c: Likewise.
+ * gcc/config/i386/i386.c: Likewise.
+ * gcc/cfgrtl.c: Likewise.
+
+2007-07-02 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4993982
+ Backport from mainline:
+ 007-03-08 Zdenek Dvorak <dvorakz@suse.cz>
+ PR tree-optimization/31085
+ * tree-ssa-address.c (create_mem_ref): Fix test of type of base.
+ Do not put an expression containing a cast to the base of
+ TARGET_MEM_REF.
+
+2007-06-29 Stuart Hastings <stuart@apple.com>
+
+ * gcc/builtins.c: Remove a blank line to appease checklocals.
+
+2007-06-29 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5082000
+ * c.opt (-print-objc-ivar-layout): New option
+ * c-opts.c (c_common_handle_option): Set print_objc_ivar_layout
+ * c-common.c (print_objc_ivar_layout): declare
+ * c-common.h (print_objc_ivar_layout): declare
+
+2007-06-29 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5276085
+ * c-parser.c (c_parser_binary_expression) : objc_generate_weak_read
+ replaced with call to objc_build_weak_reference_tree
+ * c-typeck.c (build_modify_expr, c_objc_common_truthvalue_conversion):
+ objc_remove_weak_read replaced with call to objc_weak_reference_expr.
+ * c-common.h (objc_weak_reference_expr,
+ objc_build_weak_reference_tree) : New decl.
+ (objc_generate_weak_read, objc_remove_weak_read): remove.
+ * stub-objc.c (objc_weak_reference_expr,
+ objc_build_weak_reference_tree): New stub.
+ (objc_generate_weak_read, objc_remove_weak_read): remove.
+
+2007-06-28 Geoffrey Keating <geoffk@apple.com>
+
+ * version.c: Update comments, put space before VERSUFFIX.
+
+2007-06-27 Geoffrey Keating <geoffk@apple.com>
+
+ * config/darwin.h (CPP_SPEC): Remove local change to pass down
+ -arch (which cc1 doesn't understand).
+
+ * cgraphunit.c (cgraph_build_static_cdtor): Remove local change
+ so that DECL_IGNORED_P is set.
+
+2007-06-26 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 5295606
+ * tree-if-conv.c (process_phi_nodes): Remove local change.
+
+2007-06-25 Eric Christopher <echristo@apple.com>
+
+ Radar 5293043
+ * config/i386/i386.c: Revert apple local changes to generic
+ cpu.
+
+2007-06-25 Eric Christopher <echristo@apple.com>
+
+ Radar 5292674
+ * config.gcc (ix86-darwin): Use core2 for with_cpu.
+ (x86_64-darwin): Ditto.
+
+2007-06-22 Eric Christopher <echristo@apple.com>
+
+ * config.gcc: Update mni tags for mainline.
+ * config/t-slibgcc-darwin: Update no-libtool tags for
+ mainline.
+
+2007-06-22 Eric Christopher <echristo@apple.com>
+
+ * doc/extend.texi: Update ssse3 tags for mainline.
+ * doc/invoke.texi: Ditto.
+ * config/i386/i386.h: Ditto.
+ * config/i386/i386.md: Ditto.
+ * config/i386/i386.opt: Ditto.
+ * config/i386/sse.md: Ditto.
+
+2007-06-22 Eric Christopher <echristo@apple.com>
+
+ Radar 5289424
+ * config/i386/darwin.h (TARGET_DEEP_BRANCH_PREDICTION): Remove.
+ * config/i386/i386.c (x86_deep_branch): Remove m_GENERIC. Comment.
+
+2007-06-22 Eric Christopher <echristo@apple.com>
+
+ Radar 5289384
+ * config/i386/darwin.h: Remove duplicate apple local code.
+
+2007-06-22 Geoffrey Keating <geoffk@apple.com>
+
+ * configure.ac: Remove -DDARWIN_CROSS_COMPILE.
+ * configure: Regenerate.
+
+2007-06-21 Eric Christopher <echristo@apple.com>
+
+ Radar 5283703
+ * doc/invoke.texi: Deprecate Wshorten-64-to-32.
+ * tree.h (TREE_OVERFLOW_P): New.
+ * c-common.c: Remove include of options.h.
+ (warnings_for_convert_and_check): New.
+ (convert_and_check): Use.
+ * c-common.h: Declare warnings_for_convert_and_check.
+ * Makefile.in: Remove c-common.o dependence upon
+ options.h.
+
+2007-06-19 Eric Christopher <echristo@apple.com>
+
+ Radar 5279253
+ * Makefile.in: Remove apple order file support.
+
+2007-06-19 Eric Christopher <echristo@apple.com>
+
+ Radar 5279941
+ * Makefile.in: Remove LIBGCC_OPT local code.
+
+2007-06-18 Eric Christopher <echristo@apple.com>
+
+ * config/i386/i386.c: Remove Altivec vector modes.
+
+2007-06-18 Eric Christopher <echristo@apple.com>
+
+ * config/i386/i386.c (x86_use_incdec): Remove m_CORE2.
+
+2007-06-18 Eric Christopher <echristo@apple.com>
+
+ * config/i386/i386.c: Include c-tree.h and c-common.h.
+ Fix up workarounds in file accordingly.
+
+2007-06-18 Eric Christopher <echristo@apple.com>
+
+ * config/i386/i386.h: Remove apple cpu support.
+ (TARGET_SUBTARGET32_DEFAULT): Define to zero.
+ (TARGET_SUBTARGET64_DEFAULT): Ditto.
+ * config/i386/i386.c: Remove apple cpu support.
+ (override_options): Use above. Move ix86_flag handling earlier.
+ Use ix86_arch_specified.
+ * config/i386/darwin.h (TARGET_SUBTARGET32_DEFAULT): Define.
+ (TARGET_SUBTARGET64_DEFAULT): Ditto.
+
+2007-06-18 Stuart Hastings <stuart@apple.com>
+
+ Radar 5150147
+ * gcc/tree-ssa-loop-niter.c (unmark_surely_finite_loop,
+ mark_maybe_infinite_loops): Remove.
+ * gcc/tree-pass.h (pass_mark_maybe_inf_loops): Remove.
+ * gcc/builtins.c (BUILT_IN_MAYBE_INFINITE_LOOP): Remove.
+ * gcc/cfghooks.c (split_block, make_forwarder_block): Remove
+ APPLE LOCAL LNO code.
+ * gcc/toplev.c (lang_dependent_init): Remove APPLE LOCAL LNO
+ code.
+ * gcc/builtins.def (BUILT_IN_MAYBE_INFINITE_LOOP): Remove.
+ * gcc/opts.c (set_flags_from_O): Remove APPLE LOCAL LNO code.
+ * gcc/tree-ssa-loop.c (tree_mark_maybe_inf_loops,
+ gate_tree_mark_maybe_inf_loops, pass_mark_maybe_inf_loops):
+ Remove.
+ * gcc/predict.c (predict_loops): Remove APPLE LOCAL LNO code.
+ * gcc/loop-doloop.c (doloop_valid_p): Remove APPLE LOCAL LNO
+ comment.
+ * gcc/cfgloop.c (flow_loops_find): Remove APPLE LOCAL LNO
+ code.
+ * gcc/tree-flow.h (mark_maybe_inf_loops): Remove.
+ * gcc/tree-cfg.c (tree_redirect_edge_and_branch): Remove APPLE
+ LOCAL LNO code.
+ * gcc/passes.c (init_optimization_passes): Remove reference to
+ pass_mark_maybe_inf_loops.
+ * gcc/cfgrtl.c (purge_dead_edges): Remove APPLE LOCAL LNO
+ code.
+
+2007-06-16 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5109764
+ * reload1.c (emit_output_reload_insns): Undo radar 5002270.
+ * config/i386/sse.md (sse2_stored) : Undo radar 4412214, 4172200.
+ Backport from mainline:
+ 2007-04-23 H.J. Lu <hongjiu.lu@intel.com>
+ * config/i386/sse.md (sse2_stored): Don't split to inter-unit
+ move if inter-unit move isn't allowed.
+ Don't split moving the first element of V2DI to DI to inter-unit
+ move if inter-unit move isn't allowed.
+ 2007-02-09 Richard Henderson <rth@redhat.com>
+ * config/i386/sse.md (sse2_stored): Split rm alternative, use Yi.
+
+2007-06-06 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5250860 (Remove old property)
+ * config/darwin-c.c (darwin_cpp_builtins): Define
+ OBJC_NEW_PROPERTIES unconditionally.
+ * c-common.h: Remove enums and macros which defined
+ old property tokens.
+ * c-parser.c: Remove recognition of old property tokens
+ and parsing of old property syntax.
+
+2006-12-13 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4697325
+ * gcc.c (process_command): Move handling of
+ MACOSX_DEPLOYMENT_TARGET environment variable from here.
+ * config/darwin-driver.c: Remove.
+
+2007-06-07 Stuart Hastings <stuart@apple.com>
+
+ Radar 534419
+ * gcc/config/rs6000/rs6000.md (movdi_internal64): Change
+ remaining 'm' constraints into 'Y' constraints.
+
+2007-06-01 Mike Stump <mrs@apple.com>
+
+ Radar 5226662
+ * gcc.c (main): Be sure to set_input when languages == 0.
+
+2007-05-31 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5172645
+ * c.opt (Wproperty-assign-default): New warning option.
+ * doc/invoke.texi: Document -Wproperty-assign-default
+
+2007-05-29 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5164498
+ Backport from mainline:
+ * config/i386/i386.c (ix86_function_regparm): Added checking of
+ ix86_force_align_arg_pointer to determine the number of
+ register parameters.
+
+2007-05-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5195402
+ * c-format.c (handle_format_arg_attribute): Check for NSString *
+ and CFStringRef as valid formatting types.
+ (check_format_string): Ditto.
+ * c-common.h (objc_check_format_nsstring,
+ objc_check_cfstringref_type): New decls.
+ * stub-objc.c (objc_check_nsstring_pointer_type): New stub.
+ * config/darwin-c.c (objc_check_cfstringref_type): New
+ (objc_check_format_cfstring): Call objc_check_cfstringref_type
+ for valid CFStringRef argument type.
+ * config/darwin-protos.h (objc_check_cfstringref_type): New decl.
+ * config/darwin.h (CFSTRING_TYPE_CHECK): New macro.
+
+2007-05-17 Eric Christopher <echristo@apple.com>
+
+ Radar 4663646
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): If the stack frame
+ is large then save r12 if we're going to save altivec registers and
+ use the frame pointer.
+
+2007-05-18 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 2996215 (twik)
+ * config/darwin.c (darwin_build_constant_cfstring): Change error to
+ warning when character is not valid utf-8.
+
+2007-05-18 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5202926
+ * c-common.h (objc_anonymous_local_objc_name): New decl.
+ * config/darwin-protos.h (objc_anonymous_local_objc_name): Decl.
+ * stub-objc.c (objc_anonymous_local_objc_name): New stub.
+ * config/darwin.h (ASM_OUTPUT_LABELREF) Call
+ objc_anonymous_local_objc_name.
+
+2007-05-17 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 2996215
+ * c-common.h (objc_create_init_utf16_var): New decl.
+ * stub-objc.c (objc_create_init_utf16_var): New stub
+ * config/darwin-c.c (objc_cvt_utf8_utf16): New
+ * config/darwin-protos.h (objc_create_init_utf16_var): New decl.
+ (objc_cvt_utf8_utf16): New decl.
+ * config/darwin.c (darwin_build_constant_cfstring): Add support for
+ native char-set to UTF-16.
+
+2007-05-09 Caroline Tice <ctice@apple.com>
+
+ Radar 4964532
+ * defaults.h (TARGET_DWARF_UNINIT_VARS): New macro, to control
+ tracking uninitialized variables.
+ * rtl.def (VAR_LOCATION): Add a new integer subfield to VAR_LOCATION
+ note definitions, to allow recording of initialization status in the
+ notes.
+ * dwarf2out.c (dwarf_stack_op_name): Add case for DW_OP_APPLE_uninit.
+ (add_var_loc_to_decl): Add comparison of NOTE_VAR_LOCATION_STATUS to
+ determine if two note locations are equal.
+ (output_loc_list): Don't output list entries whose start & end labels
+ are the same.
+ (reg_loc_descriptor): Add parameter for initialization status; pass it
+ to other loc descriptor functions.
+ (one_reg_loc_descriptor): Add parameter for initialization status;
+ check its value and add DW_OP_APPLE_uninit to returned loc descr if
+ appropriate.
+ (multiple_reg_loc_descriptor): Add parameter for initialization status;
+ pass its value to other loc descriptor functions; check its value and
+ add DW_OP_APPLE_uninit to returned loc descr if appropriate.
+ (based_loc_descr): Likewise.
+ (mem_loc_descriptor): Likewise.
+ (concat_loc_descriptor): Likewise.
+ (loc_descriptor): Add parameter for initialization status; add
+ appropriate initialization status to other loc descriptor function
+ calls.
+ (loc_descriptor_from_tree_1): Add appropriate initialization status
+ to loc descriptor function calls.
+ (add_location_or_const_value_attribute): Get initialization status
+ from note; add initialization status to loc descriptor function calls.
+ * dwarf2.h (enum dwarf_location_atom): New op, DW_OP_APPLE_uninit.
+ * print-rtl.c (print_rtx): When printing a VAR_LOCATION note, if status
+ is uninitialized, add "[uninint]" to output.
+ * rtl.h (NOTE_VAR_LOCATION_STATUS): New macro for accessing new field.
+ (enum var_init_status): New type, for var initialization status field.
+ * var-tracking.c (struct location_chain_def): Two new fields, init,
+ for initialization status, and set_src for the assignment value expr.
+ (unshare_variable): New parameter for initialization status; initialize
+ new init and set_src fields.
+ (var_reg_set): New parameters for initialization status and value;
+ pass them to set_variable_part.
+ (var_mem_set): Likewise.
+ (get_init_value): New function.
+ (var_reg_delete_and_set): New initialization status & value parameters;
+ add call to get_init_value if status is unknown; pass new parameters
+ to clobber_variable_part and var_reg_set.
+ (var_mem_delete_and_set): Likewise.
+ (variable_union): Pass status to unshare_variable; initialize new init
+ and set_src fields.
+ (add_stores): Store insn, rather than NEXT_INSN(insn), so it can be
+ used later to get the set_src value.
+ (find_src_status): New function.
+ (find_src_set_src): New function.
+ (compute_bb_dataflow): Pass status to calls to var_reg_set,
+ var_mem_set, var_reg_delete_and_set and var_mem_delete_and_set; for
+ MO_SET, get set_src value and pass it to
+ var_reg_delete_and_set and var_mem_delete_and_set.
+ (dump_variable): Print out "[uninit]" if appropriate.
+ (set_variable_part): Add new initialization and set_src parameters;
+ pass status to unshare_variable; set node->init and node->set_src
+ fields and modify slot in hash table appropriately; save the init and
+ set_src values if appropriate and assign to the new node.
+ (clobber_variable_part): New set_src parameter; if two nodes have
+ same variable and same location but different set_src (assignment)
+ values, clobber old node.
+ (delete_variable_part): Pass status to unshare_variable.
+ (emit_note_insn_var_location): Add initialized var; assign var's init
+ status to new 'initialized'; pass new init status field to calls to
+ gen_rtx_VAR_LOCATION.
+ (emit_notes_in_bb): Pass initialization status to calls to var_reg_set,
+ var_mem_set, var_reg_delete_and_set and var_mem_delete_and_set; for
+ MO_SET, get set_src value and pass it to var_reg_delete_and_set and
+ var_mem_delete_and_set; call emit_notes_for_changes on NEXT_INSN(insn)
+ rather than on insn, to make up for change in add_stores.
+ (vt_add_function_parameters): Add status to calls to set_variable_part.
+ * config/i386/darwin.h (TARGET_DWARF_UNINIT_VARS): New macro
+ definition to control tracking uninitialized variables.
+ * config/rs6000/darwin.h (TARGET_DWARF_UNINIT_VARS): New macro
+ definition to control tracking uninitialized variables.
+
+2007-05-07 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 3506309
+ * doc/invoke.texi: Document -Wnonportable-cfstrings
+
+2007-05-07 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4157812
+ * c-common.h (objc_build_keyword_decl): Takes a new argument.
+ * stub-objc.c (objc_build_keyword_decl): Ditto.
+ * c-parser.c (c_parser_objc_method_decl): Recognize optional
+ method's argument attribute.
+ (c_parser_objc_method_decl): Handle errornous selector.
+
+2007-05-04 Eric Christopher <echristo@apple.com>
+
+ Radar 4929122
+ * config/rs6000/predicates.md: Revert part of patch for
+ 4874526.
+
+2007-05-03 Eric Christopher <echristo@apple.com>
+
+ Radar 4960076
+ * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Translate
+ -shared to -Zdynamiclib.
+
+2007-05-02 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4502186
+ * c-typeck.c (convert_for_assignment): Remove synthesized 'volatile'
+ type before doing type comparison.
+
+2007-04-25 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 5122634
+ Backport from mainline:
+ 2007-04-24 Hui-May Chang <hm.chang@apple.com>
+
+ * reload1.c (merge_assigned_reloads) : Do not merge a RELOAD_OTHER
+ instruction with a RELOAD_FOR_OPERAND_ADDRESS instruction.
+
+2007-04-24 Mike Stump <mrs@apple.com>
+
+ Radar 5083137
+ * gcc.c (PREFIX_PRIORITY_FIRST): Add.
+ (main): Add add_sysrooted_prefix should use SYSROOT_PRIORITY
+ instead of PREFIX_PRIORITY_LAST.
+ * config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION): Add.
+
+2007-04-24 Stuart Hastings <stuart@apple.com>
+
+ Radar 5108956
+ * gcc/loop-invariant.c (find_invariant_insn): Remove APPLE LOCAL.
+
+2007-04-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4859753
+ * config/rs6000/rs6000.h (RS6000_8BYTE_STRUCT_HACK): Define
+ * stor-layout.c (compute_record_mode): Use RS6000_8BYTE_STRUCT_HACK
+ instead of RS6000_VARARGS_AREA.
+
+2007-04-20 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5130983
+ * c-common.h (enum lvalue_use): New enumerator lv_foreach
+ added.
+ * c-common.c (lvalue_error): Diagnose on lv_foreach.
+
+2007-04-20 Stuart Hastings <stuart@apple.com>
+
+ Radar 5131847
+ * gcc/config/i386/i386.md (movstrictqi_and): Add 64-bit support.
+
+2007-04-13 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4899595
+ * c.opt (-fobjc-new-property) on by default.
+ * config/darwin-c.c (darwin_cpp_builtins): Define OBJC_NEW_PROPERTIES
+ when new property flag is on.
+
+2007-03-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5023725
+ * c-opts.c: Remove flag_objc_zerocost_exceptions check.
+ * config/darwin.h
+ (OBJC_FLAG_ZEROCOST_EXCEPTIONS): New macro to issue diagnostic.
+ (OBJC_FLAG_OBJC_ABI): Set -fobjc-zerocost-exceptions as
+ default for objc2 abi.
+ * config/darwin-c.c (darwin_cpp_builtins): Define OBJC_ZEROCOST_EXCEPTIONS
+ when zero-cost exception flag is on.
+
+2007-04-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ Fix bootstrap problem caused by radar 5096648.
+ * c-format.c (tm_p.h): Include it.
+ * config/darwin-protos.h: (objc_check_format_cfstring): Add decl.
+
+2007-04-09 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 5096648
+ * c-format.c (tm_p.h): header file include.
+ (format_type): cfstring_format_type enum added.
+ (format_kind_info): New entry for CFString format added.
+ (objc_check_nsformat_arg): Renamed to objc_check_cfformat_arg
+ and modified.
+ (check_format_info): Added support for CFString format.
+ (handle_format_attribute): Ditto.
+ * c-common.h (objc_NSString_format): decl removed.
+ * stub-objc.c (objc_NSString_format): def removed.
+ * config/darwin.h (TARGET_CFSTRING_P): Removed.
+ (CHECK_FORMAT_CFSTRING, CFSTRING_TYPE_NODE): Added.
+ * Makefile.in (tmp.h): c-format.o now depends on.
+ * config/darwin-c.c (objc_check_format_cfstring): New
+
+2007-04-09 Mike Stump <mrs@apple.com>
+
+ Radar 4401222
+ * gsyslimits.h: Don't include_next <limits.h> here...
+ * limitx.h: instead, include_next <limits.h> here.
+ * limity.h: Simplify.
+
+2007-04-06 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4792158
+ * config/darwin.c: (output_objc_section_asm_op): Arrays tomark and tomarkv2 streamlined.
+ darwin_sections initializations streamlined.
+ (machopic_select_section): Switch to objc_v2_constant_string_object_section for objc2's
+ string objects.
+ Sections selection of various symbols are streamlined into objc1 and objc2 specific
+ selections.
+ * config/darwin-sections.def: Cleanup or add new section definitions for objc2 abi.
+
+2007-03-31 Mike Stump <mrs@apple.com>
+
+ Radar 4994030
+ * c.opt: Accept ObjC/ObjC++ whenever C/C++ is accepted.
+
+2007-03-29 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4947014 - objc atomic property
+ * c-common.h (RID_NONATOMIC): Add
+ * c-parse.c (c_parser_objc_property_attribute) : Recognize 'nonatomic'
+ as new property.
+
+2007-03-29 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4564694
+ * c-parse.c (c_parser_objc_class_instance_variables): Add @package
+ support to syntax.
+ * c-common.h (RID_AT_PACKAGE): Add
+
+2007-03-06 Mike Stump <mrs@apple.com>
+
+ Radar 5033355
+ * c-incpath.c (merge_include_chains): Note framework include
+ directories.
+
+2007-03-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4985544
+ * c-format.c (enum format_type): New entry for NSString format.
+ (format_typ): Has a new entry for NSString format.
+ (decode_format_attr): Error on use of NSString format on a
+ non-objective-c program.
+ (objc_check_nsformat_arg): New.
+ (check_format_info): Call back for NSString is objc_check_nsformat_arg
+ (handle_format_attribute): Use objc_check_format_nsstring for
+ NSString format.
+ * c-common.h (objc_NSString_format): New decl.
+ (objc_check_format_nsstring): New decl.
+ * stub-objc.c (objc_NSString_format, objc_check_format_nsstring): New
+ stubs.
+ * config/darwin-protos.h (darwin_cfstring_type_node): New decl.
+ * config/darwin.c (darwin_cfstring_type_node): New
+ * config/darwin.h (TARGET_CFSTRING_P): New macro
+
+2007-03-22 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4965989
+ * c-parser.c (c_parser_objc_class_definition): Add supprt for anonymous
+ category syntax.
+
+2007-03-22 Fariborz Jahanian <fjahanian@apple.com>
+
+ Removed objc2 hybrid abi
+ * c-parsec (c_parser_struct_or_union_specifier): removed flag_objc_abi == 3.
+ * config/darwin-c.c: Removed checking for
+ hybrid abi.
+ * config/darwin.c: Ditto.
+ * config/darwin.h: Issue error if use of hybrid abi is
+ attempted. Removed checking for hybrid abi.
+
+2007-03-21 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 2848255
+ * c-parser.c (c_parser_objc_try_catch_statement): Parse @catch(...).
+ * c.opt: Add -fobjc-zerocost-exceptions option.
+ * c-opts.c (c_common_post_options): Set the flags for
+ -fobjc-zerocost-exceptions.
+ * c-common.h: Add some declarations.
+ * stub-objc.c (objc2_valid_objc_catch_type, objc2_build_throw_call):
+ New stubs.
+ * config/darwin.h (OBJC_FLAG_OBJC_ABI): Check for proper
+ use of -fobjc-zerocost-exceptions option.
+
+2007-03-21 Stuart Hastings <stuart@apple.com>
+
+ Radar 5000667
+ * gcc/cse.c (record_jump_equiv): Drop CCmode expressions.
+ * gcc/objc/objc-act.c (next_sjlj_build_catch): 'rethrow' needn't be volatile.
+
+2007-03-15 Eric Christopher <echristo@apple.com>
+
+ * cfgexpand.c (expand_used_vars): Fix warning from
+ previous checkin.
+
+2007-03-14 Eric Christopher <echristo@apple.com>
+
+ Radar 5006196
+ * cfgexpand.c (expand_used_vars): Do not create a guard
+ for iasm functions.
+
+2007-03-14 Hui-May Chang<hm.chang@apple.com>
+
+ Radar 5002270
+ * reload1.c (emit_output_reload_insns): If the output
+ register is a SUBREG, and its mode size is greater than
+ the mode size of its inner value, check if the instruction
+ generated by gen_reload is valid nor not. If not, generate
+ a new instruction with the right mode.
+
+2007-03-07 Hui-May Chang<hm.chang@apple.com>
+
+ Radar 5021057
+ * config/rs6000/rs6000.c (rs6000_fold_builtin): Check if
+ there is any error in the argument list of a builtin
+ function.
+
+2007-02-15 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4992792
+ * dwarf2.h: Modify DW_AT_APPLE_flags value.
+
+2007-02-12 Josh Conner <jconner@apple.com>
+
+ Radar 4708231
+ * cfgloopmanip.c (loop_split_edge_with): Remove MERGE FIXME
+ comment.
+
+2007-02-12 Josh Conner <jconner@apple.com>
+
+ Radar 4987589
+ * function.c (instantiate_virtual_regs_in_insn): Add support
+ for OP_OUT and OP_INOUT when predicate no longer matches.
+
+2007-02-07 Dale Johannesen <dalej@apple.com>
+
+ Radar 4981913
+ * config/i386/i386.c (override_options): Make
+ -fomit-frame-pointer setting work for -fast.
+
+2007-02-06 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4949034
+ * c.opt: Update -fobjc-call-cxx-cdtors settings.
+
+2007-02-05 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4961827
+ * gcc/config/i386/darwin.h (ASM_OUTPUT_COMMON): Print the size
+ of a variable as an unsigned HOST_WIDE_INT integer.
+
+2007-02-05 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4957887
+ * dwarf2out.c (dwarf2out_finish): Optionally add DW_AT_APPLE_flags
+ attribute to compilation unit.
+ * dwarf2.h (enum dwarf_attribute): Add DW_AT_APPLE_flags.
+ * toplev.c (get_arguments): New.
+ * toplev.h (get_arguments): New.
+
+2007-01-30 Stuart Hastings <stuart@apple.com>
+
+ Radar 4134510
+ * gcc/config/i386/i386.md (cmpstrsi): Prefer libcall for
+ indefinite or length > 30.
+
+2007-01-29 Bill Wendling <wendling@apple.com>
+
+ * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS):
+ Removed extra def'n.
+
+2007-01-24 Josh Conner <jconner@apple.com>
+
+ Radar 4708231
+ * config/rs6000/rs6000.c (rs6000_expand_vector_init): Copy
+ memory address into a register.
+ (rs6000_expand_vector_set): Likewise.
+ (rs6000_expand_vector_extract): Likewise.
+ * config/rs6000/altivec.md (altivec_lvx_<mode>,
+ altivec_stvx_<mode>, altivec_lvsl, altivec_lvsr,
+ altivec_lve<VI_char>x, altivec_lvesfx, altivec_lvxl,
+ altivec_lvx, altivec_stvx, altivec_stvxl,
+ altivec_stve<VI_char>x, altivec_stvesfx): Replace memory_operand
+ with indexed_or_indirect_operand.
+
+2007-01-24 Mike Stump <mrs@apple.com>
+
+ Radar 4951636
+ * builtins.c (expand_builtin_synchronize): Use build5 to build
+ ASM_EXPRs.
+
+2007-01-22 Mike Stump <mrs@apple.com>
+
+ Radar 4930711
+ * config/i386/i386.c (iasm_raise_reg): Use lang hook for pushdecl.
+ Use set_user_assembler_name instead of change_decl_assembler_name.
+ (iasm_type_for): Use lang hook for type_for_mode.
+
+2007-01-19 Eric Christopher <echristo@apple.com>
+
+ Backport from mainline:
+ 2007-01-17 Eric Christopher <echristo@apple.com>
+
+ * config.gcc: Support core2 processor.
+
+2007-01-19 Eric Christopher <echristo@apple.com>
+
+ Backport from mainline:
+ 2007-01-15 Eric Christopher <echristo@apple.com>
+
+ * config/darwin.h: Update copyright.
+ (TARGET_OPTION_TRANSLATE_TABLE): Add umbrella.
+ (LINK_COMMAND_SPEC): Add -u.
+ (LINK_SPEC): Fix umbrella for above.
+
+2007-01-19 Eric Christopher <echristo@apple.com>
+
+ Radar 4928883
+ * real.c: Fix last checkin.
+
+2007-01-19 Josh Conner <jconner@apple.com>
+
+ Radar 4875159
+ Backport from mainline:
+ 2007-01-18 Josh Conner <jconner@apple.com>
+ PR target/30485
+ * config/rs6000/rs6000.c (rs6000_emit_vector_compare): Add
+ support for UNLE, UNLT, UNGE, and UNGT.
+
+2007-01-15 Eric Christopher <echristo@apple.com>
+
+ Radar 4737425
+ Backport from mainline:
+ 2006-11-18 Vladimir Makarov <vmakarov@redhat.com>
+
+ * doc/invoke.texi (core2): Add item.
+ * config/i386/i386.h (TARGET_CORE2, TARGET_CPU_DEFAULT_core2): New macros.
+ (TARGET_CPU_CPP_BUILTINS): Add code for core2.
+ (TARGET_CPU_DEFAULT_generic): Change value.
+ (TARGET_CPU_DEFAULT_NAMES): Add core2.
+ (processor_type): Add new constant PROCESSOR_CORE2.
+ * config/i386/i386.md (cpu): Add core2.
+ * config/i386/i386.c (core2_cost): New initialized variable.
+ (m_CORE2): New macro.
+ (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
+ x86_deep_branch, x86_partial_reg_stall, x86_use_simode_fiop,
+ x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
+ x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
+ x86_partial_reg_dependency, x86_memory_mismatch_stall,
+ x86_accumulate_outgoing_args, x86_prologue_using_move,
+ x86_epilogue_using_move, x86_arch_always_fancy_math_387,
+ x86_sse_partial_reg_dependency, x86_rep_movl_optimal,
+ x86_use_incdec, x86_four_jump_limit,
+ x86_schedule, x86_pad_returns): Add m_CORE2.
+ (override_options): Add entries for Core2.
+ (ix86_issue_rate): Add case for Core2.
+
+2007-01-12 Dale Johannesen <dalej@apple.com>
+
+ Radar 4875151 (partial)
+ * tree-sra.c (decide_block_copy): Don't use DImode copy
+ for two-field structs.
+
+2007-01-10 Eric Christopher <echristo@apple.com>
+
+ Radar 4709353
+ * gcc.c (execute): Remove status wait workaround for --help.
+
+2007-01-09 Eric Christopher <echristo@apple.com>
+
+ Radar 4872009
+ * config/darwin-c.c (darwin_pragma_pack): Update for 4.2
+
+2007-01-08 Eric Christopher <echristo@apple.com>
+
+ * config.gcc: Use --with-arch=apple.
+
+2007-01-08 Dale Johannesen <dalej@apple.com>
+
+ Radar 4708067
+ * tree-pass.h (pass_loop_prefetch): Remove duplicate declaration.
+ * timevar.def (TV_DEP_GRAPH): Remove.
+ * tree-ssa-loop.c (tree_mark_maybe_inf_loops): Remove
+ setting of marked_maybe_inf_loops.
+ * function.h (struct function): Remove marked_maybe_inf_loops.
+ * params.def (PARAM_MAX_DOLOOP_INSNS): Remove.
+ * loop-doloop.c (doloop_optimize): Remove check for it.
+ * tree-flow.h (tree_debug_loop, tree_debug_loops):
+ Remove declarations.
+ * sched-rgn.c (compute_trg_info): Remove initializations
+ for el.nr_members, el.first_member.
+ * tree-cfg.c (tree_debug_loops): Rename to debug_loop_ir.
+ (tree_debug_loop): Remove.
+
+2007-01-05 Eric Christopher <echristo@apple.com>
+
+ * tree-ssa-loop.c (pass_mark_maybe_inf): Update ssa after
+ pass.
+
+2007-01-05 Josh Conner <jconner@apple.com>
+
+ Radar 4708067
+ * cfgloop.c (flow_loops_find): Re-enable call to
+ free_dominance_info.
+ * passes.c (execute_todo): Remove TODO_write_loop_closed logic.
+ * tree-pass.h: Likewise.
+ * tree-ssa-loop-niter.c (unmark_surely_finite_loop): Remove
+ unneeded comments.
+ (maybe_mark_infinite_loops): Mark call to
+ builtin_maybe_infinite_loop for SSA renaming.
+ * tree-ssa-loop.c (tree_mark_maybe_inf_loops): Re-enable.
+ * tree-ssa-sink.c (execute_sink_code): Split call to
+ calculate_dominance_info into two calls.
+
+2007-01-05 Dale Johannesen <dalej@apple.com>
+
+ Radar 4859866
+ * opts.c (option_enabled): Dump options that use the
+ access_flag mechanism.
+ * opt-functions.awk (switch_flags): Handle CL_VARUINT,
+ CL_PERFUNC correctly.
+
+2007-01-04 Dale Johannesen <dalej@apple.com>
+
+ Radar 4874634
+ * config/rs6000/rs6000.c (optimization_options): Set
+ sra-max-structure-count.
+
+2007-01-03 Dale Johannesen <dalej@apple.com>
+
+ Radar 4874526
+ * config/rs6000/predicates.md (word_offset_memref_operand):
+ Check for valid operands of LO_SUM.
+ * config/rs6000/rs6000.md (*movdi_internal64): Use Y constraint
+ for ld and std instructions.
+
+2006-12-22 Josh Conner <jconner@apple.com>
+
+ Radar 4746131
+ * targhooks.c (default_vector_alignment_reachable): Remove.
+ * targhooks.h: Remove prototypes for
+ [default_]vector_alignment_reachable.
+ * target.h: Remove vector_alignment_reachable.
+ * tree-vect-analyze.c: Don't include target.h.
+ (vect_enhance_data_refs_alignment): Remove APPLE LOCAL code
+ for rdar://4375453.
+ * target-def.h: Remove TARGET_VECTOR_ALIGNMENT_REACHABLE.
+ * Makefile.in: Remove tree-vect-analyze.o dependency on
+ $(TARGET_H).
+ * config/rs6000/rs6000.c: Remove
+ rs6000_vector_alignment_reachable and
+ TARGET_VECTOR_ALIGNMENT_REACHABLE.
+
+2006-12-20 Dale Johannesen <dalej@apple.com>
+
+ Revert darwin.h part of preceding.
+
+2006-12-20 Stuart Hastings <stuart@apple.com>
+
+ Radar 4709503
+ * gcc/tree-ssa-forwprop.c (cast_conversion_assignment_p, replacable_use_in_cond_expr,
+ all_uses_are_replacable, eliminate_unnecessary_casts): Remove.
+ (tree_ssa_forward_propagate_single_use_va): Delete call.
+
+2006-12-19 Dale Johannesen <dalej@apple.com>
+
+ Radar 4874526
+ * config/rs6000/darwin.h (DATA_ALIGNMENT): New.
+ * Makefile.in (targethooks.o): Add missing dependency.
+
+2006-12-19 Josh Conner <jconner@apple.com>
+
+ Radar 4709381
+ * opts.c (handle_option): Don't try to handle CLVC_BIT_CLEAR,
+ CLVC_BIT_SET, or CLVC_STRING when using option->access_flag.
+
+2006-12-14 Mike Stump <mrs@apple.com>
+
+ * config/darwin.h (OBJC_FLAG_OBJC_ABI): Use abi 1 for the gnu
+ runtime.
+
+2006-12-14 Fariborz Jahanian <fjahania@apple.com>
+
+ Radar 4841447
+ * c.opt (-fobjc-new-property): Modified its language description
+
+2006-12-14 Josh Conner <jconner@apple.com>
+
+ Radar 4874491
+ Revert:
+ Radar 4134283
+ 2005-07-29 Devang Patel <dpatel@apple.com>
+ * c-decl.c (ext_block): New static variable.
+ (c_write_global_declarations): Optimize before wrapping up
+ globals.
+
+2006-12-13 Josh Conner <jconner@apple.com>
+
+ Radar 4856717
+ * varasm.c (output_constructor): Sort bitfields by position
+ before outputting them.
+ * vec.h (VEC_swap): New.
+
+2006-12-23 Mike Stump <mrs@apple.com>
+
+ Radar 4527353
+ * libgcc2.c (__eprintf): Ensure backwards compatibility to 10.3.9.
+
+2006-12-13 Fariborz Jahanian <fjahania@apple.com>
+
+ Radar 4531086
+ * config/darwin.h (OBJC_WARN_OBJC2_FEATURES): New macro.
+
+2006-12-13 Fariborz Jahanian <fjahania@apple.com>
+
+ Radar 4862848
+ * common.opt (flag_objc_abi): Defaulted to -1
+ * config/darwin.h (OBJC_FLAG_OBJC_ABI): New macro.
+
+2006-12-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4865576
+ * tree.c (type_hash_eq): Check for TYPE_NAME of two colliding
+ tentative struct/union types.
+
+2006-12-11 Josh Conner <jconner@apple.com>
+
+ Radar 4870233
+ * config/rs6000/rs6000.c (round_type_align): Check for
+ error_mark_node in TREE_TYPE of fields.
+
+2006-12-11 Josh Conner <jconner@apple.com>
+
+ Radar 4870523
+ * config/darwin-c.c (darwin_pragma_pack): verify that constants
+ are INTEGER_CST.
+
+2006-12-09 Dale Johannesen <dalej@apple.com>
+
+ * tree-pass.h: Eliminate pass_loop_test.
+ * tree-ssa-dom.c: Eliminate include of cfgloop.h.
+ * tree-ssa-loop.c: Eliminate includes of tree-data-ref.h,
+ function.h. Eliminate tree_ssa_loop_test,
+ gate_tree_ssa_loop_test, pass_loop_test.
+ * lambda.h: Eliminate include of gcc.h.
+ * cfglayout.c: Eliminate extra decl of cfg_layout_duplicate_bb.
+ * common.opt: Eliminate -floop-test.
+ * passes.c: Eliminate pass_loop_test.
+
+2006-12-08 Dale Johannesen <dalej@apple.com>
+
+ Radar 4709381 (partial)
+ * optc-gen.awk: Fix merge FIXMEs related to host-dependent
+ macro in padding computation.
+ * opth-gen.awk: Ditto.
+
+2006-12-07 Eric Christopher <echristo@apple.com>
+
+ Radar 4869218
+ * doc/extend.texi: Replace mni with ssse3.
+ * doc/invoke.texi: Ditto.
+
+2006-12-06 Dale Johannesen <dalej@apple.com>
+
+ Radar 4859530
+ * config/rs6000/rs6000.c (rs6000_override_options): Fix
+ merge FIXMEs related to -fast.
+
+2006-12-05 Dale Johannesen <dalej@apple.com>
+
+ Radar 4859374
+ * c-decl.c (diagnose_mismatched_decls): Use warning not
+ note for mismatch inside disable_typechecking_for_spec.
+
+2006-12-01 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4859096
+ * c-typeck.c (build_modify_expr): Skip property calls
+ when checking for lvalue-ness.
+ * c-common.h (objc_property_call): New decl.
+ * stub-objc.c (stub-objc.c): New function stub.
+ * c-parser.c (reswords): Add new objc property keywords.
+ (c_parse_init): Fix up 'dynamic' as an @ keyword.
+ (c_lex_one_token): Handle recognition of new property
+ keywords.
+ (c_parser_external_declaration): Add call to parsing routines
+ for @synthesize and @dynamic.
+ (c_parser_objc_property_attribute): Handle new property attributes.
+ (c_parser_objc_atsynthesize_declaration): New to parse @synthesize
+ directive.
+ (c_parser_objc_atdynamic_declaration): New to parse @dynamic
+ directive.
+
+2006-11-15 Eric Christopher <echristo@apple.com>
+
+ * config/darwin.h (LINK_COMMAND_SPEC): Remove {u*} from
+ options passed through.
+
+2006-11-15 Eric Christopher <echristo@apple.com>
+
+ Radar 4839411
+ * config/i386/tmmintrin.h: Depend on SSSE3.
+
+2006-11-15 Dale Johannesen <dalej@apple.com>
+
+ Radar 4827197
+ * doc/extend.texi (align=power): Document actual
+ behavior and workaround for existing code.
+
+2006-11-14 Dale Johannesen <dalej@apple.com>
+
+ Radar 4812082
+ * doc/invoke.texi (-fast): Describe Intel options, fix typos.
+ * config/i386/i386.c (override_options): Change -fast options.
+
+2006-10-26 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4709300
+ * dominance.c (first_dom_son): Remove the code added during merging,
+ building and testing.
+
+2006-10-05 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4708086
+ * passes.c (MaxAlignForThisBlock, LargestAlignmentOfVariables):
+ Moved to local-alloc.c.
+ (rest_of_compilation) : patch involved save_PREFERRED_STACK_BOUNDARY
+ as moved to final.c.
+ * local-alloc.c (MaxAlignForThisBlock, LargestAlignmentOfVariables):
+ Moved from passes.c.
+ * final.c (rest_of_clean_state) : patch involved
+ save_PREFERRED_STACK_BOUNDARY was moved from passes.c.
+ * i386.h : define SAVE_PREFERRED_STACK_BOUNDARY.
+ * i386.c : define ix86_preferred_stack_boundary.
+
+
+2006-09-29 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4709138
+ * cgraphunit.c (record_reference): Remove MERGE FIXME comment.
+
+2006-09-18 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4699543
+ Restore patch for radar 4158356
+ * tree-sra.c
+
+1006-11-09 Fariborz Jahanian <fjahania@apple.com>
+
+ Radar 4810609
+ * c.opt (-fobjc-gc-only): New option
+ * doc/invoke.texi (Objective-C GC Options): Add -fobjc-gc-only.
+
+2006-11-09 Eric Christopher <echristo@apple.com>
+
+ Radar 4574849
+ * t-slibgcc-darwin: Pass -install_name directly.
+ * config/darwin.h (LINK_COMMAND_SPEC): Use ld, not libtool.
+ Fix up argument passthrough accordingly.
+ (STARTFILE_SPEC): Ditto.
+
+2006-11-07 Stuart Hastings <stuart@apple.com>
+
+ Radar 4611086
+ * gcc/config/rs6000/rs6000.c (rs6000_stack_info): Include
+ vrsave_size in stack size computation.
+
+1006-11-06 Fariborz Jahanian <fjahania@apple.com>
+
+ Radar 4781080 (part 2)
+ * targhooks.c (default_objc_fpreturn_msgcall): Takes 2nd argument.
+ * targhooks.h (default_objc_fpreturn_msgcall): Changed Decl.
+ * target.h (objc_fpreturn_msgcall): Changed Decl.
+ * config/i386/i386.h (OBJC_FPRETURN_MSGCALL): Changed Decl.
+ * config/i386/i386-protos.h (ix86_objc_fpreturn_msgcall): Changed Decl.
+ * config/i386/i386.c (ix86_objc_fpreturn_msgcall): Changed definition.
+
+1006-11-06 Fariborz Jahanian <fjahania@apple.com>
+
+ Radar 4781080
+ * targhooks.c (default_objc_fpreturn_msgcall): New
+ * targhooks.h (default_objc_fpreturn_msgcall): Declare
+ * target.h (objc_fpreturn_msgcall): New field declaration.
+ * target-def.h (TARGET_OBJC_FPRETURN_MSGCALL): New macro
+ * config/i386/i386.h (OBJC_FPRETURN_MSGCALL): New macro
+ * config/i386/i386-protos.h (ix86_objc_fpreturn_msgcall):
+ New declaration.
+ * config/i386/i386.c (ix86_objc_fpreturn_msgcall): New definition
+
+2006-11-06 Stuart Hastings <stuart@apple.com>
+
+ * gcc/global.c (expand_preferences): Move another APPLE LOCAL.
+
+2006-11-06 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4805365
+ * gcc/config/rs6000/rs6000.c (lwa_operand): Check the alignment of
+ a memory operand is 32 bits aligned or not.
+
+2006-11-03 Stuart Hastings <stuart@apple.com>
+
+ * gcc/global.c (expand_preferences): Move APPLE LOCAL.
+
+2006-11-03 Josh Conner <jconner@apple.com>
+
+ Radar 4815483
+ Backport from mainline:
+ 2005-08-02 Diego Novillo <dnovillo@redhat.com>
+ PR 23192
+ * tree-ssa-alias.c (add_pointed_to_var): If VALUE is of the
+ form &(*PTR), take points-to information from PTR.
+ Give up if VALUE by marking PTR as pointing anywhere if VALUE
+ is not recognized.
+
+2006-11-02 Stuart Hastings <stuart@apple.com>
+
+ Radar 4253848
+ * gcc/convert.c (convert_to_vector): Generate
+ VIEW_CONVERT_EXPR.
+ * gcc/c-typechk.c (digest_init): Treat VIEW_CONVERT_EXPR like
+ NOP_EXPR.
+ * gcc/c-common.c (vector_types_convertible_p, lvalue_or_else):
+ Treat VIEW_CONVERT_EXPR like NOP_EXPR.
+ * gcc/global.c (expand_preferences): Pseudo regs that die in
+ the current instruction are tied to the destination psuedo on
+ two-address opcodes (e.g. x86).
+ (pseudo_preference_transitivity): New.
+
+ Radar 4517311
+ * gcc/config/i386/i386.c (ix86_expand_convert_uns_DF2SI_sse,
+ ix86_expand_convert_uns_SF2SI_sse): Use gen_sse2_stored() to
+ avoid useless MOVs.
+
+2006-11-01 Fariborz Jahanian <fjahania@apple.com>
+
+ Radar 4805321 (new property).
+ * c-common.h (RID_AT_SYNTHESIZE, RID_AT_DYNAMIC,
+ RID_READWRITE, RID_ASSIGN, RID_RETAIN, RID_COPY): New enums.
+ (OBJC_IS_NEW_PATTR_KEYWORD): New macro.
+ (OBJC_IS_NEW_AT_KEYWORD): New macro.
+ * stub-objc.c: (objc_declare_property_impl): New stub.
+ * c.opt (fobjc-new-property): New command-line option.
+ * c-parse.in: New grammar added for recognition of new property
+ syntax.
+
+2006-10-31 Caroline Tice <ctice@apple.com>
+
+ * dwarf2out.c (size_of_pubnames): Only add DWARF_OFFSET_SIZE for entries
+ in table that will actually be written out.
+ * testsuite/gcc.apple/pubtypes-2.c: Fix size in "Length of Public Type
+ Names Info" line.
+ * testsuite/gcc.apple/pubtypes-3.c: Likewise.
+ * testsuite/gcc.apple/pubtypes-4.c: Likewise.
+
+2006-10-27 Eric Christopher <echristo@apple.com>
+
+ Radar 4806229
+ * config/darwin-driver.c (main): Don't set ima_is_used if we're
+ only compiling.
+
+2006-10-26 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4603883
+ Backport from mainline:
+ 2005-08-17 James E Wilson <wilson@specifix.com>
+ * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
+ array size check.
+
+2006-10-25 Eric Christopher <echristo@apple.com>
+
+ Temporarily revert:
+ 2006-09-25 Eric Christopher <echristo@apple.com>
+
+ Radar 4574849
+ * config/t-slibgcc-darwin (SHLIB_LINK): Use
+ -dylib_install_name.
+ * config/darwin.h (LINK_COMMAND_SPEC): Remove use
+ of libtool.
+ (LINK_SPEC): Adjust options for above.
+ (STARTFILE_SPEC): Ditto.
+
+2006-10-19 Caroline Tice <ctice@apple.com>
+
+ * dwarf2out.c (pubname_entry): Add DEF_VEC_GC_O statement for this
+ type.
+ (pubname_table): Redefine as a vector.
+ (pubtype_table): New static global variable, defined as a vector.
+ (pubname_table_allocated): Remove static global variable.
+ (pubname_table_in_use): Remove static global variable.
+ (PUBNAME_TABLE_INCREMENT): Remove constant.
+ (size_of_pubnames): Add parameter to deal with either pubnames or
+ pubtypes, and change code to deal with table being a vector.
+ (add_pubname): Change to deal with table being a vector.
+ (add_pubtype): New function.
+ (output_pubnames): Add parameter to deal with either pubnames or
+ pubtypes, and change code to deal with table being a vector.
+ (gen_array_type_die): Add call to add_pubtype.
+ (gen_enumeration_type_die): Add call to add_pubtype.
+ (gen_struct_or_union_type_die): Add call to add_pubtype.
+ (gen_subroutine_type_die): Add call to add_pubtype.
+ (gen_typedef_die): Add call to add_pubtype.
+ (dwarf2out_init): Add code to initialize pubname_table and
+ pubtype_table vectors.
+ (prune_unused_types): Change to deal with pubnames being a vector.
+ (dwarf2out_finish): Change to deal with pubnames being a vector; add
+ pubnames table to call to output_pubnames; Add code to output pubtypes
+ table if DEBUG_PUBTYPES_SECTION is defined.
+ * config/darwin.c (darwin_file_start): Add DEBUG_PUBTYPES_SECTION to
+ debugnames.
+ * config/darwin.h (DEBUG_PUBTYPES_SECTION): Define new global variable.
+ * testsuite/gcc.dg/pubtypes-1.c: New file/testcase.
+ * testsuite/gcc.dg/pubtypes-2.c: New file/testcase.
+ * testsuite/gcc.dg/pubtypes-3.c: New file/testcase.
+ * testsuite/gcc.dg/pubtypes-4.c: New file/testcase.
+ * testsuite/g++.dg/pubtypes.C: New file/testcase.
+
+2006-10-18 Mike Stump <mrs@apple.com>
+
+ Radar 4094959
+ * c-opts.c (c_common_handle_option): Handle language specific
+ target options.
+ * opts.c (handle_option): Verify language for target options, if
+ any are given.
+ * opth-gen.awk: Add CL_LANG_ALL.
+ * config/darwin.opt (iframework): Add.
+ * config/darwin.h (TARGET_HANDLE_C_OPTION): Add.
+ * config/darwin-c.c (add_system_framework_path): Export.
+ (darwin_handle_c_option): Add.
+ * config/darwin-protos.h (darwin_handle_c_option): Add.
+ * doc/invoke.texi (Darwin Options): Add -iframework.
+
+2006-10-17 Mike Stump <mrs@apple.com>
+
+ Radar 4197305
+ * c-lex.c (c_lex_with_flags): Arrange for tokens to not be
+ over-written while peeking forward for Objective-C languages.
+
+2006-10-13 Stuart Hastings <stuart@apple.com>
+
+ * Radar 4740805, 4741439
+ * gcc/loop.c (LOOP_REG_LIFETIME, LOOP_REG_GLOBAL_P): Remove commentary.
+
+2006-10-11 Mike Stump <mrs@apple.com>
+
+ Radar 4197305
+ * c-lex.c (c_lex_with_flags): Prefer _cpp_backup_tokens over iasm_saved_token.
+ Avoid fetching extra characters.
+
+2006-10-10 Mike Stump <mrs@apple.com>
+
+ Radar 4739936
+ * c-parse.in (_yylex): Restore error for invalid integer suffixes.
+
+2006-10-06 Stuart Hastings <stuart@apple.com>
+
+ * Radar 4740805, 4741439
+ * gcc/loop.c (LOOP_REG_LIFETIME, LOOP_REG_GLOBAL_P): Revert APPLE LOCAL.
+
+2006-10-09 Caroline Tice <ctice@apple.com.
+
+ Radar 4771255
+ * dwarf2out.c (struct inlined_calls, inlined_calls_list,
+ file_table_last_lookup): Move to a point in the file outside
+ the #ifdef DWARF2_DEBUGGING_INFO clause.
+
+2006-10-06 Eric Christopher <echristo@apple.com>
+
+ Radar 4755586
+ * config/i386/i386.h: Rename mni to ssse3.
+ * config/i386/i386.md: Ditto.
+ * config/i386/tmmintrin.h: Ditto.
+ * config/i386/i386.c: Ditto.
+ * config/i386/sse.md: Ditto.
+
+2006-10-05 Dale Johannesen <dalej@apple.com>
+
+ * opts.c (restore_func_cl_pf_opts_mapping): Reset
+ align_loops_log, align_jumps_log, align_labels_log,
+ align_labels_max_skip in code.
+ * flags.h (align_loops_max_skip, align_jumps_max_skip):
+ Remove declarations.
+ * common.opt (align_loops_max_skip, align_jumps_max_skip):
+ Make PerFunc and VarUint.
+ * config/darwin-c.c (darwin_set_flags_from_pragma): New.
+ (darwin_pragma_opt_level): Call it.
+ (darwin_opt_size): Ditto.
+ * config/rs6000/rs6000.c (reset_optimization_options):
+ Reset align_jumps, align_loops, align_jumps_max_skip,
+ align_loops_max_skip.
+ * config/i386/i386.c (reset_optimization_options):
+ Reset ix86_cost, align_loops, align_jumps,
+ align_jumps_max_skip, align_loops_max_skip.
+ (override_options): Move processor_table_target to
+ file scope.
+
+2006-10-03 Dale Johannesen <dalej@apple.com>
+
+ * doc/extend.texi (x86 Vector Extensions): Change
+ di to v1di throughout. Add builtins psllwi, pslldi,
+ psrlwi, psrldi, psrawi, psradi. Remove builtin pmulhuq.
+ * config/i386/i386.h (VALID_MMX_REG_MODE): Add V1DImode.
+ * config/i386/i386-modes.def: Add V1DImode, V1SImode.
+ * config/i386/mmx.md (MMXMODEI): Add V1DImode.
+ (MMXMODE): Add V1DImode.
+ (MMXMODE124): New (same as former MMXMODE).
+ (MMXMODE248): New.
+ (mmxvecsize): Change DI to V1DI.
+ (mmx_adddi3, mmx_subdi3, mmx_ashldi3, mmx_ashldi2si, mmx_lshrdi3,
+ mmx_lshrdi2si): Remove.
+ (mmx_psadbw, sse_movntdi, mmx_ashr<mode>3): Change DI to V1DI.
+ (sse2_umulsidi3): Change DI to V1DI, SI to V1SI.
+ (mmx_lshr<mode>3, mmx_ashl<mode>3): Change DI to V1DI.
+ Change MMXMODE24 to MMXMODE248.
+ (mmx_lshr<mode>2si, mmx_ashl<mode>2si, mmx_ashr<mode>2si): New.
+ (mmx_eq<mode>3, mmx_gt<mode>3): Change MMXMODEI to MMXMODE124.
+ (*mov<mode>_internal_rex64): Remove * constraint in ym->y case.
+ * config/i386/xmmintrin.h (_mm_stream_pi): Remove casts in
+ movntq call.
+ * config/i386/mmintrin.h (_mm_add_si64, _mm_sub_si64, _mm_sll_pi16,
+ _mm_sll_pi32, _mm_sll_si64, _mm_slli_si64, _mm_sra_pi16, _mm_sra_pi32,
+ _mm_srl_pi16, _mm_srl_pi32, _mm_srl_si64, _mm_srli_si64):
+ Remove casts in calls.
+ (_mm_slli_pi16, _mm_slli_pi32, _mm_srai_pi16, _mm_srai_pi32,
+ _mm_srli_pi16, _mm_srli_pi32): Call -i form of builtin.
+ * config/i386/sse.md (mni_psign<mode>3, mni_pabs<mode>2):
+ Change MMXMODEI to MMXMODE124.
+ (mni_palignrdi): Change to mni_palignrv1di. Change DI to V1DI.
+ * config/i386/i386.c (type_natural_mode): Treat V1DI as DI in
+ 32-bit calling sequence.
+ (builtin_description bdesc_2arg): Change PADDQ to use mmx_addv1di3.
+ Change PSUBQ to use mmx_subv1di3. Change PSLLWI to use ashlv4hi2si.
+ Change PSLLDI to use ashlv2si2si. Change PSLLQ to use ashlv1di3.
+ Change PSLLQI to use mmx_ashlv1di2si. Change PSRLWI to use
+ mmx_lshrv4hi2si. Change PSRLDI to use lshrv2si2si. Change
+ PSRLQ to use lshrv1di3. Change PSRLQI to use mmx_lshrv1di2si.
+ Change PSRAWI to use mmx_ashrv4hi3. Change PSRADI to use
+ mmx_ashrv2si2si.
+ (ix86_init_mmx_sse_builtins): Add V1DI_type_node.
+ Rename pdi_type_node to pv1di_type_node, adjust arguments.
+ Rename v4hi_ftype_v4hi_di to v4hi_ftype_v4hi_v1di, adjust.
+ Rename v2si_ftype_v2si_di to v2si_ftype_v2si_v1di, adjust.
+ v2si_ftype_v2si_int: New.
+ Rename void_ftype_pdi_di to void_ftype_pv1di_v1di, adjust.
+ Rename di_ftype_di_di to v1di_ftype_v1di_v1di, adjust.
+ Rename di_ftype_di_int to v1di_ftype_v1di_int, adjust.
+ Rename di_ftype_di_di_int to v1di_ftype_v1di_v1di_int, adjust.
+ Rename di_ftype_v8qi_v8qi to v1di_ftype_v8qi_v8qi, adjust.
+ Use v4hi_ftype_v4hi_v1di for builtin psllw. Add builtin psllwi.
+ Use v2si_ftype_v2si_v1di for builtin pslld. Add builtin pslldi.
+ Use v1di_ftype_v1di_v1di for builtin psllq.
+ Use v1d1_ftype_v1di_int for builtin psllqi.
+ Use v4hi_ftype_v4hi_v1di for psrlw builtin. Add psrlwi builtin.
+ Use v2si_ftype_v2si_v1di for psrld builtin. Add psrldi builtin.
+ Use v1di_ftype_v1di_v1di for psrlq builtin.
+ Use v1di_ftype_v1di_int for psrlqi builtin.
+ Use v4hi_ftype_v4hi_v1di for psraw builtin. Add psrawi builtin.
+ Use v2si_ftype_v2si_v1di for psrad builtin. Add psradi builtin.
+ Use void_ftype_pv1di_v1di for movntq builtin.
+ Use v1di_ftype_v8qi_v8qi for psadbw builtin.
+ Use v1di_ftype_v2si_v2si for pmuludq builtin.
+ Use v1di_ftype_v1di_v1di_int for palignr builtin.
+ Use CODE_FOR_sse_movntv1di for movntq builtin.
+ Use CODE_FOR_mni_palignrv1di for palignr builtin.
+
+2006-09-29 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4736174
+ Backport from mainline:
+ 2005-08-27 Richard Guenther <rguenther@suse.de>
+ PR target/23575
+ * config/i386/sse.md (sse2_movsd): Add missing closing
+ braces.
+
+2006-09-27 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4412214, 4172200
+ * config/sse.md (sse2_stored): Add 'r' constraint to the
+ destination operand.
+
+2006-09-26 Eric Christopher <echristo@apple.com>
+
+ Radar 4106877
+ * config/darwin-driver.c (main): Remove dependence on -o
+ option. Fix comment spelling.
+
+2006-09-26 Fariborz Jahanian <fjahania@apple.com>
+
+ Radar 4733555
+ *config/darwin.c (darwin_handle_weak_import_attribute): Ignore 'weak_import'
+ on objc methods.
+
+2006-09-26 Dale Johannesen <dalej@apple.com>
+
+ * config/i386/mmx.md (mmx_lshrdi2si): New.
+ (mmx_ashldi2si): New.
+ (*vec_extractv2si_0): Allow mmx->int reg moves.
+ * config/i386/i386.c (bdesc_2arg): Use mmx_ashldi2si
+ for IX86_BUILTIN_PSLLQI. Use mmx_lshrdi2si for
+ IX86_BUILITN_PSRLQI.
+ (ix86_init_mmx_sse_builtins): Add di_ftype_di_int.
+ Add __builtin_ia32_psllqi, __builtin_ia32_psrlqi.
+ * config/i386/mmintrin.h (_mm_slli_si64): Use
+ __builtin_ia32_psllqi.
+ (_mm_srli_si64): Use __builtin_ia32_psrlqi.
+ * doc/extend.texi: Document new builtins.
+
+2006-09-25 Eric Christopher <echristo@apple.com>
+
+ Radar 4740850
+ * config.gcc: Add apple as i386 cpu variant.
+ * config/i386/i386.h (TARGET_CPU_DEFAULT_apple): New.
+ (TARGET_CPU_DEFAULT_NAMES): Add apple.
+ (processor_type): Add PROCESSOR_APPLE.
+ * config/i386/i386.c (apple_cost): New.
+ (override_options): Use. Add apple cpu. Move default
+ SSE options to 64-bit default init section.
+
+2006-09-25 Eric Christopher <echristo@apple.com>
+
+ Radar 4574849
+ * config/t-slibgcc-darwin (SHLIB_LINK): Use
+ -dylib_install_name.
+ * config/darwin.h (LINK_COMMAND_SPEC): Remove use
+ of libtool.
+ (LINK_SPEC): Adjust options for above.
+ (STARTFILE_SPEC): Ditto.
+
+2006-09-25 Bill Wendling <wendling@apple.com>
+
+ PR c/23576
+ * c-decl.c (grokdeclarator): Don't write to fields
+ of error_mark_node.
+
+2006-09-22 Mike Stump <mrs@apple.com>
+
+ Radar 4736998
+ * config/i386/i386.c (iasm_x86_canonicalize_operands): Avoid
+ outputting arguments for movs, as the assembler can mis-assemble
+ it.
+
+2006-09-19 Josh Conner <jconner@apple.com>
+
+ Radar 4727273
+ * flow.c (initialize_uninitialized_subregs): Only do something
+ if TARGET_MUST_INIT_SUBREG is set.
+
+2006-09-18 Fariborz Jahanian <fjahania@apple.com>
+
+ Radar 4667060
+ * c-gimplify.c (gimplify_c_loop): Add support for
+ setting of foreach loop controlling variable to 'nil' on
+ normal loop exit.
+
+2006-09-15 Fariborz Jahanian <fjahania@apple.com>
+
+ Radar 4727659
+ * c-common.c (handle_noreturn_attribute): Handle method_decl
+ nodes as well.
+
+2006-09-14 Bill Wendling <wendling@apple.com>
+
+ Radar 4731660
+ * config/darwin.h (REDO_SECTION_INFO_P): Removed
+
+2006-09-11 Josh Conner <jconner@apple.com>
+
+ Radar 4658012
+ * calls.c (expand_call): Don't set keep bit on temps for holding
+ structure return values.
+ * integrate.c (copy_decl_for_inlining): Add is_result
+ parameter, add handling for DECL_BY_REFERENCE.
+ * integrate.h (copy_decl_for_inlining): Add is_result parameter.
+ * tree-inline.c (remap_decl): Adjust call for above.
+ (setup_one_parameter): Likewise.
+ (mark_local_for_remap_r): Likewise.
+ (declare_return_variable): Likewise. Add bind_expr parameter.
+ Add handling for DECL_BY_REFERENCE.
+ (expand_call_inline): Adjust call to declare_return_variable
+ for additional parameter.
+
+2006-09-08 Stuart Hastings <stuart@hastings.org>
+
+ Radar 4664847
+ * gcc/config/i386/i386.md (fixuns_trunc_<mode>si2): Check for
+ TARGET_SSE2.
+ * gcc/config/i386/i386.c (ix86_expand_convert_uns_DF2SI_sse,
+ ix86_expand_convert_uns_SF2SI_sse, ix86_expand_convert_uns_DI2DF_sse):
+ Add to commentary.
+
+2006-09-07 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4577796
+ * config/i386/i386.c : Redefine global constant x86_use_incdec.
+
+2006-09-07 Stuart Hastings <stuart@hastings.org>
+
+ * gcc/config/i386/i386.c (processor_alias_table): Delete APPLE
+ LOCAL comment.
+
+2006-09-06 Caroline Tice <ctice@apple.com>
+
+ Radar 4707854
+ * dwarf2out.c (dwar2out_abstract_function): Remove call_site test
+ from condition determining if an abstract origin die needs to be
+ generated.
+
+2006-09-06 Stuart Hastings <stuart@hastings.org>
+
+ Radar 4515157
+ * gcc/config/i386/i386.c (processor_alias_table): Enable SSE3
+ for nocona. (override_options): Turn SSE3 off for 32-bit
+ Mach-O unless explicitly enabled on command line.
+
+2006-09-05 Mike Stump <mrs@apple.com>
+
+ Radar 4699545
+ * config/i386/i386.c (iasm_indirect): Avoid doing bad things with
+ ARRAY_TYPEs.
+ (iasm_canonicalize_bracket): Handle [var][edx+edx].
+ (iasm_canonicalize_bracket_1): Allow edx+edx to have a type so
+ that we can pass it to the optimizer.
+
+006-09-01 Fariborz Jahanian <fjahania@apple.com>
+
+ Radar 4712269
+ * c-common.h (objc_build_incr_decr_setter_call): New decl.
+ * stub-objc.c (objc_build_incr_decr_setter_call): New stub.
+ * c-typeck.c (build_unary_op): Call objc_build_incr_decr_setter_call
+ for potential ince/decr pre/post expressions involving properties.
+
+2006-08-31 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4697411
+ * c-common.h (objc_volatilize_component_ref): New decl.
+ * c-typeck.c (build_component_ref): Call objc_volatilize_component_ref.
+ * stub-objc.c (objc_volatilize_component_ref): New stub.
+
+2006-08-29 Mike Stump <mrs@apple.com>
+
+ Radar 4699524
+ * config/i386/i386.c (iasm_x86_canonicalize_operands): Add
+ pushfd/popfd.
+
+2006-08-29 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4705250
+ * c.opt (fobjc-atdefs): Add
+ * c-parse.in: No error on use of @defs with -fobjc-atdefs
+
+2006-08-28 Bill Wendling <wendling@apple.com>
+
+ Radar 4679943
+ * doc/extend.texi (Structure-Packing Pragmas): Changed #pragma pack
+ documentation to reflect Apple's implementation.
+ * config/darwin-c.c (push_field_alignment, darwin_pragma_pack):
+ If #pragma pack([N]), don't clear out the natural alignment flag
+ on PPC64.
+
+2006-08-25 Fariborz Jahanian <fjahanian@apple.com>
+
+ PR c/28418
+ * c-gimplify.c (gimplify_compound_literal_expr): Don't add
+ variable again if DECL_SEEN_IN_BIND_EXPR_P.
+
+2006-08-24 Mike Stump <mrs@apple.com>
+
+ Radar 4682427
+ * c-common.c (iasm_stmt): Fix jmp/call.
+ * config/i386/i386.c (iasm_x86_canonicalize_operands): Likewise.
+
+2006-08-24 Bill Wendling <wendling@apple.com>
+
+ Radar 4699019
+ * doc/invoke.texi (C Language Options, Linker Options,
+ Warning Options): Removed -Wpragma-once, -no-c++filt,
+ and -Wpragma-once options' documentation.
+ * gcc/common.opt (fppc): Removed fppc flag.
+ * gcc/toplev.c (flag_fppc): Removed flag_fppc variable.
+
+2006-08-22 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4287182
+ * i386.h : Redefine SLOW_BYTE_ACCESS.
+
+2006-08-18 Fariborz Jahanian
+
+ Reverted patch for radar 4674757
+ * config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS):
+ Remove darwin_constant_cfstrings setting.
+
+2006-08-18 Fariborz Jahanian
+
+ Radar 4674757
+ * config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS):
+ Set darwin_constant_cfstrings.
+
+2006-08-17 Fariborz Jahanian
+
+ Radar 4590221
+ * c.opt (flag_objc_direct_dispatch): default to -1.
+ * config/rs6000/darwin.h (OFFS_MSGSEND_FAST, OFFS_ASSIGNIVAR_FAST,
+ HAVE_OFFS_MSGSEND_FAST): objective-c macro definitions.
+
+2006-08-15 Stuart Hastings <stuart@apple.com>
+
+ Radar 4106131
+ * gcc/config/i386/darwin.h (TARGET_DEEP_BRANCH_PREDICTION):
+ Remove NOCONA.
+ * gcc/testsuite/gcc.apple/execute/picbase-1.c (xsqrt): Replace
+ references to __builtin functions with their portable
+ equivalents.
+
+2006-08-15 Stuart Hastings <stuart@apple.com>
+
+ Radar 4424891
+ * gcc/config/i386/i386.c: APPLE LOCAL fixups.
+
+2006-08-14 Stuart Hastings <stuart@apple.com>
+
+ Radar 4424891
+ * gcc/config/i386/i386.md (fixuns_trunc<mode>si2) Call
+ ix86_expand_convert_uns_<MODE>2SI_sse.
+ (floatdidf2): Call ix86_expand_convert_sign_DI2DF_sse.
+ (floatunssidf2): New.
+ * gcc/config/i386/i386-protos.h (ix86_expand_convert_DF2SI_sse,
+ ix86_expand_convert_SF2SI_sse, ix86_expand_convert_DI2DF_sse):
+ Update names to ix86_expand_convert_uns_DF2SI_sse,
+ ix86_expand_convert_uns_SF2SI_sse, ix86_expand_convert_uns_DI2DF_sse.
+ (ix86_expand_convert_uns_SI2DF_sse,
+ ix86_expand_convert_sign_DI2DF_sse): New.
+ * gcc/config/i386/i386.c (x86_expand_convert_DF2SI_sse,
+ ix86_expand_convert_SF2SI_sse, ix86_expand_convert_DI2DF_sse):
+ Update names to ix86_expand_convert_uns_DF2SI_sse,
+ ix86_expand_convert_uns_SF2SI_sse, ix86_expand_convert_uns_DI2DF_sse.
+ (ix86_expand_convert_uns_SI2DF_sse,
+ ix86_expand_convert_sign_DI2DF_sse): New.
+ (x86_emit_floatuns): Use new functions, tolerate SFmode target.
+
+2006-08-14 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4645709
+ * config/i386/i386.md (movstrictqi_and): Update the whole register
+ for a byte operand.
+
+2006-08-11 Caroline Tice <ctice@apple.com>'
+
+ Radar 4591706
+ * dwarf2out.c (dwarf2out_abstract_function): Make sure the abstract
+ die, with DW_AT_inline, exists before adding the inlined call site
+ information.
+ (gen_inlined_subroutine_die): Change code so it no longer relies on
+ matching function names to find correct call site information. Also,
+ generate an internal error if it can't find the call site information
+ for an inlined subroutine.
+
+2006-08-11 Josh Conner <jconner@apple.com>
+
+ Radar 4674871
+ * gcc.c (process_command): Increment n_infiles for the
+ weak-l command-line option.
+
+2006-08-04 Jon Ziegler <jonz@apple.com>
+
+ Radar 4674934
+ Revert patch for 4424891 due to it breaking the build.
+
+2006-08-04 Mike Stump <mrs@apple.com>
+
+ Radar 4669052
+ * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES.
+ (c-parse.y): Ensure that we don't rebuild.
+
+2006-08-04 Stuart Hastings <stuart@apple.com>
+
+ Radar 4106131
+ * config/i386/darwin.h (TARGET_DEEP_BRANCH_PREDICTION): Override default.
+
+2006-07-31 Mike Stump <mrs@apple.com>
+
+ Radar 4660333
+ * toplev.c (general_init): Don't try and catch SIGKILL.
+
+2006-07-28 Stuart Hastings <stuart@apple.com>
+
+ Radar 4424891
+ * gcc/config/i386/i386.md (fixuns_trunc<mode>si2): Update.
+ (floatdidf2): Call ix86_expand_convert_sign_DI2DF_sse.
+ (floatunssidf2): New.
+ * config/i386/i386-protos.h (ix86_expand_convert_uns_DF2SI_sse,
+ ix86_expand_convert_uns_SF2SI_sse, ix86_expand_convert_uns_DI2DF_sse): New names.
+ (ix86_expand_convert_uns_SI2DF_sse, ix86_expand_convert_sign_DI2DF_sse): New.
+ * config/i386/i386.c (ix86_expand_convert_uns_DF2SI_sse,
+ ix86_expand_convert_uns_SF2SI_sse, ix86_expand_convert_uns_DI2DF_sse): New names.
+ (ix86_expand_convert_uns_SI2DF_sse, ix86_expand_convert_sign_DI2DF_sse): New.
+
+2006-07-28 Mike Stump <mrs@apple.com>
+
+ Radar 4653181
+ * c-common.c (iasm_stmt): Don't clabber edx when edx is used
+ as an operand. Ensure that it is an input output operand, if
+ used.
+
+2006-07-25 Stuart Hastings <stuart@apple.com>
+
+ Radar 4643646
+ * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate):
+ Omit TARGET_SSE check.
+
+2006-07-26 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4629695
+ * builtins.c (fold_builtin_1): Fix APPLE LOCAL markers.
+
+2006-07-25 Hui-May Chang <hm.chang@apple.com>
+ Radar 4629695
+ * builtins.c (fold_builtin_1): Check if the callee declaration is
+ available.
+
+2006-07-18 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4592503
+ * c-decl.c (finish_struct): Check on illegal use of __weak
+ on struct fields.
+ * decl.c (start_decl): Check on illegal use of __weak on
+ variable declarations.
+ * stub-objc.c (objc_checkon_weak_attribute): New stub.
+ * c-common.h (objc_checkon_weak_attribute): New decl.
+
+2006-07-18 Mike Stump <mrs@apple.com>
+
+ Radar 4636974
+ * c-parse.in: Remove extraneous commas on tokens.
+
+2006-07-18 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4430340
+ Backport from mainline:
+ 2006-06-09 Mike Stump <mrs@apple.com>
+ * c-typeck.c (c_begin_vm_scope): Fix file_scope processing.
+
+2006-07-18 Stuart Hastings <stuart@apple.com>
+
+ Radar 4538899
+ * gcc/tree-ssa-threadupdate.c
+ (rediscover_loops_after_threading): Tweak another APPLE LOCAL comment.
+
+2006-07-17 Eric Christopher <echristo@apple.com>
+
+ Radar 4633168
+ Radar 4630878
+ * config/t-slibgcc-darwin (stmp-lipo): Remove.
+ Rewrite libgcc_s.1.dylib dependencies.
+
+2006-07-17 Stuart Hastings <stuart@apple.com>
+
+ Radar 4538899
+ * gcc/tree-ssa-threadupdate.c
+ (rediscover_loops_after_threading): Tweak APPLE LOCAL comment.
+
+2006-07-14 Mike Stump <mrs@apple.com>
+
+ Radar 4630911
+ * config/darwin-driver.c (is_x_file): Add.
+ (resolve_path_to_executable): Use is_x_file instead.
+
+2006-07-14 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4621020
+ * c-parse.in: Added 'weak' attribute keyword for @property.
+ * c-common.h: 'weak' related declarations.
+
+2006-07-13 Stuart Hastings <stuart@apple.com>
+
+ Radar 4538899
+ * config/rs6000/rs6000.c (SMALL_INT): Fix cast.
+ * testsuite/gcc.dg/20060713-1.c: New.
+
+2006-07-13 Jeff Law <law@redhat.com>
+ Stuart Hastings <stuart@apple.com>
+
+ Radar 4538899
+ original FSF patch dated 2005-03-04
+ * basic-block.h (rediscover_loops_after_threading): Declare.
+ * tree-ssa-dom.c: Include cfgloop.h.
+ (tree_ssa_dominator_optimize): Discover loops and some basic
+ properties. Remove forwarder blocks recreated by loop header
+ canonicalization. Also mark backedges in the CFG.
+ * tree-ssa-threadupdate.c: Include cfgloop.h
+ (rediscover_loops_after_threading): Define.
+ (struct local_info): New field, JUMP_THREADED.
+ (prune_undesirable_thread_requests): New function.
+ (redirect_edges): Clear EDGE_ABNORMAL. If edges were threaded
+ then record that fact for the callers of redirct_edges.
+ (thread_block): If BB has incoming backedges, then call
+ prune_undesirable_thraed_requests. Note when we are
+ going to have to rediscover loop information. Return a
+ boolean indicating if any jumps were threaded.
+ (thread_through_all_blocks): Bubble up boolean indicating
+ if any jumps were threaded.
+ * Makefile.in (tree-ssa-dom.o): Depend on cfgloop.h
+ (tree-ssa-threadupdate.o): Similarly.
+
+2006-07-14 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4614623
+ * config/i386/i386.c (ix86_expand_vector_move): Set cfun->uses_vector to 1
+ to honor the alignment requirement of vector instructions.
+
+2006-07-13 Mike Stump <mrs@apple.com>
+
+ Radar 4515069
+ * c-common.c (iasm_print_operand): Arrange for local variables to
+ not be promoted to static duration.
+ * gimplify.c (gimplify_init_constructor): Likewise.
+ * tree.h (DECL_IASM_DONT_PROMOTE_TO_STATIC): Add.
+ (struct tree_decl): Add iasm_dont_promote_to_static.
+
+2006-07-12 Eric Christopher <echristo@apple.com>
+
+ Radar 4624477
+ * config/t-slibgcc-darwin: Import from mainline. Add x86_64 libgcc_s.1.dylib
+ support.
+
+2006-07-11 Eric Christopher <echristo@apple.com>
+
+ Radar 4522154
+ * config/t-slibgcc-darwin: Add extra dependency to stmp-lipo.
+
+2006-07-07 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4585769
+ * config/darwin-protos.h: New declarations.
+ * config/darwin.c (machopic_select_section): New sections
+ for objc1 extensions.
+ * config/darwin.h: Declaration of __class_ext, __property
+ and __protocol_ext sections.
+
+2006-06-29 Mike Stump <mrs@apple.com>
+
+ Radar 4560301
+ * c-common.c (iasm_stmt): Fix argument numbers for repeated arguments.
+ * config/asm.h: Likewise.
+
+2006-06-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4591909
+ * c-parse.in: New/modified grammar for new attributes in
+ properties.
+ (yylexname): Change to recognize new attribute terminals.
+ * c-common.h (RID_DYNAMIC): New enum declaration.
+
+2006-06-27 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4600999
+ * config/darwin.c (darwin_handle_objc_gc_attribute): Fix main variant
+ after attribute insertion.
+
+2006-06-23 Mike Stump <mrs@apple.com>
+
+ * config/i386/mmintrin.h: Simplifiy use of __nodebug__.
+ * config/i386/xmmintrin.h: Likewise.
+ * config/i386/emmintrin.h: Likewise.
+ * config/i386/pmmintrin.h: Likewise.
+
+2006-06-22 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4597080
+ * dwarf2out.c (dwarf2out_finish): Move output_line_info call
+ after debug_info output.
+
+2006-06-22 Mike Stump <mrs@apple.com>
+
+ Radar 4336222
+ * c-decl.c (merge_decls): block-scope extern doesn't mean extern
+ at file-scope.
+
+2006-06-21 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4594955
+ * dwarf2out.c (struct source_loc_list): Use location_s directly,
+ rather than source_locus.
+ (dwarf2out_abstract_function): Use GC to allocate struct
+ source_loc_list.
+ (gen_inlined_subroutine_die): Update for changes to
+ struct source_loc_list.
+
+2006-06-20 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4594280
+ * dwarf2out.c (struct inlined_calls): Mark for GC; change field
+ 'file_index' to be a 'struct dwarf_file_data *'.
+ (inlined_calls_list): Mark for GC.
+ (add_to_global_inlined_calls_list): Take a
+ 'struct dwarf_file_data *' as the call_file parameter. Allocate
+ struct inlined_calls using GC. Update for file data structure
+ changes.
+ (gen_inlined_subroutine_die): Update for file data structure
+ changes.
+
+2006-06-19 Mike Stump <mrs@apple.com>
+
+ Radar 4336222
+ * tree.c (variably_modified_type_p): VM arguments don't make the
+ type a VM type.
+
+2006-06-18 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4286110
+ * config/i386/emmintrin.h (_mm_set1_epi16): Redefine.
+
+2006-06-18 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4534621
+ * reload.c (find_reload_address) : Indexed ([reg+reg]) memory
+ address for TImode is not supported on powerpc. Need to load
+ [reg+reg] to a register first before addressing the memory.
+
+2006-06-14 Mike Stump <mrs@apple.com>
+
+ Radar 4586112
+ * configure.ac (HAVE_GAS_LITERAL16): Add.
+ * config/darwin.c (HAVE_GAS_LITERAL16): Default to 0.
+ * config/i386/t-darwin: Don't assume we can always build x86_64 multilib.
+
+2006-06-12 Devang Patel <dpatel@apple.com>
+
+ Radar 4580289
+ * config/darwin-driver.c (resolve_symlink, resolve_path_to_executable,
+ get_prog_name_len): New.
+ (main): Find appropriate program.
+
+2006-06-12 Devang Patel <dpatel@apple.com>
+
+ Radar 4208510
+ * doc/invoke.texi (fopt-diary): Document.
+ * tree-vectorizer.c (debug.h): Include.
+ (vectorize_loops): Add opt diary entry to note vectorized loops.
+ * sdbout.c (sdb_debug_hooks): Add debug_nothing_od_msg_loc.
+ * vmsdbgout.c (vmsdbg_debug_hooks): Same.
+ * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Same.
+ * debug.c (do_nothing_hooks): Same.
+ (debug_nothing_od_msg_loc): New.
+ * common.opt (fopt-diary): Add.
+ * debug.h (debug_od_msg, debug_od_category): New.
+ (gcc_debug_hooks): Add opt_diary_entry hook.
+ (debug_nothing_od_msg_loc): New.
+ * Makefile.in (tree-vectorizer.o): Depend on debug.h
+ * dwarf2out.c (dwarf2out_od_entry, dwarf2out_od_category,
+ dwarf2out_od_version, gen_new_od_entry_die): New.
+ (dwarf_tag_name): Handle DW_TAG_GNU_OD_entry.
+ (dwarf_attr_name): Handle DW_AT_GNU_OD_msg, DW_AT_GNU_OD_category
+ and DW_AT_GNU_OD_version.
+ (add_src_coords_attributes_locus): New.
+ (add_src_coords_attributes): Use add_src_coords_attributes_locus.
+ (dwarf2out_init): Record opt diary version.
+ * dwarf2.h (dwarf_tag): Add DW_TAG_GNU_OD_entry.
+ (dwarf_attributes): Add DW_AT_GNU_OD_msg, DW_AT_GNU_OD_category,
+ DW_AT_GNU_OD_version.
+
+2006-06-09 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4084991
+ * fold-const.c (fold_cond_expr_with_comparison): Check for
+ Objective-C++ same as C++.
+
+2006-06-07 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4571747
+ * rs6000.c (const struct bdesc_altivec_preds)
+ Rename CODE_FOR_altivec_predicate_* to work with new descriptions in
+ altivec.md.
+ * altivec.md
+ Expand nine altivec predicate vcmp* instructions.
+
+2006-06-06 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4314956
+ Import from mainline:
+ 2005-08-31 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix
+ test for fp return matching.
+
+ 2005-08-11 Richard Guenther <rguenther@suse.de>
+
+ PR target/23289
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Handle
+ cases where we call to/from functions returning void.
+
+2006-06-01 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4570979
+ * config/darwin.h: Change certain 'type' of objc2 sections
+ to 'regular' from 'literal_pointers' (reversing radar
+ 4561264)..
+
+2006-06-01 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4469713
+ * i386.c (ix86_init_mmx_sse_builtins)
+ The return type of builtin function, __builtin_ia32_vec_ext_v8hi,
+ should be an unsigned instead of a signed type.
+
+2006-05-30 Roger Sayle <roger@eyesopen.com>
+ Stuart Hastings <stuart@apple.com>
+
+ Radar 4561329
+ PR middle-end/26557
+ * stmt.c (emit_case_nodes): Handle the case where the index is a
+ CONST_INT, where the comparison mode is specified by the index type.
+
+2006-05-26 Paolo Bonzini <bonzini@gnu.org>
+ Dale Johannesen <dalej@apple.com>
+ Stuart Hastings <stuart@apple.com>
+
+ Fragment from this FSF trunk patch:
+ PR target/19653
+ * config/i386/i386.c (ix86_preferred_reload_class): Force
+ using SSE registers (and return NO_REGS for floating-point
+ constants) if math is done with SSE.
+
+2006-05-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ radar 4563012
+ * config/darwin.c (darwin_construct_objc_string): Clear out the
+ ggc'able cfstring_descriptor node.
+
+2006-05-25 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4561264
+ * config/darwin.h: Change certain 'type' of objc2 sections
+ to 'literal_pointers' from 'regular'.
+
+2006-05-18 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 3334812
+ * config/darwin.h (NO_IMPLICIT_EXTERN_C): Define.
+
+2006-05-23 Caroline Tice <ctice@apple.com>
+
+ * passes.c (rest_of_compilation): Add apple local markers.
+
+2006-05-18 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4548636 (objc attributes on class)
+ * c-parse.in: Add attribute non-terminal before
+ AT_INTERFACE.
+ * c-common.h (objc_start_class_interface): New argument added.
+ * stub-objc.c (objc_start_class_interface): Ditto.
+
+2006-05-19 Caroline Tice <ctice@apple.com
+
+ * dwarf2out.c (gen_inlined_subroutine_die): Added type-cast to
+ assignment and removed declaration of unused variable.
+
+2006-05-18 Devang Patel <dpatel@apple.com>
+
+ Radar 4509291
+ * Undo Radar 4509280
+
+2006-05-18 Caroline Tice <ctice@apple.com>
+
+ Radar 4548482
+ * sdbout.c (sdb_debug_hooks): Change do_nothing function for
+ outlining_inline_function to have a second parameter, a source locus.
+ * vmsdbgout.c (vmsdbgout_abstract_function): Add secord (NULL)
+ argument to outlining_inline_function call.
+ * debug.c (do_nothing_debug_hooks): Change do_nothing function for
+ outlining_inline_function to have a second parameter, a source locus.
+ (debug_nothing_tree_loc): New function.
+ * debug.h (struct gcc_debug_hooks): Add a second parameter, a
+ source_locus, to outlining_inling_function.
+ (debug_nothing_tree_loc): New extern declaration.
+ * tree-inline.c (expand_call_inline): Add second argument,
+ input_location, to outlining_inline_function call.
+ * dbxout.c (dbx_debug_hooks): Change do_nothing function for
+ outlining_inline_function to have a second paramenter, a source_locus.
+ (xcoff_debug_hooks): Likewise.
+ * passes.c (rest_of_compilation): Add a second argument, NULL, to
+ the call to outlining_inline_function.
+ * dwarf2out.c (dwarf2out_abstract_function): Add second parameter, a
+ source locus. Add code to check to see if a call site location was
+ passed in, and if so to append the call site location to the list of
+ inlined call sites attached to the abstract origin die.
+ (struct source_loc_list): New struct.
+ (struct die_struct): Add new field, inlined_call_sites.
+ (struct inlined_calls): New struct.
+ (inlined_calls_list): New global variable.
+ (add_to_global_inlined_calls_list): New function.
+ (gen_inlined_subroutine_die): Add second argument, NULL, to call to
+ dwarf2out_abstract_function. Add code to look for appropriate call
+ site record, either in list attached to abstract origin, or in
+ global list, and if found, to add DW_AT_call_file and DW_AT_call_line
+ to inlined subroutine die.
+ (gen_decl_die): Add second argument, NULL, to calls to
+ dwarf2out_abstract_function.
+ (add_abstract_origin_attribute): Likewise.
+ * c-decl.c (merge_decls): Likewise.
+ * testsuite/gcc.apple/dwarf-inlining.c: New file (test).
+
+2006-05-17 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4550582
+ * c-parse.in: Reset objc_foreach_context to 0.
+
+2006-05-16 Devang Patel <dpatel@apple.com>
+
+ Radar 4547137
+ * dbxout.c (dbxout_end_source_file): Check current_file.
+
+2006-05-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4547045
+ * c-gimplify.c (obj_reuse_bc_block): Removed.
+ (objc_pop_label, objc_push_label): New.
+ (gimplify_c_loop): Fix up foreach's innerloop break label.
+
+2006-05-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ radar 4529765
+ * c-format.c (format_type_warning): Compensate for two hidden
+ arguments in objc messaging when warning.
+
+2006-05-11 Stuart Hastings <stuart@apple.com>
+
+ Radar 4506977
+ * gcc/tree-cfg.c (fold_cond_expr_cond): Un-static it.
+ * gcc/tree-flow.h (fold_cond_expr_cond) Extern it.
+ * gcc/tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call it.
+ * gcc/config/rs6000/darwin.md (movdf_low_si): Rewrite to avoid pic-base reference.
+ * gcc/config/rs6000/rs6000.md (zero_reg_mem_operand): New predicate.
+ (extenddftf2_internal): Use it.
+
+2006-05-09 Fariborz Jahanian <fjahanian@apple.com>
+
+ radar 4529200
+ * c-parse.in (yylexname): Add '[' as another token
+ that can follow 'in'.
+
+2006-05-08 Fariborz Jahanian <fjahanian@apple.com>
+
+ radar 4535676
+ * config/darwin-protos.h: New declarations.
+ * config/darwin.c (machopic_select_section): Code to generate
+ new section __super_refs.
+ * config/darwin.h: Macros for new section declarations.
+
+2006-05-05 Fariborz Jahanian <fjahanian@apple.com>
+
+ radar 4533974 - ObjC new protocol
+ * c-parse.in: New grammar production.
+ * c-common.h: New declarations.
+ * stub-objc.c (objc_protocol_implementation): New stub.
+ * config/darwin-protos.h: New declarations.
+ * config/darwin.c (machopic_select_section): Code to generate
+ new sections __protocol_list and __protocol_refs.
+ * config/darwin.h: Macros for new section declarations.
+
+2006-05-01 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4512786
+ * doc/invoke.texi (fobjc-sjlj-exceptions): Replaces
+ fobjc-exceptions.
+
+2006-04-28 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4512786
+ * doc/invoke.texi (fobjc-exceptions): Say it is
+ on by default.
+
+2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 3803157 (method attributes)
+ * c-parse.in: Add grammar support for declaring
+ attribute for objc methods.
+ * c-common.c (handle_deprecated_attribute): Recognize
+ objc methods as valid declarations.
+ (handle_unavailable_attribute): Ditto.
+ * c-common.h: Bunch of new extern declarations.
+ * stub-objc.c (objc_add_method_declaration, objc_start_method_definition):
+ Added new argument.
+ (objc_method_decl): New stub.
+
+2006-04-13 Devang Patel <dpatel@apple.com>
+
+ Radar 4503682
+ * c-lex.c (c_lex_with_flags): CPP_BINCL and CPP_EINCL tokens do not block PCH.
+
+2006-04-12 Devang Patel <dpatel@apple.com>
+
+ Radar 4509280
+ * tree-vectorizer.c (vectorize_loops): Print vectorized loop count in opt
+ diary only if count is more then zero.
+ * flags.h (opt_diary_filename): New.
+ * tree-pass.h (TODO_proposal_1): New.
+ * tree-sra.c (pass_sra): Add TODO_proposal_1 in todo_flags_finish.
+ * tree-ssa-forwprop.c (pass_forwprop): Same.
+ * tree-ssa-dce.c (pass_dce, pass_cd_dce): Same.
+ * tree-ssa-ccp.c (pass_ccp): Same.
+ * tree-ssa-loop.c (pass_lim, pass_unswitch, pass_vectorize, pass_linear_transform,
+ pass_loop_prefetch, pass_iv_canon, pass_complete_unroll, pass_iv_optimize): Same.
+ * common.opt (fopt-diary-proposal-1): New.
+ * toplev.c (opt-diary.h): Include.
+ (opt_diary_filename): new.
+ (do_compile): Open and close opt diary.
+ * tree-optimize.c (opt-diary.h): Include.
+ (execute_one_pass): Redir dump_file to opt diary and restore it back.
+ Insert annotation header tag in opt diary.
+ * Makefile.in (opt-diary.o): New rule.
+ (tree-cfg.o, tree-optimize.o, toplev.o): Depend on opt-diary.h
+ * tree-cfg.c (opt-diary.h): Include.
+ (dump_function_to_file): Do not dump function into opt diary.
+ * opts.c (common_handle_option): Handle OPT_fopt_diary_proposal_1_.
+ * tree-ssa-opearnds. (get_indirect_ref_operands): Suppress flow sensitive alias
+ info dump in optimization diary.
+ * opt-diary.c: New file.
+ * opt-diary.h: New file.
+
+2006-04-13 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4502236
+ * c-parse.in (c99_block_lineno_labeled_stmt): Pass same flags to
+ c_end_compound_stmt to match c_begin_compound_stmt.
+
+2006-04-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4507230
+ * c-common.h (objc_type_valid_for_messaging): Declare.
+ * stub-objc.c (objc_type_valid_for_messaging): New stub.
+
+2006-04-06 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4436866
+ (Missing copies attribute)
+ * c-parse.in: Add grammer for 'copies' attribute.
+ * c-common.h (RID_COPIES): New enumerator.
+
+2006-04-04 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4498373
+ (Metadata for objective-c properties)
+ * config/darwin.c (machopic_select_section): Put metadata
+ name/attribute strings in .data section.
+
+2006-03-29 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4493912
+ * config/darwin.c (darwin_init_cfstring_builtins): Make type of
+ CFString.length 'long'.
+ (darwin_init_cfstring_builtins): Initialize CFString.length to
+ a 'long' value.
+
+2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4133425
+ * c-common.h (objc_diagnose_private_ivar): New decl.
+ * stub-objc.c (objc_diagnose_private_ivar): New stub.
+ * c-decl.c (undeclared_variable): Issue disnostic on
+ private 'ivar' access.
+
+2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4491608
+ * c-typeck.c (convert_arguments): function name must come from 'selector'
+ when diagnosing 'too many arguments'.
+
+2006-03-24 Devang Patel <dpatel@apple.com>
+
+ Radar 4485223
+ * opts.c (decode_options): Issue warning if -ftree-vectorize
+ overrides -fno-strict-aliasing.
+
+2006-03-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4193359
+ * c-typeck.c (convert_for_assignment): Remove Objective-C EH machinery
+ 'volatile' qualifier before doing type comparison.
+
+2006-03-22 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4255172
+ * config/rs6000/darwin.h (PEG_ALIGN_FOR_MAC68K): Move to here from
+ config/darwin.h. Don't test TARGET_ALTIVEC.
+ * config/darwin.h [RS6000_VECTOR_ALIGNMENT] (PEG_ALIGN_FOR_MAC68K):
+ Move this definition to config/rs6000/darwin.h.
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't define
+ Altivec PIM macros unless -faltivec.
+ * config/rs6000/rs6000.c (rs6000_override_options): Don't allow
+ special Altivec vector initialisation unless -faltivec.
+
+2006-03-22 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4436866
+ * c-parse.in: Add all the needed grammar and lexical support for
+ objective-c @property.
+ * c-typeck.c (build_component_ref): Call objc_build_getter_call.
+ (build_modify_expr): Call objc_build_setter_call.
+ * tree.h (CALL_EXPR_OBJC_PROPERTY_GETTER): New macro.
+ * c-common.h: Several new declarations in support of
+ objective-c's @property.
+ * stub-objc.c (objc_set_property_attr, objc_add_property_variable,
+ objc_build_getter_call, objc_build_setter_call): New stubs.
+
+2006-03-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4293709
+ * c-typeck.c (digest_init): Check for protocol match in
+ initialization of two otherwise matching pointers.
+
+2006-03-13 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4472881
+ * c-parse.in: Change grammar code as needed to allow
+ declaration in objective-c's foreach for-loop loop header.
+
+2006-03-08 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4468456
+ * c-gimplify.c (gimplify_c_loop): 'continue' label is generated
+ as in normal case and belongs to current loop.
+
+2006-03-07 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4468498
+ * c-parse.in (for_objc_collection): Add grammar for non-declarative
+ form of foreach-statement.
+
+2006-02-28 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4441049
+ * c-common.h (objc_v2_bitfield_ivar_bitpos): New decl.
+ * expr.h (objc_v2_bitfield_ivar_bitpos): New decl.
+ * stub-objc.c (objc_v2_bitfield_ivar_bitpos): New stub.
+ * expr.c (get_inner_reference): Compute ivar's bitfield bit offset.
+
+2006-02-28 Devang Patel <dpatel@apple.com>
+ Ziemowit Laski <zlaski@apple.com>
+
+ Radar 4137741
+ * Makefile.in (c-lex.o): Revert langhooks.h dependency.
+ (langhooks.o): Revert debug.h dependency.
+ * c-lex.c: Do not include langhooks.h.
+ (fe_file_change): Revert lang_hooks calls; issue debug_hooks
+ calls only if defer_file_change_debug_hooks flag is cleared.
+ (c_lex_with_flags): Propagate line number information for
+ CPP_BINCL and CPP_EINCL tokens.
+ * langhooks-def.h: Revert Radar 4133801 changes.
+ * langhooks.c: Likewise.
+ * langhooks.h: Likewise.
+
+2006-02-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4445586
+ * c-common.def (DO_STMT): Takes an extra argument.
+
+2006-02-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4441551
+ * c-parse.in (component_decl_list2): Issue warning for @defs as needed.
+ * c-typeck.c (build_c_cast): Call diagnose_selector_cast.
+ * common.opt: New -Wobjc2 option.
+ * c-common.h (diagnose_selector_cast): New decl.
+ * stub-objc.c (diagnose_selector_cast): New stub.
+ * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
+ objc's new abi.
+
+2006-02-14 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4441049
+ * c-common.h (objc_v2_component_ref_field_offset): New decl.
+ * stub-objc.c (objc_v2_component_ref_field_offset): New stub.
+ * expr.c (component_ref_field_offset): May get the bitfield
+ byte-offset from a variable for the new objc abi.
+ * expr.h (objc_v2_component_ref_field_offset): New decl.
+ * config/darwin.c (machopic_select_section): Explicitly use .data
+ section for global class/metaclass metadata.
+
+2006-02-08 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4437670 (new abi stuff)
+ * common.opt: New -fobjc-nilcheck option.
+ * config/darwin-protos.h: Stuff for new __OBJC2, __protocol section.
+ * config/darwin.c: Ditto.
+ * config/darwin.h: Ditto.
+
+2006-02-07 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4426814
+ * c-parse.in (cast_expr): Minor fix.
+
+2006-02-02 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4426814
+ * c-parse.in (cast_expr): generate objc_read_weak call on
+ each __weak object in the expession.
+ * c-typeck.c (build_modify_expr): Undo the call to objc_read_weak
+ on LHS expression.
+ * c-objc-common.c (c_objc_common_truthvalue_conversion): Generate
+ objc_read_weak call before generating tree for !exp, etc.
+ * c-common.h (objc_generate_weak_read, objc_remove_weak_read): New decl.
+ * stub-objc.c (objc_generate_weak_read, objc_remove_weak_read): New stubs.
+
+2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4386773
+ * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
+ objective-c keywords.
+ (objc_set_method_opt): New declaration.
+ * stub-objc.c (objc_set_method_opt): New stub.
+
+2006-01-26 Devang Patel <dpatel@apple.com>
+
+ Radar 4388369
+ * dbxout.c (dbxout_complete_type): Handle internally volatized
+ types for Objective-C EH mechanism.
+
+2006-01-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4391705
+ * config/darwin-protos.h
+ (objc_v2_selector_refs_section): New declaration.
+ * config/darwin.c: use section __OBJC2,__selector_refs for
+ @selector expressions in new-ABI and hybrid-ABI.
+ * config/darwin.h: Initialization of __OBJC2,__selector_refs
+ section and inclusion of hybrid abi for __OBJC2 sections
+ initializations.
+
+2006-01-18 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4294910
+ * c-parse.in: Add grammar supprt for the foreach initialization
+ part.
+ * c-gimplify.c (obj_reuse_bc_block): New function.
+ (gimplify_c_loop): Has a new argument to recgognize nested
+ do-while statement part of foreach-statement synthesis. Use
+ existing continue/break labels for this loop.
+ * c-common.h (DO_FOREACH): New field for a do-while statement.
+ (objc_finish_foreach_loop, objc_build_component_ref,
+ objc_build_foreach_components): New declarations.
+ * stub-objc.c: New stubs.
+
+2006-01-18 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4391705
+ * config/darwin-protos.h: New declarations for new sections.
+ * config/darwin.c: Generate new symbols in OBJC2 segment in
+ new sections __category_list, __class_refs, __nonlazy_class
+ and __nonlazy_catgry.
+ * config/darwin.h: Define and initialize the above new sections.
+
+2006-01-02 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4391705
+ * config/darwin.h: Change segment and section name of class meta
+ data.
+ (objc_section_init): Initialize OBJC2 sections for new abi only.
+
+2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4229905
+ * c-typeck.c (build_conditional_expr): Call objc_have_common_type when
+ looking for objective-c common pointer types.
+ * c-common.h objc_have_common_type): New declaration.
+ * stub-objc.c (objc_have_common_type): New stub.
+
+2005-12-06 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4360146
+ * c-common.h (objc_v2_build_ivar_ref): New declaration.
+ * stub-objc.c (objc_v2_build_ivar_ref): New stub.
+ * c-typeck.c (build_component_ref): Generate the new ivar reference
+ tree.
+
+2006-07-05 Hui-May Chang <hm.chang@apple.com>
+
+ * doc/extend.texi: Fixed the unmatched APPLE LOCAL marker introduced by
+ the previous checkin for radar 4395773.
+
+2006-06-26 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4395773
+ * doc/extend.texi: Document SSE2 built-in functions and other new functions.
+
+2006-06-26 Eric Christopher <echristo@apple.com>
+
+ Radar 4512244
+ * config/t-slibgcc-darwin (SHLIB_SUFFIX): Depend only on ppc64
+ for suffix.
+
+2006-06-14 Mike Stump <mrs@apple.com>
+
+ Radar 4586112
+ * configure.ac (HAVE_GAS_LITERAL16): Add.
+ * config/darwin.c (HAVE_GAS_LITERAL16): Default to 0.
+ * config/i386/t-darwin: Don't assume we can always build x86_64 multilib.
+
+2006-06-26 Eric Christopher <echristo@apple.com>
+
+ Radar 4601627
+ * config/t-slibgcc-darwin (SHLIB_MAPFILES): Revert previous patch.
+
+2006-06-26 Eric Christopher <echristo@apple.com>
+
+ Radar 4601584
+ * config.gcc: Revert part of previous patch.
+ * config/t-darwin: Ditto.
+
+2006-06-23 Eric Christopher <echristo@apple.com>
+
+ Radar 4476324
+ * config/i386/i386.c (standard_sse_mode_p): New.
+ (standard_sse_constant_p): Use.
+ * config/i386/predicates.md (vector_move_operand): Revert
+ patch for 4283414.
+ (nonimmediate_or_sse_const_operand): Define.
+ * config/i386/sse.md (*mov<mode>_internal): Use.
+ (*movv4sf_internal): Ditto.
+ (*movv2df_internal): Ditto.
+
+2006-06-23 Mike Stump <mrs@apple.com>
+
+ Radar 4591284
+ * config/i386/tmmintrin.h: Add __always_inline__ and __nodebug__.
+
+2006-06-22 Eric Christopher <echristo@apple.com>
+
+ Radar 4512244
+ * config.gcc (*-*-darwin*): Add crt3.o to extra_parts.
+ (powerpc-*-darwin*): Add ${extra_parts}.
+ * config/t-darwin (EXTRA_MULTILIB_PARTS): Remove.
+ * config/t-slibgcc-darwin: Rewrite libgcc_s.1.dylib handling.
+
+2006-06-22 Eric Christopher <echristo@apple.com>
+
+ Radar 4598165
+ * config/i386/i386.c (ix86_preferred_reload_class): Bring in
+ rest of patch for 3501055 from mainline.
+ * config/i386/i386.h (IS_STACK_MODE): Ditto.
+
+2006-06-22 Mike Stump <mrs@apple.com>
+
+ Radar 4535822
+ * c-common.c (iasm_stmt): Update for new assembler.
+ (iasm_print_operand): Likewise.
+ * config/asm.h: Likewise.
+ * config/i386/i386.c (iasm_x86_canonicalize_operands): Likewise.
+ * config/i386/i386.h (TARGET_IASM_OP_CONSTRAINT): Fix constraints
+ for lldt and ltr.
+
+2006-06-05 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4469713
+ * i386.c (ix86_init_mmx_sse_builtins)
+ The return type of builtin function, __builtin_ia32_vec_ext_v8hi,
+ should be an unsigned instead of a signed type.
+
+2006-06-05 Eric Christopher <echristo@apple.com>
+
+ Radar 4560266
+ * config/i386/darwin.h (OPTION_DEFAULT_SPECS): Remove port
+ specific version.
+
+2006-05-30 Eric Christopher <echristo@apple.com>
+
+ Radar 4555787
+ * config/darwin-protos.h (literal16_section): Prototype.
+ * config/darwin.h (EXTRA_SECTION): Define.
+ (EXTRA_SECTION_FUNCTIONS): Define.
+ * config/darwin.c (machopic_select_section): Use.
+ Conditionalize on TARGET_64BIT.
+ (machopic_select_rtx_section): Ditto.
+ (darwin_set_section_for_var_p): Ditto.
+
+2006-05-26 Paolo Bonzini <bonzini@gnu.org>
+ Dale Johannesen <dalej@apple.com>
+ Stuart Hastings <stuart@apple.com>
+
+ Fragment from this FSF trunk patch:
+ PR target/19653
+ * config/i386/i386.c (ix86_preferred_reload_class): Force
+ using SSE registers (and return NO_REGS for floating-point
+ constants) if math is done with SSE.
+
+2006-05-11 Stuart Hastings <stuart@apple.com>
+
+ Radar 4525731
+ * gcc/config/i386/i386.c (ix86_handle_cconv_attribute):
+ Diagnose force_align_arg_pointer versus regparm collisions.
+ (ix86_function_regparm): Reduce number of regparms available
+ when force_align_arg_pointer in use.
+
+2006-05-10 Eric Christopher <echristo@apple.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ Radar 4424835
+ * config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers.
+ (x86_64-*-*): Likewise.
+ * config/i386/i386.c (pta_flags): Add PTA_MNI.
+ (override_options): Check MNI.
+ (ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD,
+ IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD,
+ IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW,
+ IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB,
+ IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND,
+ IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW,
+ IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128,
+ IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128,
+ IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128,
+ IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128,
+ IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128,
+ IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128,
+ IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128,
+ IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and
+ IX86_BUILTIN_PABSD128.
+ (bdesc_2arg): Add MNI.
+ (bdesc_1arg): Likewise.
+ (ix86_init_mmx_sse_builtins): Support MNI.
+ (ix86_expand_builtin): Likewise.
+ * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise.
+ * config/i386/i386.md (UNSPEC_PSHUFB): New.
+ (UNSPEC_PSIGN): Likewise.
+ (UNSPEC_PALIGNR): Likewise.
+ Include mmx.md before sse.md.
+ * config/i386/i386.opt: Add -mmni.
+ * config/i386/sse.md (mni_phaddwv8hi3): New pattern for MNI.
+ (mni_phaddwv4hi3): Likewise.
+ (mni_phadddv4si3): Likewise.
+ (mni_phadddv2si3): Likewise.
+ (mni_phaddswv8hi3): Likewise.
+ (mni_phaddswv4hi3): Likewise.
+ (mni_phsubwv8hi3): Likewise.
+ (mni_phsubwv4hi3): Likewise.
+ (mni_phsubdv4si3): Likewise.
+ (mni_phsubdv2si3): Likewise.
+ (mni_phsubswv8hi3): Likewise.
+ (mni_phsubswv4hi3): Likewise.
+ (mni_pmaddubswv8hi3): Likewise.
+ (mni_pmaddubswv4hi3): Likewise.
+ (mni_pmulhrswv8hi3): Likewise.
+ (mni_pmulhrswv4hi3): Likewise.
+ (mni_pshufbv16qi3): Likewise.
+ (mni_pshufbv8qi3): Likewise.
+ (mni_psign<mode>3): Likewise.
+ (mni_psign<mode>3): Likewise.
+ (mni_palignrti): Likewise.
+ (mni_palignrdi): Likewise.
+ (mni_pabs<mode>2): Likewise.
+ (mni_pabs<mode>2): Likewise.
+ * config/i386/tmmintrin.h: New file.
+ * doc/extend.texi: Document MNI built-in functions.
+ * doc/invoke.texi: Document -mmni/-mno-mni switches.
+
+2006-05-10 Eric Christopher <echristo@apple.com>
+
+ Radar 4541111
+ * config/i386/i386.c (override_options): Disable
+ -fomit-frame-pointer.
+
+2005-05-06 Eric Christopher <echristo@apple.com>
+
+ Radar 4539437
+ * config/i386/i386.c (processor_alias_table): Remove
+ PTA_SSE3 for nocona.
+
+2006-05-05 Eric Christopher <echristo@apple.com>
+ Nate Begeman <nbegeman@apple.com>
+
+ Radar 4434601
+ Backport from mainline:
+ 2006-01-19 Jan Hubicka <jh@suse.cz>
+ H.J. Lu <hongjiu.lu@intel.com>
+ Evandro Menezes <evandro.menezes@amd.com>
+
+ * invoke.texi (generic): Document
+ (i686) Update.
+ * config.gcc: Make x86_64-* and i686-* default to generic tuning.
+ * i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC,
+ TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros.
+ (x86_use_incdec, x86_pad_returns): New variables
+ (TARGET_CPU_DEFAULT_generic): New constant
+ (TARGET_CPU_DEFAULT_NAMES): Add generic.
+ (enum processor_type): Add generic32 and generic64.
+ * i386.md (cpu attribute): Add generic32/generic64
+ (movhi splitter): Behave sanely when both partial_reg_dependency and
+ partial_reg_stall are set.
+ (K8 splitters): Enable for generic as well.
+ * predicates.md (incdec_operand): Use TARGET_INCDEC
+ (aligned_operand): Avoid memory mismatch stalls.
+ * athlon.md: Enable for generic64, new patterns for 128bit moves.
+ * ppro.md: Enable for generic32
+ * i386.c (generic64_cost, generic32_cost): New.
+ (m_GENERIC32, m_GENERIC64, m_GENERIC): New macros.
+ (x86_use_leave): Enable for generic64. (x86_use_sahf,
+ x86_ext_80387_constants): Enable for generic32. (x86_push_memory,
+ x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop,
+ x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
+ x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
+ x86_partial_reg_dependency, x86_memory_mismatch_stall,
+ x86_accumulate_outgoing_args, x86_prologue_using_move,
+ x86_epilogue_using_move, x86_arch_always_fancy_math_387,
+ x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule):
+ Enable for generic.
+ (x86_use_incdec, x86_pad_returns): New.
+ (override_options): Add generic32 and generic64, translate "generic"
+ to generic32/generic64 and "i686" to "generic32", refuse
+ "generic32"/"generic64" as arch target.
+ (ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon.
+ (ix86_reorg): Honor PAD_RETURNS.
+
+2006-05-02 Eric Christopher <echristo@apple.com>
+
+ Radar 4534752
+ * config/i386/i386.h (MACHOPIC_UNDEFINED_FUNCTION): Remove define.
+ * config/i386/i386.c (output_pic_addr_const): Bracket machopic routines
+ with TARGET_MACHO.
+ * config/darwin.h (MACHOPIC_INDIRECT): Undef before defining.
+ (MACHOPIC_PURE): Ditto.
+
+2006-05-02 Eric Christopher <echristo@apple.com>
+
+ Radar 4534752
+ * config/rs6000/rs6000.c (reset_optimization_options): Bracket by TARGET_MACHO.
+ * config/i386/i386.c (reset_optimization_options): Ditto.
+ (ix86_file_end): Ditto.
+ * config/i386/i386.h (MACHOPIC_INDIRECT): Define to 0.
+ (MACHOPIC_UNDEFINED_FUNCTION): Ditto.
+ (MACHOPIC_PURE): Ditto.
+
+2006-05-02 Eric Christopher <echristo@apple.com>
+
+ Radar 4533898
+ * global.c (flag_cw_asm_blocks): Change to
+ flag_iasm_blocks.
+ * config/i386/i386.h (IASM_VALID_PIC): Move...
+ * config/i386/darwin.h: ... here.
+
+2006-05-01 Eric Christopher <echristo@apple.com>
+
+ Radar 4533757
+ * global.c (flag_cw_asm_blocks): Declare.
+
+2006-04-10 Eric Christopher <echristo@apple.com>
+
+ Radar 4467352
+ * config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Disable
+ mdynamic-no-pic for 64-bit.
+
+2006-04-04 Eric Albert <ejalbert@apple.com>
+
+ Radar 4502551
+ * config/darwin.h (PREFERRED_DEBUGGING_TYPE): Default to stabs for all
+ configurations.
+
+2006-03-27 Eric Christopher <echristo@apple.com>
+
+ Radar 4446385
+ * config/darwin-driver.c (get_arch_name): Rewrite.
+
+2006-06-14 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4587142
+ * dwarf2out.c (dwarf_file_data): New.
+ (enum dw_val_class): Add dw_val_class_file.
+ (struct dw_val_struct): Add val_file.
+ (file_table): Change to a hash table.
+ (file_table_emitted): Delete.
+ (file_table_last_lookup_index): Delete.
+ (emitcount): Delete.
+ (last_emitted_file): New.
+ (lookup_filename): Change prototype to return a struct dwarf_file_data.
+ (init_file_table): Delete.
+ (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
+ (AT_addr): Add comment.
+ (add_AT_file): New.
+ (AT_file): New.
+ (get_AT_file): New.
+ (print_die): Handle dw_val_class_file.
+ (print_dwarf_line_table): Update for new file table structure.
+ (attr_checksum): Do checksum a filename.
+ (same_dw_val_p, same_attr_p): Do compare a filename.
+ (size_of_die): Handle dw_val_class_file.
+ (value_format): Likewise.
+ (output_die): Likewise. Also, call maybe_emit_file here.
+ (struct file_info): Constify filenames. Make file_idx a pointer
+ to a struct dwarf_file_data.
+ (struct dir_info): Constify directory names. Remove 'used' field.
+ (struct file_name_acquire_data): New.
+ (file_name_acquire): New.
+ (output_file_names): Modify to handle new file data structures.
+ (add_src_coords_attributes): Use add_AT_file.
+ (add_call_src_coords_attributes): Likewise.
+ (dwarf2out_imported_module_or_decl): Likewise.
+ (gen_subprogram_die): Modify for new file data structures.
+ (gen_variable_die): Likewise.
+ (file_table_eq): New.
+ (file_table_hash): New.
+ (file_table_last_lookup): New.
+ (lookup_filename): Rewrite to handle new file data structures.
+ (maybe_emit_file): Rewrite to handle new file data structures.
+ (dwarf2out_source_line): Always call lookup_filename and
+ maybe_emit_file.
+ (dwarf2out_init): Create file_table here.
+ (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
+ (file_table_relative_p): New.
+ (dwarf2out_finish): Change detection of relative filenames
+ to work with new file data structures.
+
+2006-06-05 Roger Sayle <roger@eyesopen.com>
+ Stuart Hastings <stuart@apple.com>
+
+ Radar 4561329
+ PR middle-end/26557
+ * stmt.c (emit_case_nodes): Handle the case where the index is a
+ CONST_INT, where the comparison mode is specified by the index type.
+
+2006-05-30 Mike Stump <mrs@apple.com>
+
+ Rarar 4527214
+ * c-common.c (iasm_stmt): Fix clobbers for mul/imul/div/idiv.
+
+2006-05-18 Mike Stump <mrs@apple.com>
+
+ Radar 4501833
+ * c-common.c (iasm_delete_blr): Add.
+ (iasm_saw_frfree_blr): Add.
+ (iasm_ensure_blr_last): Add.
+ (iasm_stmt): Add logic to ensure that blr follows frfree and that
+ blr is last. Manage line numbes better. Only allow fralloc and
+ frfree on ppc.
+ * c-parse.in (compstmt_nostart): Use iasm_end_block to end inline
+ assmebly blocks.
+ (iasm_compstmt): Likewise.
+ (iasm_compstmt_nostart): Likewise.
+ * config/asm.h (iasm_end_block): Add.
+ * function.c (assign_parm_setup_reg): Don't spill to memory for a
+ frameless asm function.
+
+2006-05-03 Mike Stump <mrs@apple.com>
+
+ Radar 4529651
+ * doc/invoke.texi (Optimize Options): Improve -fast documentation
+ a little.
+
+2006-05-01 Stuart Hastings <stuart@apple.com>
+
+ Radar 4222119
+ * gcc/doc/invoke.texi: Document -mlong-branch.
+
+2006-04-27 Eric Christopher <echristo@apple.com>
+
+ Radar 4454599
+ Radar 4481146
+ * stor-layout.c (update_alignment_for_field): Unconditionalize
+ ms_bitfield_layout_p code. Handle non-bitfield fields. Remove
+ extra alignment code.
+ (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize
+ ms_bitfield_layout_p code. Rewrite handling of structure fields.
+ Rewrite bitfield reversal handling.
+
+2006-04-27 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4314956
+ Revert 2006-04-26 patch.
+
+2006-04-27 Mike Stump <mrs@apple.com>
+
+ Radar 4529992
+ * c-common.c (pointer_int_sum): Only form ARRAY_REF for ARRAY_TYPEs.
+ (iasm_maybe_force_mem): Ensure that we only use DECL_HARD_REGISTER on
+ VAR_DECLs.
+ * c-typeck.c (iasm_c_build_component_ref): Move [eax].16 code up,
+ to avoid calling lookup_name on [eax].
+
+2006-04-26 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4491613
+ * loop.c (general_induction_var) : If an induction variable
+ may trap, it shouldn't be a general induction variable.
+
+2006-04-26 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4314956
+ Import from mainline:
+ 2005-08-31 Richard Henderson <rth@redhat.com>
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
+ fp return matching.
+
+2006-04-26 Mike Stump <mrs@apple.com>
+
+ Radar 4505697
+ * config/i386/i386.c (iasm_x86_canonicalize_operands): Fix movzx handling.
+
+2006-04-26 Mike Stump <mrs@apple.com>
+
+ Radar 4505741
+ * c-common.c (iasm_print_operand): Fix .machine all for ppc64.
+
+ (iasm_addr): Add.
+ (pointer_int_sum): Handle ptr+4 correctly.
+ (iasm_stmt): Set up the line number correctly for C.
+ (IASM_VALID_PIC): Add.
+ (iasm_type_for): Move to i386.h
+ (iasm_maybe_force_mem): Add.
+ (iasm_print_operand): Split code out to new functions.
+ Add warnings for non-pic code when in PIC mode.
+ Add ARRAY_REF handling.
+ * i386/i386-protos.h (iasm_raise_reg): Add
+ * i386/i386.c:
+ Rename x86_canonicalize_operands to iasm_x86_canonicalize_operands.
+ (iasm_type_for): Add.
+ (iasm_raise_reg): Add.
+ (iasm_default_conv): Add.
+ (iasm_is_offset): Imrove support for ADDR_EXPR.
+ (iasm_canonicalize_bracket_1): Handle constants better.
+ Ensure that stack based addresses occur as one argument to the asm.
+ Ensure that expressions form adderess exrepssions.
+ (iasm_indirect): Add.
+ (iasm_add): Add.
+ (iasm_canonicalize_bracket): Split out code.
+ Ensure that stack based addresses occur as one argument to the asm.
+ Ensure that expressions form adderess exrepssions.
+ (iasm_x86_canonicalize_operands): Handle ARRAY_REF.
+ (iasm_warn_extra_reg): Add.
+ (iasm_print_op): Don't indirect here.
+ Handle address constant memory expressions.
+ Add warnings for extra registers.
+ Handle ADDR_EXPR better.
+ * i386/i386.h (IASM_VALID_PIC): Add.
+
+ Rename cw_ to iasm_:
+ * c-common.c:
+ Rename flag_cw_asm_blocks to flag_iasm_blocks.
+ Rename cw_asm_states to iasm_states.
+ Rename cw_asm_state to iasm_state.
+ Rename cw_asm_in_decl to iasm_in_decl.
+ Rename inside_cw_asm_block to inside_iasm_block.
+ Rename cw_asm_at_bol to iasm_at_bol.
+ Rename cw_asm_in_operands to iasm_in_operands.
+ Rename cw_split_next to iasm_split_next.
+ Rename cw_asm_buffer to iasm_buffer.
+ Rename cw_asm_labels to iasm_labels.
+ Rename cw_asm_labels_uniq to iasm_labels_uniq.
+ Rename cw_asm_identifier to iasm_identifier.
+ Rename cw_memory_clobber to iasm_memory_clobber.
+ Rename get_cw_asm_label to iasm_get_label.
+ Rename cw_get_mode to iasm_get_mode.
+ Rename cw_ptr_conv to iasm_ptr_conv.
+ Rename cw_build_bracket to iasm_build_bracket.
+ Rename cw_asm_default_function_conversion to iasm_default_function_conversion.
+ Rename cw_is_pseudo to iasm_is_pseudo.
+ Rename cw_op_constraint to iasm_op_constraint.
+ Rename TARGET_CW_OP_CONSTRAINT to TARGET_IASM_OP_CONSTRAINT.
+ Rename cw_op_comp to iasm_op_comp.
+ Rename TARGET_CW_REORDER_ARG to TARGET_IASM_REORDER_ARG.
+ Rename CW_SYNTH_CONSTRAINTS to IASM_SYNTH_CONSTRAINTS.
+ Rename cw_constraint_for to iasm_constraint_for.
+ Rename cw_process_arg to iasm_process_arg.
+ Rename CW_CANONICALIZE_OPERANDS to IASM_CANONICALIZE_OPERANDS.
+ Rename CW_IS_PREFIX to IASM_IS_PREFIX.
+ Rename CW_PRINT_PREFIX to IASM_PRINT_PREFIX.
+ Rename cw_is_prefix to iasm_is_prefix.
+ Rename cw_num_constraints_1 to iasm_num_constraints_1.
+ Rename cw_num_constraints to iasm_num_constraints.
+ Rename cw_set_constraints_1 to iasm_set_constraints_1.
+ Rename cw_set_constraints to iasm_set_constraints.
+ Rename CW_MAX_CLOBBERS to IASM_MAX_CLOBBERS.
+ Rename cw_op_clobber to iasm_op_clobber.
+ Rename cw_op_clobber_comp to iasm_op_clobber_comp.
+ Rename TARGET_CW_EXTRA_CLOBBERS to TARGET_IASM_EXTRA_CLOBBERS.
+ Rename cw_extra_clobbers to iasm_extra_clobbers.
+ Rename cw_asm_stmt to iasm_stmt.
+ Rename cw_asm_field_offset to iasm_field_offset.
+ Rename cw_simple_expr to iasm_simple_expr.
+ Rename cw_asm_expr_val to iasm_expr_val.
+ Rename TARGET_CW_PRINT_OP to TARGET_IASM_PRINT_OP.
+ Rename CW_IMMED_PREFIX to IASM_IMMED_PREFIX.
+ Rename CW_OFFSET_PREFIX to IASM_OFFSET_PREFIX.
+ Rename CW_HIDE_REG to IASM_HIDE_REG.
+ Rename CW_SEE_IMMEDIATE to IASM_SEE_IMMEDIATE.
+ Rename CW_SEE_NO_IMMEDIATE to IASM_SEE_NO_IMMEDIATE.
+ Rename CW_FUNCTION_MODIFIER to IASM_FUNCTION_MODIFIER.
+ Rename cw_force_constraint to iasm_force_constraint.
+ Rename print_cw_asm_operand to iasm_print_operand.
+ Rename cw_asm_get_register_var to iasm_get_register_var.
+ Rename cw_asm_reg_name to iasm_reg_name.
+ Rename cw_asm_label to iasm_label.
+ Rename cw_get_identifier to iasm_get_identifier.
+ Rename clear_cw_asm_labels to iasm_clear_labels.
+ Rename cw_ha16 to iasm_ha16.
+ Rename cw_hi16 to iasm_hi16.
+ Rename cw_lo16 to iasm_lo16.
+ Rename cw_do_id to iasm_do_id.
+ Rename cw_asm_build_register_offset to iasm_build_register_offset.
+ Rename cw_asm_entry to iasm_entry.
+ * c-lex.c: Likewise
+ Rename cw_skip_to_eol to iasm_skip_to_eol.
+ Rename cw_asm_saved_token to iasm_saved_token.
+ Rename cw_insert_saved_token to iasm_insert_saved_token.
+ * c-parse.in: Likewise.
+ Rename CW_ASM_KEYWORD to IASM_ASM_KEYWORD.
+ Rename CW_ASM_BOL to IASM_BOL.
+ Rename CW_ASM_EOL to IASM_EOL.
+ Rename cw_asm_lineno to iasm_lineno.
+ Rename CW_SEE_OPCODE to IASM_SEE_OPCODE.
+ Rename c_parse_cw_maybe_prefix to c_parse_iasm_maybe_prefix.
+ Rename cw_save_location to iasm_save_location.
+ Rename cw_asm_stmt_nobol to iasm_stmt_nobol.
+ Rename cw_asm_stmt_list to iasm_stmt_list.
+ Rename cw_maybe_comment to iasm_maybe_comment.
+ Rename cw_identifier to iasm_identifier.
+ Rename cw_identifier1 to iasm_identifier1.
+ Rename cw_maybe_prefix to iasm_maybe_prefix.
+ Rename single_cw_asm_stmt to single_iasm_stmt.
+ Rename cw_asm_stmts to iasm_stmts.
+ Rename cw_asm_compstmt_start to iasm_compstmt_start.
+ Rename cw_asm_compstmt to iasm_compstmt.
+ Rename cw_asm_compstmt_nostart to iasm_compstmt_nostart.
+ Rename cw_asm_compstmt_contents_nonempty to iasm_compstmt_contents_nonempty.
+ Rename cw_asm_operands to iasm_operands.
+ Rename cw_nonnull_asm_operands to iasm_nonnull_operands.
+ Rename cw_asm_operand to iasm_operand.
+ Rename cw_asm_expr_no_commas to iasm_expr_no_commas.
+ Rename cw_asm_unary_expr to iasm_unary_expr.
+ Rename cw_asm_primary to iasm_primary.
+ Rename cw_asm_specbit to iasm_asm_specbit.
+ Rename cw_asm_typename_or_reserved to iasm_typename_or_reserved.
+ Rename cw_asm_c_build_component_ref to iasm_c_build_component_ref.
+ * config/asm.h: Likewise.
+ Rename cw_asm_none to iasm_none.
+ Rename cw_asm_decls to iasm_decls.
+ Rename cw_asm_asm to iasm_asm.
+ Rename CW_MAX_ARG to IASM_MAX_ARG.
+ Rename TARGET_CW_EXTRA_INFO to TARGET_IASM_EXTRA_INFO.
+ Rename cw_md_Extra_info to iasm_md_Extra_info.
+ Rename cw_md_extra_info to iasm_md_extra_info.
+ * config/darwin-protos.h: Likewise.
+ Rename CW_ASM_SPECIAL_LABEL to IASM_SPECIAL_LABEL.
+ * config/darwin.c: Likewise.
+ Rename darwin_cw_asm_special_label to darwin_iasm_special_label.
+ * i386/darwin.h: Likewise.
+ Rename CW_ASM_REGISTER_NAME to IASM_REGISTER_NAME.
+ * i386/i386-protos.h: Likewise.
+ * i386/i386.c: Likewise.
+ Rename cw_reg_comp to iasm_reg_comp.
+ Rename i386_cw_asm_register_name to i386_iasm_register_name.
+ Rename cw_x86_needs_swapping to iasm_x86_needs_swapping.
+ Rename x86_swap_operands to iasm_x86_swap_operands.
+ Rename cw_is_offset to iasm_is_offset.
+ Rename cw_combine_type to iasm_combine_type.
+ Rename cw_canonicalize_bracket_1 to iasm_canonicalize_bracket_1.
+ Rename cw_canonicalize_bracket to iasm_canonicalize_bracket.
+ Rename x86_canonicalize_operands to iasm_x86_canonicalize_operands.
+ Rename CW_PREFIX_SEP to IASM_PREFIX_SEP.
+ Rename x86_cw_print_prefix to iasm_x86_print_prefix.
+ Rename cw_print_op to iasm_print_op.
+ * i386/i386.h: Likewise.
+ * rs6000/rs6000-protos.h: Likewise.
+ * rs6000/rs6000.c: Likewise.
+ Rename rs6000_cw_asm_register_name to rs6000_iasm_register_name.
+ * rs6000/rs6000.h: Likewise.
+ * rs6000/rs6000.md: Likewise.
+ * function.c: Likewise.
+ * function.h: Likewise.
+ Rename cw_asm_function to iasm_asm_function.
+ Rename cw_asm_noreturn to iasm_noreturn.
+ Rename cw_asm_frame_size to iasm_frame_size.
+ * gimple-low.c: Likewise.
+ * global.c: Likewise.
+ * print-tree.c: Likewise.
+ * reload1.c: Likewise.
+ * scan-decls.c: Likewise.
+ * stmt.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree.h: Likewise.
+ Rename cw_asm_function_flag to iasm_asm_function_flag.
+ Rename cw_asm_noreturn_flag to iasm_noreturn_flag.
+
+2006-04-25 Devang Patel <dpatel@apple.com>
+
+ Radar 4505813
+ * config/i386/mmintrin.h (__m64): Update def.
+
+2005-04-21 Dale Johannesen <dalej@apple.com>
+
+ Radar 4506160
+ Bring in Joern Rennecke's fix from mainline:
+ PR middle-end/23135
+ * reload.c (find_reloads_subreg_address): Pass down TYPE
+ unchanged. Change all callers except find_reloads_toplev.
+
+2006-04-18 Stuart Hastings <stuart@apple.com>
+
+ Radar 4505290
+ * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Use
+ pmode for SYMBOL_REFs.
+
+2006-04-18 Dale Johannesen <dalej@apple.com>
+
+ Radar 4516827
+ * tree-ssa-loop-ivopts.c (find_interesting_uses_address):
+ Apply Zdenek's fix from mainline (PR 26643).
+
+2006-04-18 Stuart Hastings <stuart@apple.com>
+
+ Radar 4505290
+ * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
+ * config/t-darwin (crt3.o): Use it.
+ * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
+ call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
+ call_value_nonlocal_sysv, sibcall_nonlocal_sysv,
+ sibcall_value_nonlocal_sysv): Use the P macro for 32/64 support.
+
+2006-04-18 Devang Patel <dpatel@apple.com>
+
+ Radar 4475058
+ * tree-ssa-forwprop.c (all_uses_are_replacable): Processing of one
+ worklist stmt may remove casts from another worklist item.
+
+2006-04-17 Devang Patel <dpatel@apple.com>
+
+ Radar 4499790
+ * c-lex.c (lex_string): Enable pascal strings for wchars.
+
+2006-04-12 Mike Stump <mrs@apple.com>
+
+ Radar 4477426 4466768 4498501
+ * c-common.c (cw_is_pseudo): Add.
+ (cw_asm_stmt): Handle _emit, opword and .machine better.
+ (print_cw_asm_operand): Handle .machine better.
+ * config/asm.h (struct cw_md_Extra_info, no_label_map): Add
+ (cw_is_pseudo): Add.
+ * i386/i386.c (cw_x86_needs_swapping): Handle pseduo instructions better.
+ (x86_canonicalize_operands): Likewise.
+ * i386/i386.h (TARGET_CW_EXTRA_INFO): Add.
+ (CW_IMMED_PREFIX): Handle pseduo instructions better.
+ (TARGET_CW_OP_CONSTRAINT): Add missing cmp.*{pd,ps,sd,ss} instructions.
+
+2006-04-06 Stuart Hastings <stuart@apple.com>
+
+ Radar 4499627
+ * gcc/config/i386/i386.md (gen_fix_trunc<mode>_i386_fisttp):
+ Remove 4209085 peephole.
+
+2006-03-30 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4493694
+ * c-opts.c (c_common_handle_option): Ignore -fsave-repository
+ when not using STABS.
+
+2006-03-28 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4321213
+ * doc/include/sourcecode.texi (Source Code): Rewrite for Subversion.
+
+2006-03-28 Stuart Hastings <stuart@apple.com>
+
+ * gcc/config/i386/i386.c (preferred_stack_boundary): Add APPLE
+ LOCAL mainline comments. (ix86_function_regparm): Move APPLE
+ LOCAL comments.
+
+2006-03-24 Stuart Hastings <stuart@apple.com>
+
+ Radar 4443946
+ * gcc/global.c (global_alloc): Allow -fasm-blocks to clobber
+ the frame pointer.
+
+2006-03-24 Stuart Hastings <stuart@apple.com>
+
+ Radar 4474259
+ * gcc/config/i386/i386.c (cw_reg_comp): Use strcasecmp.
+ (x86_canonicalize_operands): Exception for movd.
+
+2006-03-22 Eric Christopher <echristo@apple.com>
+ Eric Albert <ejalbert@apple.com>
+
+ Radar 4485288
+ * config/i386/darwin.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Emit a
+ @GOTPCREL expression for x86_64.
+
+2006-03-22 Eric Christopher <echristo@apple.com>
+ Devang Patel <dpatel@apple.com>
+
+ * config/darwin-driver.c (get_arch_name): If arch exists in
+ table do not call NXGetLocalArchInfo().
+
+2006-03-19 Eric Christopher <echristo@apple.com>
+ Eric Albert <ejalbert@apple.com>
+
+ * config/i386/darwin.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Copy from
+ config/darwin.h and disable for x86_64.
+ * config/rs6000/darwin.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Copy from
+ config/darwin.h.
+ * config/darwin.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Remove.
+
+2006-03-19 Eric Albert <ejalbert@apple.com>
+
+ * config/i386/darwin.h (FUNCTION_PROFILER): Disable stub generation
+ for 64-bit.
+
+2006-03-12 Eric Christopher <echristo@apple.com>
+
+ * config.gcc: Remove x86_64 specific changes.
+ * config/i386/darwin32.h: Remove.
+ * config/i386/darwin64.h: Ditto.
+ * config/i386/t-darwin32: Ditto.
+ * config/i386/t-darwin64: Ditto.
+ * config/i386/t-darwin: Add m64 multilib.
+ * config/i386/darwin.h: Revert previous x86_64 specific changes.
+ (TARGET_64BIT): Define.
+ (PTRDIFF_TYPE): Ditto.
+ (MAX_BITS_PER_WORD): Ditto.
+ (TARGET_OS_CPP_BUILTINS): Add 64-bit support.
+ (ASM_SPEC): Ditto.
+ (SUBTARGET_EXTRA_SPECS): Ditto.
+ (ASM_QUAD): Define.
+ * config/i386/i386.c (processor_alias_table): Add 64bit to possible
+ pentium-m and prescott chips.
+ * config/darwin-driver.c (arch_config_guess_map): Move x86_64 to i686
+ processor.
+
+2006-03-03 Eric Christopher <echristo@apple.com>
+
+ * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION): Fix typo.
+ * config/i386/darwin64.h (SIZE_TYPE): Redefine.
+ (PTRDIFF_TYPE): Ditto.
+ (WCHAR_TYPE): Ditto.
+ (WCHAR_TYPE_SIZE): Ditto.
+ * config/i386/i386.c (override_options): Clean up flag_pic.
+ (ix86_function_ok_for_sibcall): Fix conditional for TARGET_MACHO.
+ (ix86_expand_move): Ditto.
+
+2006-03-22 Eric Christopher <echristo@apple.com>
+
+ Radar 4473966
+ * config/darwin-driver.c (fnasm_seen): Remove.
+ (do_nasm): Ditto.
+ (main): Remove check for fnasm. Remove call.
+
+2006-03-22 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4484188
+ * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o.
+ * config/darwin-crt3.c: Rewrite entire file.
+
+2006-03-15 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 3992198
+ * config/i386/darwin.h (C_COMMON_OVERRIDE_OPTIONS): New.
+ * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Call
+ SUBTARGET_C_COMMON_OVERRIDE_OPTIONS.
+ * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): NEw.
+ * config/darwin-crt3.c: Be empty if __PIC__ is not defined.
+
+2006-03-15 Devang Patel <dpatel@apple.com>
+
+ Radar 4479522
+ * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Do not
+ enable Altivec by default when deployment target is Mac OSX 10.5
+ or higher.
+
+2006-03-13 Mike Stump <mrs@apple.com>
+
+ Radar 4230099
+ * c.opt (fvisibility-ms-compat): Add.
+ * doc/invoke.texi (-fvisibility-ms-compat): Add.
+
+2006-03-13 Stuart Hastings <stuart@apple.com>
+
+ Radar 4474655
+ * gcc/config/i386/i386.c (override_options): Remove
+ APPLE LOCAL for ix86_preferred_stack_boundary.
+
+2006-03-07 Stuart Hastings <stuart@apple.com>
+
+ Radar 4457939
+ * gcc/config/i386/i386.c (ix86_darwin_init_expanders): New.
+ * gcc/config/i386/darwin.h (ix86_darwin_init_expanders): Declare.
+ (INIT_EXPANDERS): Define.
+
+2006-03-07 Mike Stump <mrs@apple.com>
+
+ Radar 4408780
+ * c-common.c (cw_type_for): Add support for r*, x* and m* registers.
+ * config/i386/i386.h (TARGET_CW_OP_CONSTRAINT): Add or fix up
+ addps, addsd, addss, addsubpd, addsubps, andnpd, andnps, andpd,
+ andps, comisd, comiss, cvtdq2pd, cvtdq2ps, cvtpd2dq, cvtpd2pi,
+ cvtpd2ps, cvtpi2pd, cvtpi2ps, cvtps2dq, cvtps2pd, cvtps2pi,
+ cvtsd2ss, cvtsi2sd, cvtsi2ss, cvtss2sd, cvttpd2dq, cvttpd2pi,
+ cvttps2dq, cvttps2pi, divpd, divps, divsd, divss, fidivl, fidivrl,
+ paddq, pextrw, pinsrw, psubq, psubsb, psubsw, psubw, shld and
+ shrd.
+
+2006-03-03 Stuart Hastings <stuart@apple.com>
+
+ * Radar 4425360
+ * gcc/tree-ssa-dse.c (dse_optimize_stmt): Update from FSF trunk (see below).
+
+2005-12-16 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dse.c (dse_optimize_stmt): Correctly handle PHI nodes which
+ represent a use and definition of the same SSA_NAME.
+
+2006-02-28 Stuart Hastings <stuart@apple.com>
+
+ * gcc/function.c (APPLE LOCAL) Fix.
+ * gcc/config/i386/darwin.h (BASIC_STACK_BOUNDARY): Delete.
+ * gcc/config/i386/i386.c (BASIC_STACK_BOUNDARY): Delete.
+ (APPLE LOCAL) Fix.
+
+2006-02-28 Devang Patel <dpatel@apple.com>
+ Dorit Nuzman <dorit@apple.com>
+
+ Radar 4375453
+ * targhooks.h (vector_alignment_reachable): New.
+ * targhooks.c (default_vector_alignment_reachable): New.
+ * target.h (gcc_target): Add vector_alignment_reachable.
+ * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New.
+ * tree-vect-analyze.c (vect_enhance_data_refs_alignment): Avoid
+ peeling when natural alignment is not reachable due to known
+ misalignment. Use target hook to check unknown alignment.
+ * config/rs6000.c (TARGET_VECTOR_ALIGNMENT_REACHABLE,
+ rs6000_vector_alignment_reachable): New.
+
+2006-02-27 Stuart Hastings <stuart@apple.com>
+
+ Radar 4356747
+ (marked APPLE LOCAL "4356747 stack realign")
+ * gcc/config/i386/i386.c
+ (ix86_force_align_arg_pointer_string): Tweak decl.
+
+2006-02-27 Stuart Hastings <stuart@apple.com>
+
+ Radar 4356747
+ (marked APPLE LOCAL "4356747 stack realign")
+ * gcc/rtl.h (gen_tmp_stack_mem): Declare.
+ Fix up previous ChangeLog entry.
+
+2006-02-27 Stuart Hastings <stuart@apple.com>
+
+ Radar 4356747
+ (marked APPLE LOCAL "4356747 stack realign")
+ * doc/extend.texi (force_align_arg_pointer): Document.
+ * doc/invoke.texi (-mstackrealign): Document.
+ * config/i386/i386.h (TARGET_OPTIONS): Add -mstackrealgin.
+ * config/i386/i386.c (ix86_force_align_arg_pointer): New.
+ (ix86_force_align_arg_pointer_string): New.
+ (ix86_attribute_table): Add "force_align_arg_pointer" attribute.
+ (ix86_function_regparm): Compensate for new attribute.
+ (ix86_internal_arg_pointer): Check for new attribute.
+
+2005-11-02 Richard Henderson <rth@redhat.com>
+
+ PR target/9350
+ PR target/24374
+ * dwarf2out.c (dwarf2out_reg_save_reg): New.
+ (dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec.
+ * function.c (assign_parms): Use calls.internal_arg_pointer.
+ (expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN
+ code.
+ * target-def.h (TARGET_INTERNAL_ARG_POINTER): New.
+ (TARGET_CALLS): Add it.
+ * target.h (struct gcc_target): Add calls.internal_arg_pointer.
+ * targhooks.c (default_internal_arg_pointer): New.
+ * targhooks.h (default_internal_arg_pointer): Declare.
+ * tree.h (dwarf2out_reg_save_reg): Declare.
+ * doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove.
+ * config/i386/i386.c (dbx_register_map): Add return column.
+ (dbx64_register_map, svr4_dbx_register_map): Likewise.
+ (TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New.
+ (TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New.
+ (ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer.
+ (ix86_save_reg): Save force_align_arg_pointer.
+ (ix86_emit_save_regs): Make regno unsigned.
+ (ix86_emit_save_regs_using_mov): Likewise.
+ (ix86_expand_prologue): Handle force_align_arg_pointer.
+ (ix86_expand_epilogue): Likewise.
+ * config/i386/i386.h: (dbx_register_map): Update.
+ (dbx64_register_map, svr4_dbx_register_map): Update.
+ (struct machine_function): Add force_align_arg_pointer.
+ * config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New.
+ (UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber.
+ (TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P.
+
+2006-02-27 Stuart Hastings <stuart@apple.com>
+
+ Radar 4448096
+ * gcc/config/i386/i386.md (fixuns_truncdfsi2,
+ fixuns_truncsfsi2, floatunsdidf2): Disable for 4-byte aligned stack.
+ * gcc/config/i386/i386.c (override_options): Set 4-byte
+ aligned stack for -fapple-kext.
+ (ix86_expand_convert_DF2SI_sse, ix86_expand_convert_SF2SI_sse,
+ ix86_expand_convert_DI2DF_sse): assert a 16-byte aligned stack.
+ * gcc/doc/invoke.texi (-fapple-kext): Document new
+ -fapple-kext behavior.
+
+2006-02-24 Mike Stump <mrs@apple.com>
+
+ Radar 4456673
+ * c-common.c (print_cw_asm_operand): Revert change from
+ Radar 4399388 as it breaks C++ ppc.
+
+2006-02-24 Mike Stump <mrs@apple.com>
+
+ Radar 4298040
+ * config/i386/i386.h (TARGET_CW_OP_CONSTRAINT): Improve fdivr,
+ fiadd, ficom, ficomp, fidiv, fidivr fild, fimul, fist, fistp,
+ fisttp, fisub, fisubr, fmul, idiv, inc, lds, les, lfs, lgs, lss.
+ Remove fildl, fildll, fistpll, fisttpll.
+ * config/i386/i386.c (x86_canonicalize_operands): Add DImode
+ support. Allow mov to be used on floats.
+ * c-common.c (m1, m2, m4, m2m4): Remove.
+ (m64, m16m32, m16m32m64, r16r32, r16r32r64): Add.
+ (rm64, rm8rm16rm32rm64): Add.
+ (print_cw_asm_operand, case INDIRECT_REF): Handle all
+ INDIRECT_REFs uniformly.
+
+2006-02-23 Eric Christopher <echristo@apple.com>
+
+ Radar 4081414
+ * global.c (local_reg_weight): Make HOST_WIDE_INT.
+ (global_alloc): Remove casts to double for local_reg_weight.
+ (find_reg): Use integer temporary for weight computation.
+
+2006-02-21 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4444941
+ * dwarf2out.c (gen_subprogram_die): Add DW_AT_MIPS_linkage_name
+ when it might not have been added previously.
+
+2006-02-16 Mike Stump <mrs@apple.com>
+
+ Radar 4419735
+ * c-common.c (cw_build_bracket): Add support for [word ptr esi].
+ (cw_ptr_conv): Likewise.
+ * config/i386/i386.c (cw_canonicalize_bracket): Likewise.
+ (cw_canonicalize_bracket_1): Likewise.
+ (cw_combine_type): Add.
+
+ (x86_canonicalize_operands): Don't add a modifier for
+ fstcw/fnstcw.
+
+2006-02-14 Eric Christopher <echristo@apple.com>
+
+ Radar 4331439
+ * config/rs6000/rs6000.c (rs6000_handle_longcall_attribute):
+ Disable for 64-bit Mach-O.
+ * config/rs6000/darwin.h (SUBTARGET_OPTIONS): Disable longcall
+ only for Mach-O.
+
+2006-02-14 Mike Stump <mrs@apple.com>
+
+ Radar 4443942
+ * config/i386/i386.c (x86_canonicalize_operands): Don't add a
+ modifier for movq/movntq.
+
+2006-02-14 Mike Stump <mrs@apple.com>
+
+ Radar 4415216
+ * config/i386/i386.c (additional_names): Add.
+ (cw_reg_comp): Add.
+ (i386_cw_asm_register_name): Add support for upper case register
+ names.
+
+2006-02-14 Josh Conner <jconner@apple.com>
+
+ Radar 4373419
+ PR target/25376
+ * varasm.c (function_section): Don't call select_section if a
+ section name is present.
+
+2006-02-13 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4408439
+ * opts.c (set_debug_level): DWARF is now best for GDB.
+
+2006-02-10 Dale Johannesen <dalej@apple.com>
+
+ Radar 4420531
+ * doc/invoke.texi: Warn that -ftree-loop-linear is buggy.
+
+2006-02-10 Dale Johannesen <dalej@apple.com>
+
+ Radar 4430139 4431497
+ * tree.h: Remove reversed_flag.
+ (record_layout_info_s): Add among_reversed_bitfields,
+ reversed_bitfield_type_size, reversed_bitfield_bitpos.
+ * stor-layout.c (place_field): Rewrite
+ reversed-bitfield logic to use them.
+
+2006-02-09 Devang Patel <dpatel@apple.com>
+
+ Radar 4435472
+ * config/darwin-driver.c (main.c): Check --save-temps.
+
+2006-02-09 Mike Stump <mrs@apple.com>
+
+ Radar 4399388
+ * config/i386/i386.c (cw_canonicalize_bracket_1): Add.
+ (cw_canonicalize_bracket): Improve.
+ (cw_is_offset): Add NEGATE_EXPR support.
+ (cw_print_op): Improve BRACKET_EXPR handling.
+ * c-common.c (print_cw_asm_operand): Add parens around
+ NEGATE_EXPR.
+
+2006-02-08 Stuart Hastings <stuart@apple.com>
+
+ Radar 4176531 (revised version of 27jan06 patch)
+ * config/i386/i386.md (fixuns_trunc<mode>si2,
+ fixuns_truncdfhi2, fixuns_truncsfhi2): New.
+ (floatunsdidf2): Allow for 32-bit when optimize_size is off.
+ * config/i386/i386-protos.h
+ (ix86_expand_convert_DF2SI_sse, ix86_expand_convert_SF2SI_sse,
+ ix86_expand_convert_DI2DF_sse): New.
+ * config/i386/i386.c (ix86_expand_vector_move2,
+ gen_2_4_rtvec, ix86_expand_convert_DF2SI_sse,
+ ix86_expand_convert_SF2SI_sse, ix86_expand_convert_DI2DF_sse): New.
+ (x86_emit_floatuns): Call ix86_expand_convert_DI2DF_sse.
+
+2006-02-08 Mike Stump <mrs@apple.com>
+
+ Radar 4407059
+ * c-lex.c (c_lex_with_flags): Only recognize "offset" when doing
+ x86 assembly.
+
+2006-02-03 Mike Stump <mrs@apple.com>
+
+ Radar 4432782
+ * config/i386/i386.c (x86_canonicalize_operands): A movz with 2
+ operands of the same size is converted to a normal mov.
+
+2006-02-02 Mike Stump <mrs@apple.com>
+
+ Radar 4433955
+ * c-common.c (cw_asm_get_register_var): Remove static.
+ (pointer_int_sum): Build up ARRAY_REFs when possible.
+ * config/i386/i386.c (cw_canonicalize_bracket): Let forms with
+ pointer types through to optimizer and print_operand.
+ (cw_print_op): Likewise.
+ * config/asm.h (cw_asm_get_register_var): Add.
+ * c-common.c (pointer_int_sum): Strip NOPs for C++.
+
+2006-02-01 Stuart Hastings <stuart@apple.com>
+
+ Radar 4429317
+ (SWB regressions; back out patch for Radar 4176531.)
+ * config/i386/i386.md (fixuns_trunc<mode>si2,
+ fixuns_truncdfhi2, fixuns_truncsfhi2): Remove.
+ (floatunsdidf2): Restore to previous.
+ * config/i386/i386-protos.h
+ (ix86_expand_convert_DF2SI_sse, ix86_expand_convert_SF2SI_sse,
+ ix86_expand_convert_DI2DF_sse): Remove.
+ * config/i386/i386.c (ix86_expand_vector_move2,
+ gen_2_4_rtvec, ix86_expand_convert_DF2SI_sse,
+ ix86_expand_convert_SF2SI_sse, ix86_expand_convert_DI2DF_sse): Remove.
+ (x86_emit_floatuns): Remove call to ix86_expand_convert_DI2DF_sse.
+
+2006-02-01 Devang Patel <dpatel@apple.com>
+
+ Radar 4208007
+ * tree-vectorizer.c (vect_print_dump_info): Add vect_dump check.
+
+2006-01-31 Devang Patel <dpatel@apple.com>
+
+ Radar 4382844
+ * tree-data-ref.c (analyze_array, init_data_ref,
+ find_data_references_in_loop): Set DR_TYPE.
+ * tree-data-ref.h (data_ref_type): New.
+ (struct data_reference): New member, data reference type.
+ (DR_TYPE): New.
+ * tree-vect-analyze.c (record_ptr_differ_p,
+ vect_base_object_differ_p): New.
+ (vect_base_addr_differ_p): Check base objects.
+
+2006-01-30 Stuart Hastings <stuart@apple.com>
+
+ Radar 4176531
+ * config/i386/i386.c (ix86_expand_convert_DF2SI_sse):
+ Fixes for -Werror.
+
+2006-01-28 Dale Johannesen <dalej@apple.com>
+
+ Radar 4420068
+ * stor-layout.c (place_field): don't adjust
+ rli->bitpos and rli->offset after a non-bitfield
+ whose type is zero-sized.
+
+2006-01-27 Stuart Hastings <stuart@apple.com>
+
+ Radar 4176531
+ * config/i386/i386.md (fixuns_trunc<mode>si2,
+ fixuns_truncdfhi2, fixuns_truncsfhi2): New.
+ (floatunsdidf2): Allow for 32-bit when optimize_size is off.
+ * config/i386/i386-protos.h
+ (ix86_expand_convert_DF2SI_sse, ix86_expand_convert_SF2SI_sse,
+ ix86_expand_convert_DI2DF_sse): New.
+ * config/i386/i386.c (ix86_expand_vector_move2,
+ gen_2_4_rtvec, ix86_expand_convert_DF2SI_sse,
+ ix86_expand_convert_SF2SI_sse, ix86_expand_convert_DI2DF_sse): New.
+ (x86_emit_floatuns): Call ix86_expand_convert_DI2DF_sse.
+
+2006-01-23 Devang Patel <dpatel@apple.com>
+
+ Radar 4334498
+ * dbxout.c (dbxout_init): Queue void type.
+
+2006-01-23 Dale Johannesen <dalej@apple.com>
+
+ Radar 4390273
+ * cfgloopmanip.c (create_loop_notes): Handle case
+ where we move a block outside the loop into the loop,
+ but the preceding block (the latch) was not moved.
+
+2006-01-20 Mike Stump <mrs@apple.com>
+
+ Radar 4381918
+ * c-decl.c (start_function): Avoid warnings about lack of return
+ in asm functions.
+ * config/i386/i386.c (ix86_save_reg): Don't save any registers for
+ asm functions.
+ (ix86_expand_prologue): Don't adjust the stack for asm functions.
+ (ix86_expand_epilogue): Don't generate most of the epilogue for an
+ asm function, but do generate a ret.
+ * function.c (assign_parms): Don't avoid doing work for asm
+ functions.
+ (expand_function_start): We don't need DECL_RTL for asm functions.
+ (expand_function_end): Use a naked return for asm functions.
+ (expand_function_end):
+ * gimple-low.c (lower_function_body): Don't generate a return; for
+ asm functions.
+ * tree-inline.c (inline_forbidden_p): Don't inline asm functions on ppc.
+
+2006-01-18 Stuart Hastings <stuart@apple.com>
+
+ Radar 4405429
+ * global.c (find_tied_stack_pseudo): Insist on a valid
+ memory address (no pseudos).
+
+2006-01-17 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4383509
+ * dwarf2out.c (debug_frame_section): New.
+ (output_call_frame_info): Use debug_frame_section. Pass it to
+ dw2_asm_output_offset.
+ (output_die): Pass appropriate section to dw2_asm_output_offset.
+ (output_compilation_unit_header): Likewise.
+ (output_pubnames): Likewise.
+ (output_aranges): Likewise.
+ * dwarf2asm.h (dw2_asm_output_offset): Add section parameter.
+ * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter.
+ Pass to ASM_OUTPUT_DWARF_OFFSET.
+ * doc/tm.texi (SDB and DWARF): Add extra parameter to
+ ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables.
+
+2006-01-13 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4386531
+ * stab.def (N_OSO): New.
+ * dbxout.c (dbxout_init): Output N_OSO stab always.
+
+2006-01-13 Stuart Hastings <stuart@apple.com>
+
+ Radar 4386991
+ * cp/typeck2.c (split_nonconstant_init): Remove APPLE LOCAL 4285232.
+
+2006-01-13 Dale Johannesen <dalej@apple.com>
+
+ Radar 4401223 4401224
+ * tree.h (record_layout_info_s): Add bitfield_seen.
+ * stor-layout.c (start_record_layout): Initialize it.
+ (place_field): When reversing bitfields: consider
+ rli->offset when computing current alignment;
+ maintain rli->bitfield_seen; adjust rli->bitpos and
+ rli_offset after a non-bitfield, but not if we saw
+ a bitfield earlier.
+
+2006-01-03 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4392520
+ * config/darwin.h (FRAME_BEGIN_LABEL): Use Lname if not for EH.
+
+2005-12-22 Dale Johannesen <dalej@apple.com>
+
+ Radar 4387676 4388773
+ * tree.h (TREE_FIELDS_REVERSED): Remove.
+ * varasm.c (output_constructor): Remove reference to it.
+ * stor-layout.c (place_field): Ditto.
+
+2005-12-22 Stuart Hastings <stuart@apple.com>
+
+ * config/darwin.c (machopic_force_indirect_call_target):
+ Remove extra APPLE LOCAL marker.
+ * config/rs6000/rs6000.c (output_call): Remove blank line.
+
+2005-12-21 Stuart Hastings <stuart@apple.com>
+
+ Radar 4380289, 4299630
+ * config/rs6000/rs6000.c (add_compiler_branch_island):
+ Remove one parameter. (rs6000_output_mi_thunk): Update call
+ to add_compiler_branch_island. (macho_branch_islands):
+ Rewrite. (output_call): Rewrite.
+ * config/darwin-protos.h
+ (machopic_force_indirect_call_target): New.
+ * config/darwin.c (machopic_force_stub): New.
+ (machopic_force_indirect_call_target): Use it.
+ (machopic_indirect_call_target): Ditto.
+
+2005-12-20 Dale Johannesen <dalej@apple.com>
+
+ Radar 4385068
+ * global.c (expand_preferences): Reduce aggressiveness
+ of previous preference enhancement on x86, and disable
+ altogether on ppc.
+
+2005-12-15 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4370117
+ * config/darwin.h (DEBUG_FRAME_SECTION): Mark as 'regular,debug';
+ move to __DWARF segment.
+ (DEBUG_INFO_SECTION): Move to __DWARF segment.
+ (DEBUG_ABBREV_SECTION): Move to __DWARF segment.
+ (DEBUG_ARANGES_SECTION): Move to __DWARF segment.
+ (DEBUG_MACINFO_SECTION): Move to __DWARF segment.
+ (DEBUG_LINE_SECTION): Move to __DWARF segment.
+ (DEBUG_LOC_SECTION): Move to __DWARF segment.
+ (DEBUG_PUBNAMES_SECTION): Move to __DWARF segment.
+ (DEBUG_STR_SECTION): Move to __DWARF segment.
+ (DEBUG_RANGES_SECTION): Move to __DWARF segment.
+ * config/darwin.c (darwin_emit_unwind_label): Don't emit global
+ symbols in debug sections.
+
+2005-12-14 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4278774
+ * c-common.def: Add new expression code AT_ENCODE_EXPR.
+
+2005-12-14 Eric Christopher <echristo@apple.com>
+
+ Radar 4363479
+ * tree-ssa-forwprop.c (all_uses_are_replacable): Fold replaced
+ statements.
+
+2005-12-14 Dale Johannesen <dalej@apple.com>
+
+ Radar 4271691 (partial)
+ * global.c (expand_preferences): Enhance pseudo
+ preferences for vectors.
+ * reload1.c (reload): Make sure reused stack slots
+ are expanded correctly.
+
+2005-12-13 Mike Stump <mrs@apple.com>
+
+ * Revert 2005-12-07 Devang Patel <dpatel@apple.com> Radar 4137741
+
+2005-12-13 Stuart Hastings <stuart@apple.com>
+
+ * config/rs6000/rs6000.c (macho_branch_islands): Add APPLE LOCAL.
+
+2005-12-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4373486
+
+ * config/darwin.h (objc_section_init): Remove initialization of
+ C* sections.
+
+2005-12-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4261575
+
+ * config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Undid the setting for
+ darwin_constant_cfstrings. Tests need be modified instead.
+
+2005-12-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4261575
+
+ * config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Set default value
+ for darwin_constant_cfstrings
+
+2005-12-09 Mike Stump <mrs@apple.com>
+
+ Radar 4371551
+ * c-common.c (print_cw_asm_operand): Handle complex operands better.
+ (cw_simple_expr): New.
+ * c-typeck.c (build_array_ref): Also handle exprs with no type.
+ * config/i386/i386.c (cw_canonicalize_bracket): Add support for
+ more complex offsets.
+
+2005-12-09 Zdenek Dvorak <rakdver@gcc.gnu.org>
+ Dale Johannesen <dalej@apple.com>
+
+ Radar 3791237
+ * toplev.c (process_options): Make -funroll-loops
+ turn on -fweb.
+ * doc/invoke.texi (-fsplit-ivs-in-unroller, -fweb,
+ -funroll-loops): Document this behavior.
+
+2005-12-09 Zdenek Dvorak <rakdver@gcc.gnu.org>
+
+ Radar 4233898
+ * tree-chrec.c (chrec_fold_multiply_poly_poly): Associate chrecs
+ correctly.
+
+2005-12-09 Stuart Hastings <stuart@apple.com>
+
+ Radar 4299630
+ * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Fixed APPLE LOCAL.
+
+2005-12-08 Dale Johannesen <dalej@apple.com>
+
+ Radar 4285232
+ * cp/typeck2.c (split_nonconstant_init): Don't
+ zero out object which is fully initialized.
+
+2005-12-08 Devang Patel <dpatel@apple.com>
+ Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4298879
+ * config/rs6000/darwin.h (PROCESSOR_DEFAULT): Tune for G5 instructions
+ by default when not optimizing for size.
+ (SUBTARGET_OVERRIDE_OPTIONS): Enable Altivec by default when deployment
+ target is Mac OSX 10.5 or higher.
+
+2005-12-07 Devang Patel <dpatel@apple.com>
+
+ Radar 4333194
+ * tree-vect-analyze.c (vect_compute_data_ref_alignment): Check
+ misalignment where natural alignment is not reachable using loop
+ peeling.
+
+2005-12-07 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4370117
+ * config/darwin.h (DEBUG_INFO_SECTION): Mark as 'debug'.
+ (DEBUG_ABBREV_SECTION): Mark as 'debug'.
+ (DEBUG_ARANGES_SECTION): Mark as 'debug'.
+ (DEBUG_MACINFO_SECTION): Mark as 'debug'.
+ (DEBUG_LINE_SECTION): Mark as 'debug'.
+ (DEBUG_LOC_SECTION): Mark as 'debug'.
+ (DEBUG_PUBNAMES_SECTION): Mark as 'debug'.
+ (DEBUG_STR_SECTION): Mark as 'debug'.
+ (DEBUG_RANGES_SECTION): Mark as 'debug'.
+
+2005-12-07 Devang Patel <dpatel@apple.com>
+ Ziemowit Laski <zlaski@apple.com>
+
+ Radar 4137741
+ * Makefile.in (c-lex.o): Revert langhooks.h dependency.
+ (langhooks.o): Revert debug.h dependency.
+ * c-lex.c: Do not include langhooks.h.
+ (fe_file_change): Revert lang_hooks calls; issue debug_hooks
+ calls only if defer_file_change_debug_hooks flag is cleared.
+ (c_lex_with_flags): Propagate line number information for
+ CPP_BINCL and CPP_EINCL tokens.
+ * langhooks-def.h: Revert Radar 4133801 changes.
+ * langhooks.c: Likewise.
+ * langhooks.h: Likewise.
+
+2005-12-07 Dale Johannesen <dalej@apple.com>
+
+ Radar 4349512
+ * tree-ssa-forwprop.c (substitute_single_use_vars):
+ Check that COND_EXPRs being substituted into have the
+ expected form.
+
+2005-12-06 Stuart Hastings <stuart@apple.com>
+
+ * config/rs6000/rs6000.md (longjump): New pattern.
+ * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Use it.
+
+2005-12-06 Dale Johannesen <dalej@apple.com>
+
+ Radar 4332318
+ * config/i386/sse.md (sse_movhlps): Reverse operands for
+ 2nd and 3rd alternatives.
+
+2005-12-05 Mike Stump <mrs@apple.com>
+
+ Radar 4357979
+ * doc/invoke.texi (C Dialect Options): Improve -fnested-functions wording.
+ * doc/extend.texi (Nested Functions): Note that on darwin nested
+ functions are off by default.
+
+2005-12-03 Mike Stump <mrs@apple.com>
+
+ * c-parse.in (nested_function): Don't give two errors for nested functions.
+ (notype_nested_function): Likewise.
+
+2005-12-02 Mike Stump <mrs@apple.com>
+
+ Radar 4363798
+ * config/i386/i386.c (x86_canonicalize_operands): Break out
+ bracket canonicalization from here...
+ * config/i386/i386.c (cw_canonicalize_bracket): to here. Add more
+ canonicalizations.
+ (cw_is_offset): Add offsets built with PLUS_EXPR and MINUS_EXPR.
+
+2005-12-01 Dale Johannesen <dalej@apple.com>
+
+ Radar 4350099
+ * stor-layout.c (place_field): Keep TREE_FIELDS_REVERSED
+ in the field nodes, not the RECORD node.
+ * varasm.c (output_constructor): Ditto.
+
+2005-12-01 Alan Modra <amodra@bigpond.net.au>
+
+ Radar 4345871
+ ` PR middle-end/24950
+ * expmed.c (store_bit_field): Don't attempt to insv a field
+ larger than the reg.
+
+2005-11-30 Mike Stump <mrs@apple.com>
+
+ Radar 4357979
+ * c-parse.in (nested_function): Add -fnested-functions to turn on
+ nested function support.
+ (notype_nested_function): Likewise.
+ * c.opt (-fnested-functions): Likewise.
+ * doc/invoke.texi (C Dialect Options): Likewise.
+ * config/darwin.h (LINK_COMMAND_SPEC): Pass -allow_stack_execute
+ when nested functions are on.
+
+2005-11-30 Dale Johannesen <dalej@apple.com>
+ Andrew Pinski <pinskia@physics.uc.edu>
+
+ Radar 4347034
+ * combine.c (find_split_point): Sign extend bitmask
+ when changing bitfield assignment to IOR of AND.
+
+2005-11-29 Mike Stump <mrs@apple.com>
+
+ Radar 4358678
+ * config/i386/i386.h (TARGET_CW_OP_CONSTRAINT): Add "r" to jmp constraint.
+
+2005-11-28 Mike Stump <mrs@apple.com>
+
+ Radar 4357008
+ * varasm.c (darwin_constant_cfstring_p): Add.
+ * config/i386/i386.c (legitimate_constant_p): Fix C building on linux.
+ (legitimate_address_p): Likewise.
+ (legitimize_address): Likewise.
+ (ix86_expand_move): Likewise.
+ (x86_field_alignment): Likewise.
+
+2005-11-18 Eric Christopher <echristo@apple.com>
+
+ Radar 4324160
+ * config/i386/i386.md (*zero_extendqihi2_movzbw): Avoid partial
+ register stalls by zero extending to the full register.
+
+2005-11-17 Devang Patel <dpatel@apple.com>
+
+ Radar 4343764
+ * objc/lang-specs.h: Process asm specs while creating symbol repository.
+ * objcp/lang-specs.h: Process asm specs while creating symbol repository.
+ * cp/lang-specs.h: Process asm specs while creating symbol repository.
+
+2005-11-17 Dale Johannesen <dalej@apple.com>
+
+ Radar 4321079
+ * global.c (remove_invalidated_death_notes): New.
+ * reload1.c (reload): Call it.
+
+2005-11-15 Mike Stump <mrs@apple.com>
+
+ Radar 4344359
+ * c-common.c (cw_extra_clobbers): Add.
+ (struct cw_op_clobber): Add.
+ (CW_MAX_CLOBBERS): Add.
+ (TARGET_CW_EXTRA_CLOBBERS): Add.
+ (cw_op_clobber_comp): Add.
+ (cw_asm_stmt): Add call to cw_extra_clobbers.
+ * config/i386/i386.h (TARGET_CW_EXTRA_CLOBBERS): Add.
+
+2005-11-15 Dale Johannesen <dalej@apple.com>
+
+ * config/darwin-c.c (darwin_pragma_call_on_load):
+ Give an error for 64-bit targets.
+ (darwin_pragma_call_on_unload): Ditto.
+
+2005-11-15 Dale Johannesen <dalej@apple.com>
+
+ * cfghooks.c (split_block): Copy loop_father.
+ * cfgloopmanip.c (create_loops_notes): Create preheaders.
+
+2005-11-14 Dale Johannesen <dalej@apple.com>
+
+ * expmed.c (store_bit_field): Add offset unconditionally for
+ memory targets.
+ (extract_bit_field): Don't force extzv or extv operand into
+ a register if field is too big.
+
+2005-11-11 Evan Cheng <evan.cheng@apple.com>
+
+ Radar 4299173
+ * loop-invariant.c (find_invariant_insn): Find more loop
+ invariant insns.
+
+2005-11-10 Mike Stump <mrs@apple.com>
+
+ Radar 4300193
+ * c-common.c (cw_num_constraints): Add.
+ (cw_set_constraints): Add.
+ (cw_asm_stmt): Call cw_set_constraints to update contraints.
+ (cw_type_for): Add.
+ (print_cw_asm_operand): Transform registers into VAR_DECLs for x86.
+
+ * config/i386/i386.h (TARGET_CW_OP_CONSTRAINT): xchg's 2nd arg is an update.
+
+2005-11-10 Dale Johannesen <dalej@apple.com>
+
+ Radar 4321079
+ * local-alloc.c (block_alloc): Disable local RA for vectors.
+ * global.c (pseudo_preferences): New.
+ (TEST_PSEUDO_PREF): New.
+ (SET_PSEUDO_PREF): New.
+ (CLEAR_PSEUDO_PREF): New.
+ (global_alloc): Allocate, free pseudo_preferences. Mark pseudo-
+ preferenced regs as nonconflicting when each is assigned to just once.
+ (expand_preferences): Apply transitive property to pseudo_preferences.
+ (find_reg): Propagate pseudo_preferences when a pseudo is assigned a
+ register.
+ (mirror_conflicts): Make pseudo_preferences symmetrical, like conflicts.
+ (set_preference): Look under SUBREG for vector-vector copies. Treat
+ these as creating a preference.
+ (find_tied_stack_pseudo): New.
+ (dump_conflicts): Dump pseudo_preferences and copy preferences.
+ * reload1.c (from_global): New.
+ (reload): Save it.
+ (alter_reg): Use it. Ask GRA for a stack slot already used by a
+ pseudo-preferenced register, before creating a new one.
+
+2005-11-10 Dale Johannesen <dalej@apple.com>
+
+ Radar 4321079
+ * cfgloopmanip.c: Include option.h.
+ (straighten_blocks): New.
+ (create_loop_notes): Call it. Look for and straighten
+ a specific 2-block loop pattern.
+ * Makefile.in (cfgloopmanip.o): Add options.h dependency.
+
+2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4330422
+
+ * c-common.h (objc_non_volatilized_type): New declaration
+ * stub-objc.c (objc_non_volatilized_type): New stub.
+
+2005-11-03 Evan Cheng <evan.cheng@apple.com>
+
+ * config/i386/i386-protos.h (standard_sse_constant_opcode) Declare
+ * config/i386/i386.c (standard_sse_constant_p) Check for vector
+ constant -1.
+ (standard_sse_constant_opcode) New function to return the opcode
+ associated with standard_sse_constant_p.
+ (ix86_expand_vector_move) Use standard_sse_constant_p.
+ * config/i386/predicates.md (vector_move_operand) Use
+ standard_sse_constant_p.
+ (nonimmediate_or_0_operand) Return true if operand is a nonimmediate
+ or a constant zero.
+ * config/i386/sse.md (*mov<mode>_internal) Use
+ standard_sse_constant_opcode.
+ (*movv4sf_internal) Use standard_sse_constant_opcode.
+ (*movv2df_internal) Use standard_sse_constant_opcode.
+ (sse_movlhps) Replace vector_move_operand with
+ nonimmediate_or_0_operand.
+ (*sse_concatv2sf) Replace vector_move_operand with
+ nonimmediate_or_0_operand.
+ (*vec_setv4sf_0) Replace vector_move_operand with
+ nonimmediate_or_0_operand.
+ (sse2_loadlpd) Replace vector_move_operand with
+ nonimmediate_or_0_operand.
+ (*vec_concatv2df) Replace vector_move_operand with
+ nonimmediate_or_0_operand.
+ (sse2_loadld) Replace vector_move_operand with
+ nonimmediate_or_0_operand.
+ (*vec_concatv2di) Replace vector_move_operand with
+ nonimmediate_or_0_operand.
+ * testsuite/gcc.apple/4283414.c: New.
+
+2005-11-01 Fariborz Jahanian <fjahanian@apple.com>
+
+ objc new meta-data definitions - part 1
+
+ * common.opt: Add new -fobjc-abi-version=n option.
+
+2005-11-01 Evan Cheng <evan.cheng@apple.com>
+
+ Radar 4317709
+ * stor-layout.c (place_field) A bitfield field cannot straddle
+ multiple units.
+
+2005-11-01 Stuart Hastings <stuart@apple.com>
+
+ * config/darwin.h (fix-and-continue): Added APPLE LOCAL for comma.
+
+2005-11-01 Stuart Hastings <stuart@apple.com>
+
+ * config/i386/i386.h (Unused): Fix gratuitous APPLE LOCAL change.
+
+2005-10-31 Devang Patel <dpatel@apple.com>
+
+ Radar 4053179
+ Backport from Mainline.
+ 2005-04-14 Richard Henderson <rth@redhat.com>
+ * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Split ...
+ (ix86_expand_sse_fp_minmax): ... from ...
+ (ix86_expand_fp_movcc): ... here.
+ (ix86_expand_sse_movcc): Rewrite from ix86_split_sse_movcc.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/i386.md (UNSPEC_IEEE_MIN, UNSPEC_IEEE_MAX): New.
+ (sse_setccsf, sse_setccdf): Allow before reload.
+ (movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): Remove.
+ (movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): Remove.
+ (ieee_sminsf3, ieee_smaxsf3, ieee_smindf3, ieee_smaxdf3): New.
+ * config/i386/sse.md (andsf3, nandsf3, iorsf3, xorsf3): New.
+ (anddf3, nanddf3, iordf3, xordf3): New.
+ * config/i386/i386.c (ix86_expand_sse_cmp): Split out from ...
+ (ix86_expand_sse_movcc): ... here. Take cmp as a pre-computed
+ register.
+ (ix86_expand_fp_movcc): Update to match.
+ (ix86_expand_fp_vcond, ix86_expand_int_vcond): New.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/sse.md (vcondv4sf, vcondv2df): New.
+ (vcond<SSEMODE124>, vcondu<SSEMODE12>): New.
+
+2005-10-31 Devang Patel <dpatel@apple.com>
+
+ Radar 4310696
+ * dbxout.c (stabstr_I): Truncate anonymous aggregate names
+ in C++ and Objective-c++.
+
+2005-10-25 Evan Cheng <evan.cheng@apple.com>
+
+ Radar 4209085
+ * config/i386/i386.md (fix_trunc<mode>_i387_fisttp peephole2): Emit
+ fisttp for double signed integer conversion if source operand is in
+ ST(0).
+ * testsuite/gcc.apple/4209085.c: New.
+
+2005-10-25 Eric Christopher <echristo@apple.com>
+
+ Import from mainline:
+ 2005-09-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR 17886
+ * expmed.c (expand_shift): Move logic to reverse rotation
+ direction when rotating by constants ...
+ * optabs.c (expand_binop): ... here.
+ * config/i386/i386.md (rotrdi3): Handle 32-bit mode.
+ (ix86_rotrdi3): New pattern.
+ (rotldi3): Handle 32-bit mode.
+ (ix86_rotldi3): New pattern.
+
+2005-10-19 Eric Christopher <echristo@apple.com>
+
+ Radar 3907496
+ Import from mainline:
+ 2005-08-10 Eric Christopher <echristo@apple.com>
+
+ * config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite.
+ * config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use
+ V2DFmode.
+
+2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4301047
+
+ * c-parse.in (objc_quals): Build objc qualifier list same way
+ as gcc-3.3
+
+2005-10-11 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4271575
+ * config/rs6000/darwin.h (DARWIN_CRT2_SPEC): New.
+ (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2).
+ * config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2)
+ as empty.
+ * config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly
+ link in crt2.o.
+
+2005-10-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4291785
+
+ * c-common.h (objc_get_interface_ivars): New declaration
+ (objc_detect_field_duplicates): Ditto.
+ * c-decl.c (finish_struct): Check for duplicate among
+ flattened fields if objective-c.
+ * stub-objc.c (objc_get_interface_ivars): New stub.
+ (objc_detect_field_duplicates): Ditto.
+
+2005-10-07 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4204796
+ * c-parse.in (typespec_nonreserved_nonattr): Remove volatile from
+ 'volatalized' type used in a typeof operator.
+
+2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4281748
+ * c-common.h (objc_check_global_decl): New declaration.
+ * stub-objc.c (objc_check_global_decl): New stub.
+ * c-decl.c (start_decl): Check for redeclaration of class name.
+ * c-parse.in (after_type_declarator): Recognize CLASSNAME.
+
+2005-10-17 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4122763
+ * libgcc2.c [LIBCC_KEXT] (panic): Declare properly.
+ [LIBCC_KEXT] (abort): Don't abort with no string.
+
+2005-10-28 Stuart Hastings <stuart@apple.com>
+
+ Radar 4164563
+ * config/darwin.c (darwin_macho_att_stub,
+ darwin_macho_att_stub_switch): New.
+ * config/darwin.h (-matt-stubs): New flag.
+ (machopic_picsymbol_stub3_section): New __IMPORT section.
+ (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
+ (machopic_nl_symbol_ptr_section): Move non-lazy pointers to
+ __IMPORT section.
+ * config/i386/darwin.h (-matt-stubs): New flag.
+ (SUBTARGET_OVERRIDE_OPTIONS): Handle -matt-stubs.
+ * config/i386/i386.c (macho_output_stub): Generate AT&T style
+ (self-modifying) stubs.
+ * config/i386/i386.h (MACHOPIC_NL_SYMBOL_PTR_SECTION): Override
+ machopic_nl_symbol_ptr_section with new __IMPORT section.
+
+2005-10-28 Dale Johannesen <dalej@apple.com>
+
+ Radar 4318818
+ * varasm.c (output_constructor): Do not check
+ DECL_BIT_FIELD when reversing initializer list for
+ types with reversed_flag set.
+
+2005-10-28 Dale Johannesen <dalej@apple.com>
+
+ Radar 4319602
+ * cfgloopmanip.c (create_loop_notes): Add code to move
+ code logically inside a loop but physically outside,
+ to a place physically inside.
+ * ifcvt.c (find_if_case_1): Adjust cost test for ppc.
+ (find_if_case_2): Ditto.
+
+2005-10-21 Dale Johannesen <dalej@apple.com>
+
+ * opts.c (set_flags_from_O): Revert 10-17 change.
+ * regrename.c (regrename_optimize): Ditto.
+ * ifcvt.c (find_if_case_1, find_if_case_2): Ditto.
+ * cfgloopmanip.c (create_loop_notes): Ditto, also
+ 10-19 and 10-20 changes.
+
+2005-10-20 Devang Patel <dpatel@apple.com>
+
+ Radar 4307634
+ * dbxout.c (struct typeinf): New member, q_type_number.
+ (struct qualified_typeinf): New.
+ (q_typevec, q_typevec_len, q_type_number); New.
+ (dbxout_reusable_type, dbxout_note_q_type,
+ dbxout_next_q_type_number): New.
+ (dbxout_init): Initialize q_typevec.
+ (dbxout_type_index): Check reusable type.
+ (dbxout_partial_type): Remove dbxout_next_type_number call.
+ Use dbxout_note_q_type().
+ (dbxout_complete_type): Remove dbxout_next_type_number call.
+ (dbxout_pointer_type): Same.
+ (dbxout_file_type): Same.
+ (dbxout_function_type): Same.
+ (dbxout_reference_type): Same.
+
+2005-10-20 Dale Johannesen <dalej@apple.com>
+
+ Radar 4307420
+ * cfgloopmanip.c (create_loop_notes): Handle fallthru to EXIT_BLOCK.
+
+2005-10-19 Dale Johannesen <dalej@apple.com>
+
+ Radar 4307392
+ * cfgloopmanip.c (create_loop_notes): Handle jump tables.
+
+2005-10-17 Dale Johannesen <dalej@apple.com>
+
+ Radar 4203984
+ * ifcvt.c (find_if_case_1): Adjust cost test for ppc.
+ (find_if_case_2): Ditto.
+ * regrename.c (regrename_optimize): Change to do more
+ renaming.
+ * opts.c (set_flags_from_O): Reenable regrename at -O3.
+ * cfgloopmanip.c (create_loop_notes): Add code to move
+ code logically inside a loop but physically outside,
+ to a place physically inside.
+
+2005-10-14 Eric Christopher <echristo@apple.com>
+
+ Radar 4302779
+ * config/darwin-driver.c (do_nasm): Include -o in
+ explicit args.
+
+2005-10-14 Eric Christopher <echristo@apple.com>
+
+ Radar 4302595
+ * config/darwin-driver.c (do_nasm): Specify all
+ arguments to nasm explicitly.
+
+2005-10-14 Devang Patel <dpatel@apple.com>
+
+ Radar 4300871
+ * dbxout.c (dbxout_start_source_file): Flush type queue.
+
+2005-10-13 Stuart Hastings <stuart@apple.com>
+
+ Radar 4278461
+ * config/darwin.c (machopic_legitimize_pic_address): Set
+ regs_ever_live[current_PIC_reg].
+
+2005-10-13 Devang Patel <dpatel@apple.com>
+
+ R4281384
+ * dbxout.c (dbxout_partial_type): Partially describe method types.
+
+2005-10-11 Evan Cheng <evan.cheng@apple.com>
+
+ Radar 4228294
+ Radar 4296479
+ * varasm.c (output_constructor): Reverse initializer list for
+ types with reversed_flag set (revision).
+
+2005-10-12 Devang Patel <dpatel@apple.com>
+
+ Radar 4278903
+ * gcc.c (invoke_as): Process ASM_SPEC when -fsave-repository
+ is seen.
+
+2005-10-11 Dale Johannesen <dalej@apple.com>
+
+ Radar 4134111
+ * config/i386/i386.md (cmpstrsi): Modify for Darwin.
+ (darwin_cmpstrqi_nz_1): New.
+ (*darwin_cmpstrqi_nz_1): New.
+ (darwin_cmpstrqi_1): New.
+ (*darwin_cmpstrqi_nz_1): New.
+
+2005-10-11 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4276161
+ * config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending
+ on -mmacosx-version-min setting.
+
+2005-10-11 Devang Patel <dpatel@apple.com>
+
+ Radar 4117876
+ * config/rs6000.c (expand_block_clear, expand_block_move): Remove
+ vectorized memset/memcpy warning.
+
+2005-10-10 Stuart Hastings <stuart@apple.com>
+
+ Radar 4271187
+ * config/rs6000/rs6000.c (macho_branch_islands): Avoid fixed-size buffers.
+
+2005-10-07 Evan Cheng <evan.cheng@apple.com>
+
+ Radar 4109832
+ * config/i386/xmmintrin.h (_MM_TRANSPOSE4_PS): Rewrite using high/low
+ moves and unpack to speed up.
+
+2005-10-07 Stuart Hastings <stuart@apple.com>
+
+ Radar 4205103
+ * config/i386/i386.c (ix86_value_regno): Moved APPLE LOCAL marker.
+
+2005-10-06 Devang Patel <dpatel@apple.com>
+
+ Radar 4257091
+ * c-common.c (vector_types_compatible_p): Check REAL_TYPE's precision.
+
+2005-10-06 Dale Johannesen <dalej@apple.com>
+
+ Radar 4284121
+ * function.c (assign_parms): Fix RETURN_POPS_ARGS call.
+
+2005-10-04 Devang Patel <dpatel@apple.com>
+
+ Radar 4278470
+ * dbxout.c (dbxut_init): Flush type queue.
+ (type_queue, type_queue_index, type_queue_size): GTY'ed.
+ (dbxout_queue_type): Use ggc_realloc.
+ (dbxout_free_type_queue): Use ggc_free.
+
+2005-01-03 Devang Patel <dpatel@apple.com>
+
+ Radar 4278903
+ * gcc.c (invoke_as): Supply -arch when -fsave-repository is seen.
+
+2005-01-03 Devang Patel <dpatel@apple.com>
+
+ Radar 4135682
+ * invoke.texi: Avoid using specific version number.
+
+2005-10-01 Dale Johannesen <dalej@apple.com>
+
+ Radar 4279065
+ * config/i386/sse.md (sse_storeqv4si): Remove subreg.
+
+2005-09-30 Devang Patel <dpatel@apple.com>
+
+ Radar 4274611
+ * config/darwin-driver.c (do_nasm): New.
+ (fasm_seen): New variable.
+ (main): Check -fnasm.
+
+2005-09-28 Devang Patel <dpatel@apple.com>
+
+ Radar 4263352
+ * config/darwin-driver.c (GTY): Define empty macro.
+
+2005-09-29 Ziemowit Laski <zlaski@apple.com>
+
+ Radar 4136489
+ * config/darwin-c.c (darwin_cpp_builtins): Define a '__weak'
+ macro if Objective-C GC is being used.
+ * config/darwin.c (darwin_handle_objc_gc_attribute): Correctly
+ propagate GC attribute to ..._TYPE nodes, even for functions
+ and arrays.
+ * config/darwin.h (SUBTARGET_ATTRIBUTE_TABLE): Restrict use of
+ GC attribute to ..._TYPE nodes.
+ * doc/invoke.texi: Document '-fobjc-gc' switch.
+
+2005-09-28 Devang Patel <dpatel@apple.com>
+
+ Radar 4263352
+ * config/darwin.h (darwin_reverse_bitfields): Add GTY marker.
+
+2005-09-28 Devang Patel <dpatel@apple.com>
+
+ Radar 4258406
+ * c-parse.in (nested_function): Report an error, instead of a warning.
+ (nontype_nested_function): Same.
+ * c.opt (Wnested-funcs): Remove.
+ * doc/invoke.texi: Remove Wnested-funcs documentations.
+
+2005-09-28 Dale Johannesen <dalej@apple.com>
+
+ Radar 4228294 (revision)
+ * stor-layout.c (layout_type): Move setting of TREE_FIELDS_REVERSED...
+ (place_field): ...to here.
+
+2005-09-26 Ziemowit Laski <zlaski@apple.com>
+
+ Radar 4232445
+ * dbxout.c (dbxout_partial_type): Insert missing
+ TYPE_STUB_DECL accessor.
+ (dbxout_partial_type): Use TYPE_NAME instead of DECL_NAME
+ when accessing a ..._TYPE node.
+
+2005-09-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ PR target/23847
+ Radar 4263935
+ * config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern
+ for __complex__ double in -mcpu=G5 mode.
+
+2005-09-26 Stuart Hastings <stuart@apple.com>
+
+ * config/i386/i386.c (ix86_comp_type_attributes): Moved APPLE LOCAL marker.
+
+2005-09-26 Mike Stump <mrs@apple.com>
+
+ Radar 4273781
+ * c-common.c (cw_asm_stmt): Add prefix support.
+ (cw_is_prefix): Add.
+ (cw_do_id): Add.
+ (get_cw_asm_label): Make static.
+ * c-common.h (cw_asm_stmt): Move to asm.h
+ (cw_asm_build_register_offset): Likewise.
+ (cw_asm_label): Likewise.
+ (prepend_char_identifier): Likewise.
+ (clear_cw_asm_labels): Likewise.
+ (cw_asm_reg_name): Likewise.
+ (get_cw_asm_label): Likewise.
+ (cw_asm_entry): Likewise.
+ (cw_asm_typename_or_reserved): Likewise.
+ (cw_asm_c_build_component_ref): Likewise.
+ (cw_get_identifier): Likewise.
+ (cw_build_bracket): Likewise.
+ (flag_cw_asm_blocks): Likewise.
+ * config/asm.h: Move various declarations to here.
+ * c-parse.in (c_parse_cw_maybe_prefix): Add.
+ (cw_skip_to_eol): Move decl to asm.h.
+ (cw_maybe_prefix): Add.
+ (single_cw_asm_stmt): Add prefix support.
+ * c-typeck.c (build_external_ref): Move some logic to cw_do_id.
+ * config/i386/i386.h (CW_SYNTH_CONSTRAINTS): Remove trailing ;.
+ (CW_IS_PREFIX): Add.
+ * config/i386/i386-protos.h (x86_cw_print_prefix): Add.
+ * config/i386/i386.c (x86_cw_print_prefix): Add.
+
+ Radar 4271787
+ * c-common.c (CW_CANONICALIZE_OPERANDS): Arrange to save the
+ opcode before translation for constraint lookups.
+ (cw_asm_stmt): Likewise.
+ * config/i386/i386.c (CW_CANONICALIZE_OPERANDS): Likewise.
+
+2005-09-24 Mike Stump <mrs@apple.com>
+
+ Radar 4248159
+ * config/i386/i386.c (x86_canonicalize_operands): Add (a+b) and
+ (a-b) support for memory references.
+
+2005-09-23 Fariborz Jahanian <fjahanian@apple.com>
+
+ * Radar 4266982
+ * combine.c (make_extraction): Check for valid use of subreg.
+
+2005-09-23 Mike Stump <mrs@apple.com>
+
+ Radar 4259442
+ * c-common.c (cw_split_next): Add.
+ (print_cw_asm_operand): Add extra * parameter.
+ (cw_asm_get_register_var): Likewise.
+ (struct Extra): Add.
+ (cw_x86_needs_swapping): Split out from canonicalize_operands.
+ (canonicalize_operands): Handle %st(i) style references for x86.
+ Add code to support opcode modifiers based upon arguments.
+ Rewrite movsx to movs.
+ Rewrite movzx to movz.
+ (cw_constraint_for): Pass number of arguments.
+ Add checking code to ensure that opcode table is sorted.
+ Handle option second opcode.
+ (cw_process_arg): Add extra * and op_num parameters.
+ Allow contrainst to be constructed from context.
+ (cw_asm_stmt): Add extra data structure and pass it around to
+ callees.
+ (print_cw_asm_operand): Add extra * parameter.
+ Prefix constants with "$" unless they are part of an offset.
+ Double up % on register names.
+ Don't track ST(i) lifetimes yet.
+ Handle .+24 as we do for .-24.
+ Ensure that offsets are not output with "$".
+ Track context information and set constraints appropriately.
+ Don't use labels for non-labels like lo16, hi16 and ha16.
+ * config/asm.h: Add.
+ * c-common.h (cw_split_next): Add.
+ (cw_insert_saved_token): Add.
+ * c-lex.c (cw_insert_saved_token): Add.
+ (c_lex_with_flags): When starting a decl, we don't need a BOL to
+ see the start of an instruction. When switching to cw_asm_asm,
+ also arrange for a BOL token to be returned. Arrange to split
+ [.+-] from opcode when PREV_WHITE.
+ * cp-parse.in (cw_identifier1): Add.
+ (cw_identifier): Add trailing ' ' on identifiers to split out
+ [.+-] from opcode.
+ (cw_asm_compstmt): Handle opcode int.
+ (cw_asm_primary): Add '.'.
+ (yylexname): Handle opcode int.
+ * c-typeck.c (cw_asm_typename_or_reserved): Likewise.
+ * config/i386/i386.c (i386_cw_asm_register_name): Don't double up
+ on '%' as a register prefix, as then it doesn't match a register
+ name.
+ (cw_memory_clobber): Move to here.
+ (cw_x86_needs_swapping): Likewise.
+ (x86_swap_operands): Likewise.
+ (x86_canonicalize_operands): Likewise.
+ (cw_is_offset): Likewise.
+ (cw_print_op): Split out from print_cw_asm_operand.
+ * config/i386/i386.h (TARGET_CW_OP_CONSTRAINT): Massive fixups,
+ switch operand ordering.
+ (TARGET_CW_EXTRA_INFO): Add.
+ (TARGET_CW_EXTRA_INFO): Add.
+ (CW_SYNTH_CONSTRAINTS): Add.
+ (TARGET_CW_PRINT_OP): Add.
+ (CW_CANONICALIZE_OPERANDS): Add.
+ (CW_SEE_OPCODE): Add.
+ (CW_IMMED_PREFIX): Add.
+ (CW_HIDE_REG): Add.
+ (CW_SEE_OFFSET): Add.
+ (CW_SEE_NO_OFFSET): Add.
+ * doc/extend.texi (Asm Blocks and Functions): Update for x86.
+ * tree-cfg.c (set_bb_for_stmt): Handle label rewritting anywhere in opcode.
+
+2005-09-22 Stuart Hastings <stuart@apple.com>
+
+ Radar 4231761
+ * doc/invoke.texi: Tweak documentation for -Oz.
+
+2005-09-22 Stuart Hastings <stuart@apple.com>
+
+ Radar 4205103
+ * config/i386/i386.c (ix86_function_value, ix86_value_regno): Backport new
+ three-argument versions from FSF mainline, add support for __attribute__ ((regparmandstackparm)).
+ (ix86_handle_cdecl_attribute, ix86_handle_regparm_attribute, ix86_handle_cconv_attribute):
+ Replace the first two with the third, from FSF mainline; added support for
+ __attribute__ ((regparmandstackparm)).
+ (ix86_function_regparm): Check for __attribute__ ((regparmandstackparm)).
+ (ix86_function_sseregparm): Backported from FSF mainline, add check for
+ __attribute__ ((regparmandstackparm)).
+ (ix86_comp_type_attributes, init_cumulative_args, function_arg_advance, function_arg,
+ TARGET_FUNCTION_VALUE): Backport changes from FSF mainline.
+ (ix86_function_ok_for_sibcall): Backport new version from FSF mainline.
+ (ix86_darwin_make_regparmandstackparmee, ix86_darwin_regparmandstackparm_mangle_name,
+ ix86_darwin_regparmandstackparm_dup_fndecl, ix86_darwin_regparmandstackparm_extern_decl,
+ ix86_darwin_redirect_calls, ix86_darwin_re_context_1, ix86_darwin_re_context,
+ ix86_darwin_regparmandstackparm_wrapper): New.
+ (ix86_darwin_handle_regparmandstackparm, ix86_darwin_redirect_calls): New; support for
+ __attribute__ ((regparmandstackparm)).
+ * cgraphunit.c (cgraph_finalize_function): Use ix86_darwin_handle_regparmandstackparm.
+ (cgraph_finalize_compilation_unit): Use ix86_darwin_redirect_calls.
+ * config/i386/i386-protos.h(ix86_function_value): Updated extern decl.
+ * config/i386/i386.h (MASK_SSEREGPARM, TARGET_SSEREGPARM): New.
+ (FUNCTION_VALUE): Backported three-argument version from FSF mainline.
+ (struct ix86_args): Backported float_in_sse field from FSF mainline.
+ (SSE_REGPARM_MAX): Added Darwin/x86-specific support for __attribute__ ((regparmandstackparm)).
+ (ix86_darwin_handle_regparmandstackparm, ix86_darwin_redirect_calls): Declare.
+ * doc/extend.texi (regparmandstackparm): Documentation for __attribute__ ((regparmandstackparm)).
+
+2005-09-21 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4043818 (pr19653)
+ * /config/i386/mmx.md (mov<mode>_internal): Make cost of 'y' (mmx_regs)
+ computable.
+
+2005-08-31 Richard Henderson <rth@redhat.com>
+
+ Radar 4043818 (pr19653)
+ * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
+ into a pseudo before applying gen_lowpart.
+
+2005-08-30 Richard Henderson <rth@redhat.com>
+
+ Radar 4043818 (pr19653)
+ PR target/23630
+ * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
+ whenever the mode sizes match.
+
+2005-08-23 Paolo Bonzini <bonzini@gnu.org>
+
+ Radar 4043818 (pr19653)
+ PR middle-end/23517
+ * fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
+ between vectors.
+ * convert.c (convert_to_integer, convert_to_vector): Likewise.
+
+2005-09-19 Devang Patel <dpatel@apple.com>
+
+ Radar 4252541
+ * config/rs6000/rs6000.c (rs6000_expand_binop_builtin,
+ rs6000_expand_ternop_builtin, rs6000_expand_unop_builtin): Check expr
+ arguments.
+
+2005-09-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4232296
+ * config/rs600.c (rs6000_emit_move): Check for a valid symbol_ref
+ before attempt to generate indirect pic stub.
+
+2005-09-15 Devang Patel <dpatel@apple.com>
+
+ dbxout_type rewrite.
+ * dbxout.c (enum typestatus): Add TYPE_QUEUED.
+ (dbxout_type):Rewrite. Use dbxout_partial_type and dbxout_complete_type
+ to do actual work.
+ (dbxout_partial_type, dbxout_complete_type, dbxout_type_xref,
+ dbxout_pointer_type, dbxout_void_type, dbxout_integer_type,
+ dbxout_real_type, dbxout_char_type, dbxout_complex_type,
+ dbxout_file_type, dbxout_function_type, dbxout_reference_type,
+ dbxout_next_type_number, dbxout_cross_ref_type_p, dbxout_type_with_name,
+ dbxout_queue_type, dbxout_free_type_queue): New.
+ (dbxout_function_end): Flush type queue.
+ (dbxout_end_source_file): Same.
+ * final.c (debug_flush_symbol_queue): Same.
+ * debug.h (dbxout_flush_type_queue): New.
+
+2005-09-15 Devang Patel <dpatel@apple.com>
+
+ Radar 4241538
+ * config/rs600.c (altivec_cov_rt_2p): Check NULL_TREE.
+
+2005-09-08 Dale Johannesen <dalej@apple.com>
+
+ Radar 4220129
+ * config/i386/emmintrin.h (_mm_set1_epi8): Redefine.
+
+2005-09-08 Dale Johannesen <dalej@apple.com>
+
+ Radar 4229407
+ * passes.c (rest_of_compilation): Reduce stack alignment
+ to 8 bytes, not 4, for leaves containing doubles.
+
+2005-09-08 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4168635
+ * config/i386/i386.c (ix86_delegitimize_address): Recognize
+ pattern for darwin-style PIC address of a constant.
+
+2005-09-07 Dale Johannesen <dalej@apple.com>
+
+ Radar 4228294
+ * tree.h (struct tree_common): Add reversed_flag.
+ (TREE_FIELDS_REVERSED): New.
+ * stor-layout.c (layout_type): Set it.
+ * varasm.c (output_constructor): Reverse initializer list for
+ types with reversed_flag set.
+
+2005-08-30 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4233894
+ pr 22348 (fsf mainline)
+ * tree-ssa-loop-niter.c (number_of_iterations_cond):
+ constant fold the delta.
+
+2005-08-31 Mike Stump <mrs@apple.com>
+
+ Radar 4239455
+ * i386/i386.h (TARGET_CW_OP_CONSTRAINT): Sort.
+
+2005-08-31 Dale Johannesen <dalej@apple.com>
+
+ Radar 4212458
+ * loop-iv.c (iv_number_of_iterations): Fix overflow check for
+ loops that count down.
+
+2005-08-31 Stuart Hastings <stuart@apple.com>
+
+ Radar 4231773
+ * opts.c (decode_options): Add -Oz.
+
+2005-08-30 Eric Christopher <echristo@apple.com>
+
+ Radar 4223128
+ * config/i386/i386.h (TARGET_CW_OP_CONSTRAINT): Add remaining opcodes.
+
+2005-08-30 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4235138
+ * c-common.c (print_cw_asm_operand): Generate tree for nested
+ member operand.
+ * c-typeck.c (cw_asm_c_build_component_ref): Build component ref
+ for nested member operand.
+
+2005-08-29 Eric Christopher <echristo@apple.com>
+
+ Radar 4223128
+ * config/i386/i386.h (TARGET_CW_OP_CONSTRAINT): Finish through m.
+ Add constraints to all existing opcodes.
+
+2005-08-27 Dale Johannesen <dalej@apple.com>
+
+ Radar 4217585
+ * config/i386/i386.c (nocona_cost): Increase MOVE_RATIO.
+
+2005-08-26 Ian Lance Taylor <ian@airs.com>
+
+ Radar 4229621
+ * combine.c (make_extraction): Avoid reference outside object.
+
+2005-08-26 Ziemowit Laski <zlaski@apple.com>
+
+ Radar 4080358
+ * config/darwin.c (darwin_construct_objc_string): Place string literals
+ in the CFString hash table even if they will be used for NSConstantString
+ objects instead.
+
+2005-08-25 Dale Johannesen <dalej@apple.com>
+
+ Radar 4216496 4229407
+ * passes.c (MaxAlignForThisBlock): Rewrite to descend
+ into nested blocks.
+ (LargestAlignmentOfVariables): Ditto.
+
+2005-08-23 Stuart Hastings <stuart@apple.com>
+
+ Radar 4224227
+ * opts.c (decode_options): Disable optimize_size after cmdline processing.
+
+2005-08-24 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4211430
+ * stmt.c (expand_asm_operands): Make static entry symbol
+ local and not extern.
+
+2005-08-23 Eric Christopher <echristo@apple.com>
+
+ Radar 4223128
+ * config/i386/i386.h (TARGET_CW_OP_CONSTRAINT): Add through "l".
+
+2005-08-23 Dale Johannesen <dalej@apple.com>
+
+ Radar 4221664
+ * convert.c (convert_to_real): Don't convert
+ (float)floor(double d) to floorf((float)d).
+
+2005-08-23 Mike Stump <mrs@apple.com>
+
+ Radar 4211971
+ * c-common.c (cw_is_offset): Add support for complex memory
+ addressing.
+ (cw_build_bracket): Likewise.
+ (print_cw_asm_operand): Likewise.
+ * c-common.def (BRACKET_EXPR): Likewise.
+ * c-common.h (cw_build_bracket): Likewise.
+ * c-parse.in (cw_asm_primary): Likewise.
+ * c-typeck.c (build_array_ref): Likewise.
+ (parser_build_binary_op): Likewise.
+ * config/i386/i386.h (TARGET_CW_OP_CONSTRAINT): Add a few more
+ opcodes.
+
+2005-08-22 Mike Stump <mrs@apple.com>
+
+ Radar 4211954
+ * c-opts.c (c_common_init): Add support for the h suffix to
+ identify hex integers.
+
+2005-08-19 Mike Stump <mrs@apple.com>
+
+ Radar 4211947
+ * c-lex.c (c_lex_with_flags): Add support for ; comments.
+ (cw_skip_to_eol): Likewise.
+ * c-parse.in (cw_asm_stmt_list): Likewise.
+ (cw_maybe_comment): Likewise.
+ (cw_asm_compstmt): Likewise.
+ (cw_save_location): Redo how line numbers are saved.
+ (cw_asm_stmt): Likewise.
+ (cw_asm_stmt_nobol): Likewise.
+ (single_cw_asm_stmt): Likewise.
+ * c.opt (-fms-asms): Add support for ; comments.
+ * config/i386/darwin.h: Likewise.
+
+ * c-common.c (cw_memory_clobber): Assume everything clobbers
+ memory for now.
+
+2005-08-22 Dale Johannesen <dalej@apple.com>
+
+ Radar 4225116
+ * calls.c (store_one_arg): Disable sibcalls when incoming args
+ are clobbered before being used.
+
+2005-08-18 Eric Christopher <echristo@apple.com>
+
+ Radar 4223128
+ * config/i386/i386.h (TARGET_CW_OP_CONSTRAINT): Add a-c instructions.
+
+2005-08-18 Mike Stump <mrs@apple.com>
+
+ Radar 4214021
+ * c-common.c (cw_process_arg): Add more x86 support.
+ (cw_asm_label): Add support for @ <num>.
+ * c-lex.c (c_lex_with_flags): Add more x86 support.
+ * c-parse.in (cw_asm_stmt_nobol): Add.
+ (cw_asm_label): Add '@' CONSTANT.
+ (cw_asm_compstmt): Add asm nop support.
+ * config/i386/i386.h (TARGET_CW_OP_CONSTRAINT): Add jmp.
+
+2005-08-17 Devang Patel <dpatel@apple.com>
+
+ Radar 4215975
+ * dbxout.c (anon_place_holder): New.
+ (dbxout_init): Initialize anon_place_holder.
+ (dbxout_type): Use anon_place_holder.
+ (dbxout_symbol): Check anon_place_holder.
+
+2005-08-16 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4218231
+ * c-common (print_cw_asm_operand): Add support for variable
+ component reference.
+
+2005-08-16 Dale Johannesen <dalej@apple.com>
+
+ Radar 4216812
+ * tree-sra.c (scalarize_init): Add integer_copy handling.
+
+2005-08-16 Eric Christopher <echristo@apple.com>
+
+ Radar 4219129
+ * c-common.c (TARGET_CW_OP_CONSTRAINT): New. Add default.
+ (cw_constraint_for): Use.
+ * config/rs6000/rs6000.h: Define.
+ * config/i386/i386.h: Ditto.
+
+2005-08-15 Mike Stump <mrs@apple.com>
+
+ Radar 4211978
+ * c-common.c (swap_operands): Add.
+ (cw_constraint_for): Add x86 support.
+ (cw_process_arg): Add x86 support.
+ (cw_asm_stmt): Add x86 suppport.
+ * config/i386/darwin.h (CW_ASM_REGISTER_NAME): Add.
+ * config/i386/i386-protos.h (i386_cw_asm_register_name): Add.
+ * config/i386/i386.c (i386_cw_asm_register_name): Add.
+
+2005-08-15 Dale Johannesen <dalej@apple.com>
+
+ Radar 4214718
+ * c.opt: Add -Wnested-functions.
+ * c-parse.in: Warn on nested functions if this is set.
+ * doc/invoke.texi: Document new flag.
+
+2005-08-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4204303
+ * config/rs6000/rs6000.h (INITIAL_FRAME_ADDRESS_RTX): Define.
+
+2005-08-12 Devang Patel <dpatel@apple.com>
+
+ Radar 4209318
+ * dbxout.c (dbxout_type): Update this function to force type definition
+ in new LSYM stab.
+ (dbxout_symbol): Set TREE_ASM_WRITTEN only if did_output is true.
+
+2005-08-10 Dale Johannesen <dalej@apple.com>
+
+ Radar 3893112
+ * config/rs6000/rs6000.c (params.h): Include.
+ (optimization_options): Set sra-max-structure-size.
+
+2005-08-09 Stuart Hastings <stuart@apple.com>
+
+ Radar 4209014
+ * opts.c (set_flags_from_O): Limit auto-inlined functions to 30 insns.
+ * invoke.texi: Adjust documentation to match.
+
+2005-08-08 Devang Patel <dpatel@apple.com>
+
+ Radar 4200243
+ * config/i386/i386.c (override_options): Do not check RC_FORCE_SSE3 env.
+ variable.
+ (optimization_options): Check RC_FORCE_SSE3 env. variable.
+
+2005-08-08 Devang Patel <dpatel@apple.com>
+
+ Radar 4200243
+ * config/i386/i386.c (override_options): Check RC_FORCE_SSE3 env. variable.
+
+2005-08-08 Dale Johannesen <dalej@apple.com>
+
+ Radar 4206991
+ * config/i386/i386.c (ix86_preferred_reload_class):
+ Disallow int constants in SSE registers.
+
+2005-08-08 Devang Patel <dpatel@apple.com>
+
+ Radar 4208760
+ * config/rs6000.darwin.h (CC1_SPEC): Ignore -msse3.
+
+2005-08-05 Devang Patel <dpatel@apple.com>
+
+ * dbxout.c (dbxout_function_end): Enable N_ENSYM in -gused mode.
+ (dbxout_begin_prologue): Enable N_BNSYM in -gused mode.
+
+2005-08-05 Stuart Hastings <stuart@apple.com>
+
+ Radar 4200438
+ * invoke.texi: Added documentation noting differing
+ inliner behavior between C++ and C.
+
+2005-08-05 Stuart Hastings <stuart@apple.com>
+
+ Radar 4200438
+ * opts.c (set_flags_from_O): Set inline heuristic according to input language.
+ * rs6000.c (optimization_options): Remove -Os inline heuristic fudging.
+ * i386.c (optimization_options): Likewise.
+
+2005-08-04 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4205758
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): No prologue code
+ with CW nofralloc directive.
+ (rs6000_emit_epilogue): No epilogue code with CW nofralloc directive.
+
+2005-08-05 Dale Johannesen <dalej@apple.com>
+
+ * cfgexpand.c (construct_init_block): Roll in fix
+ for PR 21562 from mainline.
+
+2005-08-05 Stuart Hastings <stuart@apple.com>
+
+ Radars 4037817, 4178585, 4200438
+ * rs6000.c (optimization_options): Set -Os inlining heuristics to 30,30.
+ * i386.c (optimization_options): Likewise.
+
+2005-08-04 Devang Patel <dpatel@apple.com>
+
+ Radar 4196953
+ * dbxout.c (dbxout_type): Emit type defs in new LSYM stab.
+
+2005-08-04 Ziemowit Laski <zlaski@apple.com>
+
+ Radar 4174833
+ * dbxout.c (dbxout_type): For Objective-C classes, do not
+ output superclass metadata before outputting the fields.
+
+2005-08-03 Dale Johannesen <dalej@apple.com>
+
+ * reload.c (push_reload): Better handling for
+ PREFERRED_OUTPUT_RELOAD_CLASS.
+ (find_dummy_reload): Ditto.
+ (find_reloads): Ditto.
+ * regclass.c (struct reg_pref): Redocument prefclass.
+ (regclass): Allow for memory being better than any regclass.
+ (record_reg_classes): Allow for prefclass being NO_REGS.
+ * i386.c (ix86_preferred_reload_class): Improved handling for SSE.
+ (ix86_preferred_output_reload_class): New.
+ * i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
+ * i386.md (cmpfp_i_mixed, cmpfp_iu_mixed, pushsf, pushsf_rex64,
+ movsf_1, pushdf_nointeger, pushdf_integer, movdf_nointeger,
+ movdf_integer, pushxf_integer, movxf_integer, extendsfdf2_mixed,
+ truncxfsf2_mixed, truncxfsf2_i387, truncxfdf2_mixed,
+ truncxfdf2_i387, floatsisf2_mixed, floatdisf2_mixed, floatsidf2_mixed,
+ floatdidf2_mixed, absnegsf2_mixed, absnegdf2_mixed, fp_jcc_1_mixed,
+ fp_jcc_2_mixed, fop_sf_comm_mixed, fop_sf_1_mixed, fop_df_comm_mixed,
+ fop_df_1_mixed, sqrtsf2_mixed, sqrtdf2_mixed, movsfcc_1_387,
+ movdfcc_1, movdfcc_1_rex64): Remove register hints.
+ * i386-protos.h (ix86_preferred_output_reload_class): New.
+
+2005-08-03 Ziemowit Laski <zlaski@apple.com>
+
+ Radar 4174833
+ * dbxout.c (dbxout_type_fields): For Objective-C classes,
+ recursively output fields for superclasses first.
+
+2005-08-03 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4188876
+ * c-typeck.c (pop_init_level): Issue diagnostic on non-constant
+ vector initializers.
+
+2005-08-03 Dale Johannesen <dalej@apple.com>
+
+ * loop.c (scan_loop): Disable optimizations of loops that
+ start with a jump into their middle.
+
+2005-08-01 Devang Patel <dpatel@apple.com>
+
+ Radar 4168568
+ * c-incpatch.c (hmap_construct_pathname): Remove case mismatch warning.
+
+2005-07-30 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4152603
+ * c-common.c (c_common_att): New entry added for "nodebug".
+ (handle_nodebug_attribute): New function.
+ * tree-inline.c (call_location_p, call_location): New fields in
+ struct inline_data.
+ (copy_body_r): Set new location of copied tree, if available.
+ (expand_call_inline): If callee's '__nodebug__' attribute is
+ set, use caller's input_location for copied trees.
+ * config/i386/emmintrin.h: All intrinsic functions have
+ "__nodebug__" Added to their declarations.
+ * config/i386/mmintrin.h: Ditto.
+ * config/i386/pmmintrin.h: Ditto.
+ * config/i386/xmmintrin.h: Ditto.
+
+2005-07-29 Devang Patel <dpatel@apple.com>
+
+ Radar 4134283
+ * c-decl.c (ext_block): New static variable.
+ (c_write_global_declarations): Optimize before wrapping up globals.
+
+2005-07-28 Stuart Hastings <stuart@apple.com>
+
+ Radar 4178585
+ * config/rs6000/rs6000.c (optimization_options): Override -Os
+ inlining default, set to 90.
+ * config/i386/i386.c (optimization_options): Raise from 30 to
+ match above.
+
+2005-07-26 Dale Johannesen <dalej@apple.com>
+
+ * postreload-gcse.c (alloc_mem): Start CUID numbering at 1.
+
+2005-07-22 Devang Patel <dpatel@apple.com>
+
+ Radar 4167759
+ * common.opt (flimit-debug-info): New.
+ * doc/invoke.texi: Document -flimit-debug-info.
+
+2005-07-21 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4187164
+ * c-common.c (print_cw_asm_operand): Recognize and handle a PIC address
+ expression.
+ * c-typeck.c (parser_build_binary_op): Generate PIC address tree.
+ * function.c (init_function_start): Move fralloc info to asm function
+ declaration.
+ * print-tree.c (print_node): Print extra info for asm function.
+ * reload1.c (init_elim_table): asm function does not need frame
+ pointer.
+ * tree-cfg.c (set_bb_for_stmt): Make PIC label unique inside PIC
+ expression.
+ * config/rs6000/rs6000.c (rs6000_stack_info): Set stack size according to
+ setting of fralloc directive.
+ * rs6000.md (return, return_internal_si): Don't generaate 'blr' with
+ nofralloc.
+
+2005-07-19 Devang Patel <dpatel@apple.com>
+
+ Radar 4183032
+ * tree-vectorizer.c (vect_loop_location): New.
+ (vect_print_dump_info): Use vect_loop_location.
+ (vectorize_loops): Set vect_loop_location.
+
+2005-07-15 Devang Patel <dpatel@apple.com>
+
+ Radar 4182529
+ * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use absolute
+ value of distance vector.
+
+2005-07-14 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4178242
+ * c-common.c (print_cw_asm_operand): Add a new argument
+ to return the label declaration in.
+ (cw_asm_label): Add label declaration, if any, to asm_expr
+ tree.
+ (get_cw_asm_label): Build and return a label declaration tree
+ instead of a node_identifier for the label.
+ (cw_asm_labelno): Make it static.
+ * c-common.h: Remove extern declaration of cw_asm_labelno.
+ * c-typeck.c (parser_build_binary_op): Check for a spurious label
+ decl tree and return an error node instead.
+ (cw_asm_c_build_component_ref): If a label declaration, get its
+ underlying identifier node.
+ * tree-cfg.c (set_bb_for_stmt): Generate a unique label name for the
+ asm_expr's generic label name, if any.
+ * tree.def (ASM_EXPR): Define a new field for it.
+ * tree.h (ASM_LABEL): New macro definition.
+ * cp/semantics.c (finish_asm_stmt): Building of ASM_EXPR tree requires a
+ new argument.
+
+2005-07-14 Dale Johannesen <dalej@apple.com>
+
+ Radar 4174405
+ * calls.c (expand_call): Don't let sibcalls clobber caller's
+ stack space on x86.
+
+2005-07-14 Stuart Hastings <stuart@apple.com>
+
+ Radar 4150746
+ * config/i386/i386.c (ix86_file_end): Move get_pc_thunks to
+ __TEXT,__textcoal_nt.
+ * config/darwin.h: Remove darwin_textcoal_nt_section.
+ * config/darwin-proto.h: Likewise.
+
+2005-07-14 Dale Johannesen <dalej@apple.com>
+
+ Radar 4095526
+ * rs6000.c: Fix local comment.
+
+2005-07-14 Stuart Hastings <stuart@apple.com>
+
+ Radar 4177798
+ * build_gcc: Default to -msse2 -march=pentium-m -mtune=prescott.
+
+2005-07-13 Dale Johannesen <dalej@apple.com>
+
+ Radar 4175845
+ * tree-ssa-loop-im.c (for_each_index): Permit
+ VIEW_CONVERT_EXPR with int constant operand.
+
+2005-07-12 Dale Johannesen <dalej@apple.com>
+
+ Radar 4095526 (mainline)
+ * expr.c (compress_float_constant): Add cost check.
+ * config/rs6000.c (rs6000_rtx_cost): Adjust FLOAT_EXTEND cost.
+
+2005-07-12 Devang Patel <dpatel@apple.com>
+
+ Radar 4172062 : Take 2
+ * final.c (final_start_function): Supress debug hooks while making symbol
+ repository.
+ (final_scan_insn): Same.
+ * passes (rest_of_handle_final): Same.
+ * dbxout.c (dbxout_function_end): Do not disable FUN stabs when symbol
+ separation is ON.
+ (dbxout_begin_prologue): Do not disable BNSYM stabs when symbol separation
+ is ON.
+ (dbxout_source_line): Do not disable SLINE stabs when symbol separation is ON.
+ (dbxout_symbol, dbxout_symbol_location): Do not disable STSYM and LCSYM stabs
+ when symbol separation is ON.
+ (dbxout_output_lbrac, dbxout_output_rbrack): Do not disable LBRAC and RBRAC
+ stabs when symbol separation is ON.
+
+
+2005-07-08 Devang Patel <dpatel@apple.com>
+
+ Radar 4172150
+ * dbxout.c (dbxout_type): Check Objective-C++ lang also.
+
+2005-07-08 Dale Johannesen <dalej@apple.com>
+
+ Radar 4173477, 4173754, 4173757, 4173774, 4174030
+ * tree-sra.c (decide_block_copy): Disallow integer
+ copies bigger than DImode.
+
+2005-07-07 Devang Patel <dpatel@apple.com>
+
+ Radar 4172062
+ * dbxout.c (dbxout_function_end): Disable FUN stabs when symbol
+ separation is ON.
+ (dbxout_begin_prologue): Disable BNSYM stabs when symbol separation is
+ ON.
+ (dbxout_source_line): Disable SLINE stabs when symbol separation is ON.
+ (dbxout_symbol, dbxout_symbol_location): Disable STSYM and LCSYM stabs
+ when symbol separation is ON.
+ (dbxout_output_lbrac, dbxout_output_rbrack): Disable LBRAC and RBRAC
+ stabs when symbol separation is ON.
+
+2005-07-06 Dale Johannesen <dalej@apple.com>
+ Andrew Pinski <pinskia@physics.uc.edu>
+
+ Radar 4158356
+ * tree-sra.c (enum copy_how): New.
+ (struct sra_elt): Change use_block_copy to how_to_copy.
+ (instantiate_element_integer): New.
+ (decide_block_copy): Rewrite logic.
+ (generate_copy_inout): Use how_to_copy.
+ (generate_element_zero): Ditto.
+ (scalarize_copy): Ditto.
+ (scalarize_init): Ditto.
+ (scalarize_ldst): Ditto.
+
+2005-06-30 Devang Patel <dpatel@apple.com>
+
+ * doc/invoke.texi: Document -fsave-repository.
+
+2005-06-30 Devang Patel <dpatel@apple.com>
+
+ * c-opts.c (c_common_handle_option): Handle OPT_fsave_repository.
+ Set flag_pch_file.
+ * c.opt (fsave-repository=): New.
+ * dbxout.c: Use dbx_out_file instead of asm_out_file.
+ (dbx_out_file): New.
+ (dbxout_init): Open dbx_out_file for writing.
+ (emit_bincl_stab): Emit EXCL and BINCL stabs with checksum.
+ (dbxout_finish): Close dbx_out_file.
+ * flags.h (flag_pch_file, flag_save_repository): New.
+ * gcc.c (pch): Invoke as when -fsave-repository is used.
+ * toplev.c (asm_file_name2, flag_pch_file, flag_save_repository): New.
+ (init_asm_output): Handle -fsave-repository.
+
+2005-06-30 Fariborz Jahanian <fjahanian@apple.com>
+
+ * opts.c (decode_options): Don't set -fforce-mem with -O2 and more.
+
+2005-06-30 Stuart Hastings <stuart@apple.com>
+
+ Radar 4131077, copied from FSF mainline.
+ * config/i386/mmintrin.h: Mark vector intrinsics always_inline.
+ * config/i386/emmintrin.h: Likewise.
+ * config/i386/pmmintrin.h: Likewise.
+ * config/i386/xmmintrin.h: Likewise.
+
+2005-06-28 Dale Johannesen <dalej@apple.com>
+
+ Radar 4163069
+ * config/darwin-c.c (darwin_pragma_options):
+ Add handling for second parameter.
+
+2005-06-22 Ziemowit Laski <zlaski@apple.com>
+
+ Radar 4154928
+ * c-common.h (objc_common_type): New prototype.
+ * c-typeck.c (build_conditional_expr): For two ObjC pointer types,
+ use their ObjC common type.
+ * stub-objc.c (objc_common_type): New stub.
+
+2005-06-21 Ziemowit Laski <zlaski@apple.com>
+
+ Radar 4149909
+ * config/darwin.c (machopic_select_section): constant ObjC string
+ objects now always have type "__builtin_ObjCString".
+
+2005-06-20 Dale Johannesen <dalej@apple.com>
+
+ Radar 4087330
+ * calls.c (expand_call): Enable indirect sibcalls unconditionally.
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
+ indirect sibcalls on Darwin when PLT considerations prohibit
+ them on other OSs.
+
+2005-06-20 Stuart Hastings <stuart@apple.com>
+
+ Radar 4146993
+ * config/i386/i386.c (machopic_output_stub): Use only %ecx.
+
+2005-06-20 Dale Johannesen <dalej@apple.com>
+
+ Radar 4151537
+ * config/rs6000/rs6000.md (UNSPEC_LD_MPIC_L): New.
+ * config/rs6000/darwin.md (load_macho_picbase_label): New.
+ (load_macho_picbase_label_si): New.
+ (load_macho_picbase_label_di): New.
+ * config/rs6000/rs6000.c (objc_method_using_pic): Remove.
+ (name_encodes_objc_method_p): Rewrite.
+ (rs6000_emit_prologue): Rewrite "ObjC method use of R12".
+
+2005-06-15 Devang Patel <dpatel@apple.com>
+
+ Undo
+ 2005-06-04 Devang Patel <dpatel@apple.com>
+ * dbxout.c (struct dbx_file): Apply GTY markers.
+ (dbxout_init, dbxout_start_source_file): Use ggc_alloc instead of xmalloc.
+
+2005-06-15 Geoffrey Keating <geoffk@apple.com>
+
+ * varasm.c (replace_weak): Make 'static'.
+
+2005-06-10 Dale Johannesen <dalej@apple.com>
+
+ Fixes from mainline.
+ Radar 4137102, 4141805, 4104248
+ * config/i386/i386.md (movqi_1): Fix case where source
+ is memory and destination EDI.
+ * tree-nested.c (finalize_nesting_tree_1): Disable
+ warn_padded around layout_type call.
+ * cfgcleanup.c (try_crossjump_to_edge): update_forwarder_flag for
+ src2 if src2 has been split.
+
+2005-06-04 Devang Patel <dpatel@apple.com>
+
+ * dbxout.c (struct dbx_file): Apply GTY markers.
+ (dbxout_init, dbxout_start_source_file): Use ggc_alloc instead of xmalloc.
+
+2005-06-04 Dale Johannesen <dalej@apple.com>
+
+ Radar 4131839 (from mainline)
+ * config/rs6000/rs6000.c (insn-addr.h): Don't include.
+ (no_global_regs_above): New.
+ (rs6000_emit_prologue): Use it; cosmetic formatting fixes.
+ (rs6000_emit_epilogue): Use it; cosmetic formatting fixes.
+ (rs6000_conditional_register_usage): Don't put Darwin PIC
+ register in global_regs.
+ (rs6000_override_options): Add -fgcse-las to -fast.
+ Remove clear of -fspeculative-prefetching.
+ (rs6000_rtx_mult_cost): Remove.
+ (rs6000_stack_info, rs6000_emit_prologue, rs6000_emit_epilogue):
+ Adjust LOCAL comments.
+ (rs6000_is_costly_dependence): Look under ZERO/SIGN_EXTEND for MEMs.
+ * config/rs6000/rs6000-protos.h (rs6000_rtx_mult_cost): Remove.
+
+2005-06-03 Geoffrey Keating <geoffk@apple.com>
+
+ * gcc.c (macosx_vers_tbl): Handle '10.5'.
+
+2005-06-02 Stuart Hastings <stuart@apple.com>
+
+ * simplify-rtx.c(simplify_binary_operation, simplify_immed_subreg):
+ Back out these extra checks (Chablis branch).
+
+2005-05-31 Stuart Hastings <stuart@apple.com>
+
+ Copy 2004-05-19 patch from Karma mainline onto Chablis branch:
+ Radar 4124883, 4122515
+ * config/i386/i386.md (UNSPEC_LDQ, UNSPEC_MOVQ, UNSPEC_STOQ): New.
+ * config/i386/sse.md (sse_loadqv4si, sse_storeqv4si, sse_movqv4si):
+ Move UNSPECs inside patterns, incorporate new UNSPEC_ constants.
+
+2005-05-27 Stuart Hastings <stuart@apple.com>
+
+ Radar 41216124
+ * config.gcc: Darwin/x86 sets need_64bit_hwint=yes.
+ * config.host: Darwin/x86 sets use_long_long_for_widest_fast_int=yes.
+ * libcpp/configure.ac: Darwin/x86 sets need_64bit_hwint=yes.
+ * libcpp/configure: Regenerated with autoconf.
+
+2005-05-25 Ziemowit Laski <zlaski@apple.com>
+
+ * stub-objc.c (objc_comptypes): Remove for real.
+
+2005-05-19 Ziemowit Laski <zlaski@apple.com>
+
+ Radar 4035492
+ * c-common.h (objc_comptypes): Remove prototype.
+ (objc_compare_types, objc_volatilized_decl, objc_type_quals_match):
+ New prototypes.
+ * c-decl.c (objc_mark_locals_volatile): Streamline by calling
+ objc_volatilize_decl().
+ * c-typeck.c (comp_target_types): Remove third parameter; do not
+ call objc_comptypes().
+ (comptypes): Remove calls to objc_comptypes().
+ (build_function_call): Extend compatible prototype check to ObjC.
+ (build_conditional_expr): Adjust call to comp_target_types().
+ (convert_for_assignment): Call objc_compare_types() instead of
+ objc_comptypes(); adjust calls to comp_target_types(); call
+ objc_type_quals_match() before issuing qualifier mismatch warnings.
+ (build_binary_op): Call objc_compare_types() before issuing
+ pointer mismatch warnings; adjust calls to comp_target_types().
+ * gimplify.c (gimplify_expr): Adjust APPLE LOCAL markers to
+ point at new culprit.
+ * stub-objc.c (objc_comptypes): Remove stub.
+ (objc_compare_types, objc_volatilized_decl, objc_type_quals_match):
+ New stubs.
+
+2005-05-17 Devang Patel <dpatel@apple.com>
+
+ Radar 4119059
+ * config/altivec.md: Use u5bit_cint_operand and s5bit_cint_operand.
+ * config/rs6000/rs6000.c (s5bit_cint_operand, u5bit_cint_operand): New.
+ (rs6000_expand_unop_builtin): Fix signed 5 bits literal validation.
+
+2005-06-01 Devang Patel <dpatel@apple.com>
+
+ Radar 4133801
+ * Makefile.in (c-lex.o): Depend on langhooks.h.
+ (langhooks.o): Depend on debug.h.
+ * c-lex.c (langhooks.h): Include.
+ (fe_file_change): Use lang hooks instead of debug hooks.
+ * langhooks-def.h (lhd_start_source_file, lhd_end_source_file,
+ LANG_HOOKS_START_SOURCE_FILE, LANG_HOOKS_END_SOURCE_FILE): New.
+ * langhooks.c (debug.h): Include.
+ (lhd_start_source_file, lhd_end_source_file): New.
+ * langhooks.h (struct lang_hooks): Two new members.
+
+2005-05-19 Devang Patel <dpatel@apple.com>
+
+ Radar 4123684
+ * config/rs6000/rs6000.md (insvsi_internal1): Remove.
+
+2005-05-19 Stuart Hastings <stuart@apple.com>
+
+ Radar 4124883, 4122515
+ * simplify-rtx.c(simplify_binary_operation): Can't simplify vector shifts yet.
+ (simplify_immed_subreg): Fail instead of asserting when asked for a TImode constant.
+ * config/i386/i386.md(UNSPEC_LDQ, UNSPEC_MOVQ, UNSPEC_STOQ): New.
+ * config/i386/sse.md(sse_loadqv4si, sse_storeqv4si, sse_movqv4si):
+ Move UNSPECs inside patterns, incorporate new UNSPEC_ constants.
+
+2005-05-12 Dale Johannesen <dalej@apple.com>
+ Stuart Hastings <stuart@apple.com>
+
+ * stor-layout.c (compute_record_mode): Put back 8-byte struct
+ "hack", merged with FSF and 64-bit ABI changes.
+
+2005-05-11 Stan Shebs <shebs@apple.com>
+
+ Fix 64-bit varargs for Darwin (Radar 4028089).
+ * config/rs6000/rs6000.h (rs6000_args): New field floats_in_gpr.
+ * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
+ Add argument, add case for 8-byte register half-filled with a float.
+ (rs6000_darwin64_record_arg_advance_recurse): Detect and handle
+ single-precision floats specially.
+
+2005-05-11 Devang Patel <dpatel@apple.com>
+
+ Radar 4110735
+ * config/rs6000/rs6000.md (insvsi_internal1): Fix operand[1].
+
+2005-05-10 Dale Johannesen <dalej@apple.com>
+
+ Radar 4111151
+ * toplev.c (backend_init): Call init_caller_save unconditionally.
+
+2005-05-10 Stuart Hastings <stuart@apple.com>
+
+ Radar 4099020
+ Reinstall patch, omitting simplify-rtx change.
+ * config/i386/sse.md (sse_loadqv4s, sse_storeqv4si, sse_movqv4si): New.
+ * config/i386/i386.c (IX86_BUILTIN_MOVQ,
+ IX86_BUILTIN_LOADQ, IX86_BUILTIN_STOREQ): New.
+ (__builtin_ia32_movqv4si, __builtin_ia32_loadlv4si, __builtin_ia32_storelv4si): New.
+ * emmintrin.h (_mm_loadl_epi64, _mm_storel_epi64, _mm_move_epi64): Use them.
+ * config/i386/mmx.md: Exempt SSE subregs from multiword split.
+
+2005-05-10 Stuart Hastings <stuart@apple.com>
+
+ Radar 4078600
+ * stor-layout.c(compute_record_mode): Delete the "8-byte struct hack".
+
+2005-05-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4095567
+ * passes.c (rest_of_compilation): Readjust default stack boundaries for
+ leaf functions with no vector code.
+
+2005-05-09 Jon Ziegler <jonz@apple.com>
+
+ Radar 4099020
+ Revert Stuart's patch for 4099020.
+
+2005-05-09 Dale Johannesen <dalej@apple.com>
+
+ Radar 4113078
+ * tree-inline.c (expand_call_inline): Propagate uses_vector bit correctly.
+
+2005-05-07 Stuart Hastings <stuart@apple.com>
+
+ Radar 4099020
+ * config/i386/sse.md (sse_loadqv4s, sse_storeqv4si, sse_movqv4si): New.
+ * config/i386/i386.c (IX86_BUILTIN_MOVQ,
+ IX86_BUILTIN_LOADQ, IX86_BUILTIN_STOREQ): New.
+ (__builtin_ia32_movqv4si, __builtin_ia32_loadlv4si, __builtin_ia32_storelv4si): New.
+ * emmintrin.h (_mm_loadl_epi64, _mm_storel_epi64, _mm_move_epi64): Use them.
+ * config/i386/mmx.md: Exempt SSE subregs from multiword split.
+ * simplify-rtx.c(simplify_immed_subreg): Exit cleanly if outermode too wide.
+
+2005-05-06 Dale Johannesen <dalej@apple.com>
+
+ Radar 4090661
+ * config/i386/i386.c (ix86_constant_alignment): Max out
+ alignment of string constants at 4 bytes.
+
+2005-05-05 Stuart Hastings <stuart@apple.com>
+
+ * Radar 4078600
+ * stor-layout.c(compute_record_mode): Revert previous patch.
+
+2005-04-04 Devang Patel <dpatel@apple.com>
+
+ * Radar 4095052
+ * varasm.c (replace_weak): New.
+ (merge_weak): Use replace_weak.
+
+2005-05-04 Stuart Hastings <stuart@apple.com>
+
+ * Radar 4078600
+ * stor-layout.c(compute_record_mode): Remove flag_pic from "8-byte struct hack" test.
+
+2005-05-03 Dale Johannesen <dalej@apple.com>
+
+ Radar 4104248
+ * objc/objc-act.c: Include opts.h.
+ * objc/Make-lang.in (objc-act.o): Ditto.
+ * config/darwin-protos.h (machopic_picsymbol_stub2_section): New.
+ * config/i386/i386.c: Include params.h.
+ * config/i386/i386.md (movqi_1): Handle ESI/EDI destination.
+
+2005-05-02 Mike Stump <mrs@apple.com>
+
+ * Radar 4099000
+ * config/i386/lib1funcs.asm: Add ___i686.get_pc_thunk.<reg> to
+ libgcc.
+ * config/i386/t-darwin: Add.
+ * config.gcc: Add i386/t-darwin.
+
+2005-05-02 Dale Johannesen <dalej@apple.com>
+
+ Radar 4102133 (PR 21293, Zdenek's patch)
+ * tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of
+ integer_zerop.
+ * tree-gimple.c (is_gimple_min_invariant): Consider overflowed
+ constants invariant.
+ * fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert
+ the argument of the shift to the unsigned type.
+
+2005-04-28 Devang Patel <dpatel@apple.com>
+
+ Radar 4086969
+ * c-typeck.c (convert_for_assignment): Fix warn_discard_qual.
+
+2005-04-28 Devang Patel <dpatel@apple.com>
+
+ Radar 4086969
+ * c-typeck.c (convert_for_assignment): Check warn_discard_qual.
+ * c.opt (Wdiscard-qual): New.
+ * doc/invoke.texi: Dcoument -Wdiscard-qual.
+
+2005-04-28 Dale Johannesen <dalej@apple.com>
+
+ Radar 4101687
+ * i386.c (legitimize_address): Canonicalize shifts correctly.
+
+2005-04-28 Dale Johannesen <dalej@apple.com>
+
+ Radar 4100712 (PR 21173, Dan Berlin's patch)
+ * tree-ssa-pre.c (create_expression_by_pieces): Call unshare_expr
+ on things we pass to force_gimple_operand. Don't try to special
+ case min_invariants.
+
+2005-04-28 Dale Johannesen <dalej@apple.com>
+
+ Radar 4101973
+ * config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS):
+ Back out patch for 4096578.
+ * config/i386/i386.c (reset_optimization_options): Ditto.
+
+2005-04-26 Dale Johannesen <dalej@apple.com>
+
+ Radar 4099768
+ * config/i386/i386.c (ix86_split_long_mode): Adjust
+ stack offsets for 128-bit long doubles correctly.
+
+2005-04-26 Dale Johannesen <dalej@apple.com>
+
+ Radar 4096578
+ * config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS):
+ Default omit-frame-pointer on with optimization.
+ * config/i386/i386.c (reset_optimization_options): Ditto.
+
+2005-04-26 Stuart Hastings <stuart@apple.com>
+
+ Radar 4010496
+ * config/i386/x-darwin: Add -mdynamic-no-pic.
+
+2005-04-25 Devang Patel <dpatel@apple.com>
+
+ Radar 4095956
+ * config/rs6000/darwin.h (REAL_LIBGCC_GCC): Use -lgcc_static.
+
+2005-04-26 Stuart Hastings <stuart@apple.com>
+
+ Radar 4096118
+ * build_gcc: Default to --with-arch=pentium4 --with-tune=prescott.
+ * config/i386/darwin.h: Override OPTIONS_DEFAULT_SPECS.
+
+2005-04-25 Devang Patel <dpatel@apple.com>
+
+ Radar 4095956
+ * config/darwin.h (REAL_LIBGCC_GCC): Use -lgcc_static.
+
+2005-04-25 Devang Patel <dpatel@apple.com>
+
+ Radar 3954848
+ * dbxout.c (dbxout_type): Emit attribute vector.
+
+2005-04-23 Dale Johannesen <dalej@apple.com>
+
+ Radar 4097111
+ * opts.c (decode_options): Move cl_pf_opts_cooked setup...
+ * toplev.c (process_options): ...to here.
+
+2005-04-22 Dale Johannesen <dalej@apple.com>
+
+ * common.opt (falign-functions=): Fix it.
+
+2005-04-22 Devang Patel <dpatel@apple.com>
+
+ * config/rs6000/darwin.h: Update APPLE LOCAL markers to reflect
+ FSF mainline check-in.
+
+2005-04-21 Dale Johannesen <dalej@apple.com>
+
+ Radar 3124235
+ * Makefile.in (options.o): New dependencies.
+ (tree-optimize.o): Ditto.
+ * c-decl.c (start_function): Record perfunc flags.
+ * common.opt (falign-jumps, falign-labels, falign-loops):
+ Add PerFunc, VarUint, VarExists.
+ (fbranch-count-reg, fbranch-target-load-optimize,
+ fbranch-target-load-optimize2, fbtr-bb-exclusive,
+ fcaller-saves, fcprop-registers, fcrossjumping,
+ fcse-follow-jumps, fcse-skip-blocks, fcx-limited-range,
+ fdefer-pop, fdelayed-branch, fdelete-null-pointer-checks,
+ fexpensive-optimizations, ffinite-math-only, ffloat-store,
+ fforce-addr, fforce-mem, ffunction-cse, fgcse, fgcse-lm,
+ fgcse-sm, fgcse-las, fgcse-after-reload,
+ fguess-branch-probability, fif-conversion, fif-conversion2,
+ fivopts, floop-optimize, floop-optimize2, fmath-errno,
+ fmodulo-sched, fmove-loop-invariants,
+ freschedule-modulo-scheduled-loops, fomit-frame-pointer,
+ foptimize-register-move, foptimize-sibling-calls, fpeel-loops,
+ fpeephole, fpeephole2, fprefetch-loop-arrays, fregmove,
+ frename-registers, freorder-blocks, freorder-blocks-and-partition,
+ frerun-cse-after-loop, frerun-loop-opt, frounding-math,
+ fsched-interblock, fsched-spec, fsched-spec-load,
+ fsched-spec-load-dangerous, fsched2-use-superblocks,
+ fsched2-use-traces, fschedule-insns, fschedule-insns2,
+ fsignaling-nans, fsplit-ivs-in-unroller,
+ fvariable-expansion-in-unroller, fstrength-reduce,
+ fthread-jumps, ftracer, ftrapping-math, ftrapv, ftree-ccp,
+ ftree-ch, ftree-combine-temps, ftree-copyrename, ftree-dce,
+ ftree-dominator-opts, ftree-dse, ftree-fre, ftree-loop-im,
+ ftree-loop-linear, ftree-loop-ivcanon, ftree-loop-memset,
+ ftree-loop-optimize, ftree-pre, ftree-sra, ftree-ter,
+ ftree-lrs, funroll-loops, funroll-all-loops,
+ funsafe-math-optimizations, funswitch-loops, ftree-vectorize,
+ fweb, fwrapv): Add PerFunc.
+ (fsched-verbose): Add Var, UInteger, PerFunc, VarUint.
+ (fsched-stalled-insns-dep): Add PerFunc, VarUint.
+ (p): Add VarExists.
+ * final.c (asm_insn_count): Replace "optimize" by "optimizing".
+ (final): Ditto.
+ (final_scan_insn): Ditto.
+ * flags.h (optimize, optimize_size): Remove.
+ * haifa-sched.c (sched_verbose_param): Remove.
+ (fix_sched_param): Remove.
+ * loop.c (struct loop_mem_info): Replace "optimize" by "optimizable".
+ (insert_loop_mem, load_mems): Adjust references.
+ * opt-functions.awk (flag_set_p): New.
+ (switch_flags): Add VarUint, PerFunc.
+ (var_ref): Handle them.
+ (access_ref): New.
+ * optc-gen.awk (END): Substantial rewrite to handle PerFunc,
+ VarUint.
+ * opth-gen.awk (END): Ditto.
+ * opts.c (hashtab.h): New include.
+ (handle_option): Use access_flag.
+ (set_flags_from_O): New.
+ (decode_options): Split out set_flags_from_O. Save
+ cl_pf_opts_cooked.
+ (common_handle_options): Remove special cases for
+ align-functions, align-jumps, align-labels,
+ align-loops, sched-verbose, sched-stalled-insns-dep.
+ Use access_flag.
+ (cl_perfunc_opts_hash_table, hash_cl_perfunc_opts,
+ cmp_cl_perfunc_opts, make_perfunc_opts,
+ func_cl_pf_opts_mapping_hash_table, struct func_cl_pf_opts_mapping,
+ func_cl_pf_opts_mapping_hash, func_cl_pf_opts_mapping_eq,
+ record_func_cl_pf_opts_mapping, restore_func_cl_pf_opts_mapping,
+ copy_func_cl_pf_opts_mapping): New.
+ * opts.h (set_flags_from_O, record_func_cl_pf_opts_mapping,
+ restore_func_cl_pf_opts_mapping, copy_func_cl_pf_opts_mapping): New.
+ (struct cl_option): Add access_flag.
+ (CL_VARUINT, CL_PERFUNC): New.
+ * toplev.c (optimize, optimize_size): Remove.
+ (print_switch_values): Use access_flag.
+ * toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
+ flag_if_conversion2, flag_peel_loops, flag_rerun_cse_after_loops,
+ flag_thread_jumps, flag_tracer, flag_unroll_loops,
+ flag_unroll_all_loops, flag_unswitch_loops, flag_cprop_registers,
+ flag_loop_optimize2): Remove.
+ * tree-optimize.c (opts.h): New include.
+ (tree_rest_of_compilation): Restore saved opts from definition.
+ * config/darwin-c.c (flags.h, opts.h, varray.h): New includes.
+ (darwin_pragma_reverse_bitfields): Fix obvious spelling bug.
+ (va_opt, push_opt_level, pop_opt_level, darwin_pragma_opt_level,
+ darwin_pragma_opt_size): New.
+ * config/darwin-protos.h (darwin_pragma_opt_level,
+ darwin_pragma_opt_size, reset_optimization_options): New.
+ * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
+ Add optimization_level, optimize_for_size.
+ * config/t-darwin (darwin-c.o): New dependencies.
+ * config/i386/i386.c (reset_optimization_options): New.
+ * config/rs6000/rs6000.c (reset_optimization_options): New.
+ * config/rs6000/rs6000.h (optimize, flag_expensive_optimizations): Remove.
+ * cp/Make-lang.in (cp/decl.o): New dependency.
+ * cp/decl.c (opts.h): New include.
+ (build_library_fn_1): Record perfunc opts.
+ (start_preparsed_function): Propagate saved opts to existing forward decl.
+ (start_function): Record perfunc opts.
+ * doc/extend.texi (pragma optimization_level, optimize_for_size):
+ Document.
+ * objc/objc-act.c (objc_start_function): Record perfunc opts.
+
+2005-04-21 Dale Johannesen <dalej@apple.com>
+
+ Radar 4080945
+ PR 20742
+ * params.def (PARAM_SCEV_MAX_EXPR_SIZE): New.
+ * tree-chrec.c (params.h): New include.
+ (chrec_fold_plus_1): Avoid too deep recursion.
+ (reset_evolution_in_loop): Use build2 not build.
+ (tree_contains_chrecs): Add size argument.
+ * tree-chrec.h (tree_constains_chrecs): Add size argument.
+ (tree_does_not_contain_chrecs): Adjust call to it.
+ * tree-scalar-evolution.c (simple_iv): Ditto.
+ * doc/invoke.texi (scev-max-expr-size): Document.
+
+2005-04-21 Devang Patel <dpatel@apple.com>
+
+ Radar 4080840
+ * config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
+
+2005-04-20 Mike Stump <mrs@apple.com>
+
+ Radar 4077104
+ * c-common.c (print_cw_asm_operand): Handle -40(sp) in C++ CW asms better.
+
+2005-04-20 Stuart Hastings <stuart@apple.com>
+
+ * Radar 4067496
+ * config/i386/i386.c (optimization_options): Raise inlining limits under -Os.
+
+2005-04-20 Fariborz Jahanian <fjahanian@apple.com>
+
+ * expr.c (emit_single_push_insn): Radar 4087332.
+
+2005-04-18 Devang Patel <dpatel@apple.com>
+
+ * config/rs6000/atlivec.md (mulv4si3): Update APPLE LOCAL markers to
+ reflect check-in on mainline.
+
+2005-04-15 Devang Patel <dpatel@apple.com>
+
+ Radar 3972875
+ * config/rs6000/atlivec.md (mulv4si3): New pattern.
+
+2005-04-15 Stuart Hastings <stuart@apple.com>
+
+ Radar 4087864
+ * config/darwin-protos.h: Extern for machopic_symbol_stub2_section.
+ * config/i386/i386.c (machopic_output_stub): Fix stubs targeted for
+ deeply-pipelined CPUs.
+
+2005-04-15 Caroline Tice <ctice@apple.com>
+
+ Radar 4078608
+ * config/darwin.c (machopic_select_section): Change name for function
+ to switch to cold text section to unlikely_text_section
+ (the correct function name, in varasm.c).
+ * config/darwin.h (SECTION_FUNCTION): Remove code that created a second
+ (incorrect) function for switching to cold text section.
+
+2005-04-14 Devang Patel <dpatel@apple.com>
+
+ Radar 4080840
+ * common.opt (falign-jumps-max-skip, falign-jumps-max-skip=,
+ falign-loops-max-skip, falign-loops-max-skip=): New.
+ * opts.c (common_handle_option): Handle new falign-loops-max-skip
+ and falign-jumps-max-skip options.
+ * doc/invoke.texi: Document -falign-jumps-max-skip and
+ -falign-loops-max-skip.
+ * toplev.c (align_jumps_max_skip, align_loops_max_skip): Remove.
+
+2005-04-14 Devang Patel <dpatel@apple.com>
+
+ Radar 3972515
+ * config/rs600/altivec.md (altivec_vsr<VI_char>): Rename to ..
+ (lhsr<mode>3): ... new name.
+ (altivec_vsra<VI_char>): Rename to ..
+ (ashr<mode>3): ... new name.
+ * config/rs6000/rs6000.c (builtin_description): Rename shift
+ operations.
+
+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.
+ * 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.
+ * config/darwin.c (machopic_symbol_defined_p): No longer static.
+ (machopic_indirect_data_reference): Revise to support -mdynamic-no-pic for x86.
+ * config/darwin.h (machopic_lazy_symbol_ptr2, machopic_lazy_symbol_ptr3,
+ machopic_picsymbol_stub2, darwin_textcoal_nt): New sections.
+ * 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.
+ * 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.
+ * config/i386/i386.h: Update unused-bits comment.
+ * 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
+ * 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
+ * gimplify.c (shortcut_cond_expr): Re-compute side-effects.
+ * 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
+ * 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
+ * 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
+ * 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
+ * config/rs6000/rs6000.md (maxsf3, minsf3, split, maxdf3, mindf3, split):
+ disable when -flag-trapping-math.
+ * 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.
+
+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
+ * 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
+ * testsuite/gcc.apple/notailcall-1.c: New testcase.
+
+2005-01-06 Stuart Hastings <stuart@apple.com>
+
+ Radar 3941684
+ * c-common.c (print_cw_asm_operand): Casts for long long format.
+ * gcc.c (process_command): Malloc overflowing static char array.
+ * config/i386/dariwn.h (ASM_SPEC): Revert to i386.
+ * 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
+ * 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
+ * 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
+ * config/rs6000/rs6000.c (init_cumulative_args): Remove APPLE LOCAL.
+ * 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.
+ * 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
+ * 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>
+
+ * simplify-rtx.c(simplify_relational_operation): copied from FSF mainline.
+
+2004-10-15 Stuart Hastings <stuart@apple.com>
+
+ * c-common.c(print_cw_asm_operand): proper casting.
+ * 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
+ * tree-nested.c: Cast STACK_BOUNDARY for portability.
+ * config/i386/i386.c (output_pic_addr_const): Stubify optimized symbols.
+ * 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
+ * config/rs6000/rs6000.md: Add missing APPLE LOCAL markers.
+ * config/t-darwin.h: Ditto.
+ * 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 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 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>
+
+ * loop-iv.c : Merge from lno-branch as of 2004:04:19 00:00.
+ * tree-pass.h : Merge from lno-branch as of 2004:04:19 00:00.
+ * tree-ssa-alias.c : Merge from lno-branch as of 2004:04:19 00:00.
+ * 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.