diff options
Diffstat (limited to 'gcc-4.2.1-5666.3/gcc/ChangeLog.apple')
-rw-r--r-- | gcc-4.2.1-5666.3/gcc/ChangeLog.apple | 14532 |
1 files changed, 0 insertions, 14532 deletions
diff --git a/gcc-4.2.1-5666.3/gcc/ChangeLog.apple b/gcc-4.2.1-5666.3/gcc/ChangeLog.apple deleted file mode 100644 index 157b28f4e..000000000 --- a/gcc-4.2.1-5666.3/gcc/ChangeLog.apple +++ /dev/null @@ -1,14532 +0,0 @@ -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. |