| 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-08-06 Jim Grosbach <grosbach@apple.com> |
| |
| * config/arm/arm.c(arm_override_options): v7m only has thumb mode. |
| |
| 2010-08-04 Bob Wilson <bob.wilson@apple.com> |
| |
| Radar 7982386 |
| * config/rs6000/ppc_intrinsics.h: Moved again from here to... |
| * ginclude/ppc_intrinsics.h: ...here. |
| * timevar.c: Update path to ppc_intrinsics.h. |
| * Makefile.in (USER_H): Add ppc_intrinsics.h. |
| * config.gcc: Revert previous change for ppc_intrinsics.h. |
| |
| 2010-07-29 Bob Wilson <bob.wilson@apple.com> |
| |
| Radar 7982386 |
| * config/rs6000/ppc_intrinsics.h: Moved here from top-level more-hdrs. |
| * config.gcc: Add ppc_intrinsics.h to extra_headers. |
| * timevar.c: Update path to ppc_intrinsics.h. |
| |
| 2010-06-28 Jim Grosbach <grosbach@apple.com> |
| |
| Radar 7449793 |
| * config/arm/darwin.h (DEFAULT_TARGET_OS): New. |
| (DARWIN_DEFAULT_VERSION_TYPE): OSX or iOS, depending on setting of |
| DEFAULT_TARGET_OS. |
| |
| 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-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-11 Caroline Tice <ctice@apple.com> |
| |
| Radar 6419781 |
| * tree.c (annotate_with_file_line): Make sure "file" is non-NULL |
| before using it in strcmp. |
| * cp/parser.c (cp_parser_block_literal_expr): Give Blocks copy & |
| destroy helper functions a NULL/0 source location. |
| * c-parser.c (c_parser_block_literal_expr): Ditto. |
| |
| 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-08-31 Caroline Tice <ctice@apple.com> |
| |
| Radar 6419781 |
| * tree.c (type_is_block_byref_struct): New function. |
| * tree.h (type_is_block_byref_struct): New extern function decl. |
| |
| 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. |