2011-04-18 Michael Hope <email address hidden>
gcc/
* opts.c (decode_options): Disable -fshrink-wrap by default.
* doc/invoke.texi (Optimize Options): Document.
2011-02-16 Nathan Sidwell <email address hidden>
Issue #10439
gcc/
* config/arm/unwind-arm.c (enum __cxa_type_match_result): New.
(cxa_type_match): Correct declaration.
(__gnu_unwind_pr_common): Reconstruct
additional indirection when __cxa_type_match returns
succeeded_with_ptr_to_base.
libstdc++/
* libsupc++/eh_arm.c (__cxa_type_match): Construct address of
thrown object here. Return succeded_with_ptr_to_base for all
pointer cases.
2011-02-14 Kwok Cheung Yeung <email address hidden>
Issue #10417
Backport from mainline
gcc/
2010-07-31 Richard Guenther <email address hidden>
PR tree-optimization/45052
* ipa-pure-const.c (check_stmt): Check volatileness.
2011-04-12 Ramana Radhakrishnan <email address hidden>
gcc/
Backport from mainline:
2011-04-12 Ramana Radhakrishnan <email address hidden>
* config/arm/arm.md (*arm_negdi2): Fix early-clobber constraints.
2011-03-24 Revital Eres <email address hidden>
gcc/
* loop-doloop.c (doloop_condition_get): Support new form of
doloop pattern and use prev_nondebug_insn instead of PREV_INSN.
* config/arm/thumb2.md (*thumb2_addsi3_compare0): Remove "*".
(doloop_end): New.
* config/arm/arm.md (*addsi3_compare0): Remove "*".
* ddg.c (check_closing_branch_deps, get_node_of_insn_uid):
New functions.
(create_ddg): Pass sbitmap containing do-loop related
instructions instead of closing_branch_deps parameter and call
check_closing_branch_deps function.
* ddg.h (create_ddg): Adjust the function declaration.
* modulo-sched.c (PS_STAGE_COUNT): Rename to CALC_STAGE_COUNT
and redefine.
(doloop_register_get): Handle NONDEBUG_INSN_P.
(stage_count): New field in struct partial_schedule.
(mark_doloop_insns, calculate_stage_count): New functions.
(normalize_sched_times): Rename to reset_sched_times and handle
incrementing the sched time of the nodes by a constant value
passed as parameter.
(duplicate_insns_of_cycles): Skip closing branch.
(sms_schedule_by_order): Schedule closing branch when
closing_branch_deps is true.
(ps_insn_find_column): Handle closing branch.
(sms_schedule): Call reset_sched_times and handle case where
do-loop pattern is not decoupled from the other loop instructions.
Support new form of doloop pattern.
(ps_insert_empty_row): Update calls to normalize_sched_times
and rotate_partial_schedule functions.
2011-04-09 Andrew Stubbs <email address hidden>
Backport from mainline:
Maxim Kuvyrkov <email address hidden>
* config.sub: Recognize *-linux-android*.
2010-05-27 Maxim Kuvyrkov <email address hidden>
Add support for Bionic C library
gcc/
* config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
macro.
(DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
(bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
* config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
(LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
(CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
to support multiple C libraries. Handle Bionic.
(BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
(BIONIC_DYNAMIC_LINKER64): Define.
(LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
Update.
(TARGET_HAS_SINCOS): Enable for Bionic.
* config/linux.opt: Rewrite to handle more than 2 C libraries. Make
the last option specified on command line take effect.
(linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
(mbionic): New.
(mglibc, muclibc): Update.
* config/alpha/linux-elf.h, config/rs6000/linux64.h,
* config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
DEFAULT_LIBC.
* doc/invoke.texi (-mglibc, -muclibc): Update.
(-mbionic): Document.
gcc/testsuite/
* gcc.dg/glibc-uclibc-1.c, gcc.dg/glibc-uclibc-2.c: Remove, no longer
necessary.
2010-05-27 Maxim Kuvyrkov <email address hidden>
Support compilation for Android platform. Reimplement -mandroid.
gcc/
* config.gcc (*linux*): Include linux-android.h and linux-android.opt.
(*android*): Set ANDROID_DEFAULT.
(arm*-*-linux*): Include linux-android.h.
(arm*-*-eabi*): Don't include previous -mandroid implementation.
* config/arm/eabi.h: Remove, move Android-specific parts ...
* config/linux-android.h: ... here. New file.
* config/arm/eabi.opt: Rename to ...
* config/linux-android.opt: ... this.
(mandroid): Allow -mno-android option. Initialize based on
ANDROID_DEFAULT.
* config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
Move logic to corresponding LINUX_TARGET_* macros.
(TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
* config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
(STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
Android definitions.
(LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
* doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
Document.
2010-06-01 Maxim Kuvyrkov <email address hidden>
gcc/
* config/arm/t-linux-androideabi: New.
* config.gcc (arm*-*-linux-androideabi): Include multilib configuration.
2010-05-27 Maxim Kuvyrkov <email address hidden>
gcc/
* gthr-posix.h (pthread_cancel): Don't declare if compiling against
Bionic C library.
(__gthread_active_p): Check for pthread_create if compiling against
Bionic C library.
2010-06-01 Maxim Kuvyrkov <email address hidden>
libstdc++-v3/
* acinclude.m4: Support Bionic C library.
Explicitly specify -fexceptions for exception check.
* configure.host: Support Bionic C library.
* configure: Regenerate.
* config/os/bionic/ctype_base.h, config/os/bionic/ctype_inline.h,
* config/os/bionic/ctype_noincline.h, config/os/bionic/os_defines.h:
New files, based on config/os/newlib/*.
2011-03-23 Andrew Stubbs <email address hidden>
Backport from FSF.
2011-03-23 Julian Brown <email address hidden>
gcc/
* expr.c (expand_expr_real_1): Only use BLKmode for volatile
accesses which are not naturally aligned.
2011-04-10 Michael Hope <email address hidden>
gcc/
Backport from mainline:
2010-12-20 Yvan Roux <email address hidden>
* config/arm/lib1funcs.asm (ARM_DIV_BODY case __OPTIMIZE_SIZE__): Fix
condition on IT instruction for early termination.
2011-04-08 Richard Sandiford <email address hidden>
Backport from mainline:
gcc/
* dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
(cached_dw_loc_list_def): New structure.
(cached_dw_loc_list): New typedef.
(cached_dw_loc_list_table): New variable.
(cached_dw_loc_list_table_hash): New function.
(cached_dw_loc_list_table_eq): Likewise.
(add_location_or_const_value_attribute): Take a bool cache_p.
Cache the list when the parameter is true.
(gen_formal_parameter_die): Update caller.
(gen_variable_die): Likewise.
(dwarf2out_finish): Likewise.
(dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
while generating debug info for the decl.
(dwarf2out_function_decl): Clear cached_dw_loc_list_table.
(dwarf2out_init): Initialize cached_dw_loc_list_table.
(resolve_addr): Cache the result of resolving a chain of
location lists.
From: 2010-10-12 Jakub Jelinek <email address hidden>
* dwarf2out.c (dw_loc_list_node): Add emitted field.
(output_loc_list): Return immediately if emitted is set, set it.
2011-04-06 Andrew Stubbs <email address hidden>
Merge from FSF 4.5 branch r172013 (pre 4.5.3).
2011-03-10 Ramana Radhakrishnan <email address hidden>
LP:730440
PR target/47668
gcc/
* config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'.
gcc/testsuite/
* gcc.target/arm/pr47688.c: New.
2011-03-03 Richard Sandiford <email address hidden>
gcc/
* ee.c (reg_use_p): Handle subregs of promoted vars.
2011-03-11 Andrew Stubbs <email address hidden>
Michael Hope <email address hidden>
Matthias Klose <email address hidden>
gcc/
* function. (thread_prologue_and_epilogue_insns): Initialize
prologue_seq.
* opts.c (decode_options): Move flag_shrink_wrap to -O1.
2011-03-09 Bernd Schmidt <email address hidden>
Issue #10649
gcc/
* dwarf2out.c (dwarf2out_begin_epilogue): Accept simplejumps
as well as returnjumps.
* cfganal.c (set_edge_can_fallthru_flag): Revert previous change
that tried to keep epilogue blocks adjacent.
2011-02-03 Bernd Schmidt <email address hidden>
gcc/
* function.c (prepare_shrink_wrap): New function.
(thread_prologue_and_epilogue_insns): Call it.