2010-10-26 Jie Zhang <email address hidden>
Backport from mainline:
gcc/
2010-10-26 Jie Zhang <email address hidden>
* doc/invoke.texi: Improve documentation of
-fstrict-volatile-bitfields.
2010-10-26 Jie Zhang <email address hidden>
Issue #1259
Backport from mainline:
gcc/
2010-10-26 Jie Zhang <email address hidden>
* stor-layout.c (layout_decl): Use the field's type to
determine the mode and keep DECL_BIT_FIELD for a volatile
bit-field.
* config/arm/arm.c (arm_override_options): Default to
-fstrict-volatile-bitfields.
gcc/testsuite/
2010-10-26 Jie Zhang <email address hidden>
* gcc.target/arm/volatile-bitfields-1.c: New test.
* gcc.target/arm/volatile-bitfields-2.c: New test.
* gcc.target/arm/volatile-bitfields-3.c: New test.
2010-10-25 Jie Zhang <email address hidden>
Issue #1259
Backport from mainline:
gcc/
2010-10-22 Jie Zhang <email address hidden>
* expr.c (emit_group_load_1): Update calls to extract_bit_field.
(copy_blkmode_from_reg): Likewise.
(read_complex_part): Likewise.
(expand_expr_real_1): Calculate packedp and pass it to
extract_bit_field.
* expr.h (extract_bit_field): Update declaration.
* calls.c (store_unaligned_arguments_into_pseudos): Update call
to extract_bit_field.
* expmed.c (extract_fixed_bit_field): Update calls to
extract_fixed_bit_field.
(store_split_bit_field): Likewise.
(extract_bit_field_1): Add new argument packedp.
(extract_bit_field): Add new argument packedp.
(extract_fixed_bit_field): Add new argument packedp and let
packed attribute override volatile.
* stmt.c (expand_return): Update call to extract_bit_field.
2010-10-15 Jie Zhang <email address hidden>
* doc/invoke.texi: Add -fstrict-volatile-bitfields to
Option Summary and Index.
2010-07-13 DJ Delorie <email address hidden>
* config/h8300/h8300.c (h8300_init_once): Default to
-fstrict_volatile_bitfields.
* config/sh/sh.c (sh_override_options): Default to
-fstrict_volatile_bitfields.
* config/rx/rx.c (rx_option_override): New.
* config/m32c/m32c.c (m32c_override_options): Default to
-fstrict_volatile_bitfields.
2010-06-16 DJ Delorie <email address hidden>
* common.opt (-fstrict-volatile-bitfields): new.
* doc/invoke.texi: Document it.
* fold-const.c (optimize_bit_field_compare): For volatile
bitfields, use the field's type to determine the mode, not the
field's size.
* expr.c (expand_assignment): Likewise.
(get_inner_reference): Likewise.
(expand_expr_real_1): Likewise.
* expmed.c (store_fixed_bit_field): Likewise.
(extract_bit_field_1): Likewise.
(extract_fixed_bit_field): Likewise.
gcc/testsuite/
2010-08-19 Uros Bizjak <email address hidden>
PR testsuite/45324
* gcc.target/i386/volatile-bitfields-1.c: Also scan movb.
2010-06-16 DJ Delorie <email address hidden>
* gcc.target/i386/volatile-bitfields-1.c: New.
* gcc.target/i386/volatile-bitfields-2.c: New.
2010-10-25 Jie Zhang <email address hidden>
Issue #9812
Backport from mainline:
gcc/
2010-10-25 Jie Zhang <email address hidden>
* combine.c (try_combine): If insns need to be kept around,
check that they can be copied in the merged instruction.
gcc/testsuite/
2010-10-25 Jie Zhang <email address hidden>
* g++.dg/opt/combine.c: New test.
2010-10-23 Joseph Myers <email address hidden>
Backport from FSF:
gcc/
2010-10-14 Joseph Myers <email address hidden>
PR c/45969
* c-typeck.c (build_binary_op): Don't try to compute a semantic
type with excess precision for boolean operations.
gcc/testsuite/
2010-10-14 Joseph Myers <email address hidden>
PR c/45969
* gcc.c-torture/compile/pr45969-1.c: New test.
2010-10-20 Nathan Froyd <email address hidden>
Issue #9781
Backport from mainline:
gcc/
2010-10-20 Nathan Froyd <email address hidden>
* ifcvt.c (noce_emit_cmove): If both of the values are SUBREGs, try
emitting the conditional move in the inner mode of the SUBREG.
2010-10-18 Kazu Hirata <email address hidden>
Issue #9720
Backport from mainline:
gcc/
2010-10-07 Tejas Belagod <email address hidden>
* config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
constraint, add register specifier in instruction template.
(neon_vec_pack_trunc_<mode>): Likewise.
(neon_vec_<US>mult_<mode>): Add register specifier to
instruction template.
2010-10-22 Julian Brown <email address hidden>
Backport from mainline:
2010-10-18 Marcus Shawcroft <email address hidden>
gcc/testsuite/
* gcc.target/arm/synchronize.c: Permit dmb or mcr in assembler scan.
2010-10-14 Julian Brown <email address hidden>
Backport from mainline:
2010-08-18 Marcus Shawcroft <email address hidden>
gcc/
* config/arm/arm-protos.h (arm_expand_sync): New.
(arm_output_memory_barrier, arm_output_sync_insn): New.
(arm_sync_loop_insns): New.
* config/arm/arm.c (FL_ARCH7): New.
(FL_FOR_ARCH7): Include FL_ARCH7.
(arm_arch7): New.
(arm_print_operand): Support %C markup.
(arm_legitimize_sync_memory): New.
(arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
(arm_process_output_memory_barrier, arm_output_memory_barrier): New.
(arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
(arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
(arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
(arm_process_output_sync_insn, arm_output_sync_insn): New.
(arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
* config/arm/arm.h (struct arm_sync_generator): New.
(TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
(TARGET_HAVE_MEMORY_BARRIER): New.
(TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
* config/arm/arm.md: Include sync.md.
(UNSPEC_MEMORY_BARRIER): New.
(VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
(VUNSPEC_SYNC_OP):New.
(VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
(sync_result, sync_memory, sync_required_value): New attributes.
(sync_new_value, sync_t1, sync_t2): Likewise.
(sync_release_barrier, sync_op): Likewise.
(length): Add logic to length attribute defintion to call
arm_sync_loop_insns when appropriate.
* config/arm/sync.md: New file.
2010-09-02 Marcus Shawcroft <email address hidden>
gcc/
* config/arm/predicates.md (arm_sync_memory_operand): New.
* config/arm/sync.md (arm_sync_compare_and_swapsi): Change predicate
to arm_sync_memory_operand and constraint to Q.
(arm_sync_compare_and_swap<mode>): Likewise.
(arm_sync_compare_and_swap<mode>): Likewise.
(arm_sync_lock_test_and_setsi): Likewise.
(arm_sync_lock_test_and_set<mode>): Likewise.
(arm_sync_new_<sync_optab>si): Likewise.
(arm_sync_new_nandsi): Likewise.
(arm_sync_new_<sync_optab><mode>): Likewise.
(arm_sync_new_nand<mode>): Likewise.
(arm_sync_old_<sync_optab>si): Likewise.
(arm_sync_old_nandsi): Likewise.
(arm_sync_old_<sync_optab><mode>): Likewise.
(arm_sync_old_nand<mode>): Likewise.
2010-09-13 Marcus Shawcroft <email address hidden>
gcc/
* config/arm/arm.md: (define_attr "conds"): Update comment.
* config/arm/sync.md (arm_sync_compare_and_swapsi): Change
conds attribute to clob.
(arm_sync_compare_and_swapsi): Likewise.
(arm_sync_compare_and_swap<mode>): Likewise.
(arm_sync_lock_test_and_setsi): Likewise.
(arm_sync_lock_test_and_set<mode>): Likewise.
(arm_sync_new_<sync_optab>si): Likewise.
(arm_sync_new_nandsi): Likewise.
(arm_sync_new_<sync_optab><mode>): Likewise.
(arm_sync_new_nand<mode>): Likewise.
(arm_sync_old_<sync_optab>si): Likewise.
(arm_sync_old_nandsi): Likewise.
(arm_sync_old_<sync_optab><mode>): Likewise.
(arm_sync_old_nand<mode>): Likewise.
2010-09-13 Marcus Shawcroft <email address hidden>
gcc/testsuite/
* gcc.target/arm/sync-1.c: New.
2010-10-20 Yao Qi <email address hidden>
Merge from Sourcery G++ to fix LP:660021
2010-10-18 Paul Brook <email address hidden>
* tree-vect-stmts.c (supportable_widening_operation): Check if wide
vector type exists.
2010-10-15 Jie Zhang <email address hidden>
Backport from mainline:
gcc/testsuite/
2010-10-15 Jie Zhang <email address hidden>
* lib/lto.exp (lto-link-and-maybe-run): Use the default linker
script when relocatable linking.
2010-10-15 Chung-Lin Tang <email address hidden>
Backport from mainline:
2010-10-15 Chung-Lin Tang <email address hidden>
gcc/
* ifcvt.c (find_active_insn_before): New function.
(find_active_insn_after): New function.
(cond_exec_process_if_block): Use new functions to replace
prev_active_insn() and next_active_insn().
gcc/testsuite/
* gcc.dg/20101010-1.c: New testcase.
2010-10-13 Chung-Lin Tang <email address hidden>
Issue #8615
Backport from mainline:
2010-10-12 Chung-Lin Tang <email address hidden>
gcc/
* config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from
DATA_ALIGNMENT and add COND parameter. Update comments above.
(DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size.
(LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with
!flag_conserve_stack.
2010-10-15 Yao Qi <email address hidden>
Backport from mainline:
2010-10-14 Yao Qi <email address hidden>
gcc/
PR target/45447
* config/arm/arm.c (arm_build_builtin_va_list): Assign
va_list_name to TYPE_STUB_DECL (va_list_type).
gcc/testsuite/
PR target/45447
* gcc.target/arm/pr45447.c: New test.
2010-10-13 Chung-Lin Tang <email address hidden>
Backport from mainline:
2010-04-20 James E. Wilson <email address hidden>
gcc/
PR rtl-optimization/43520
* ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
zero available registers.
2010-10-09 Jie Zhang <email address hidden>
Backport from mainline:
gcc/
2010-06-03 Paul Brook <email address hidden>
* config/arm/arm.c (FL_TUNE): Define.
(arm_default_cpu, arm_cpu_select): Remove.
(all_cores): Populate core field.
(arm_selected_arch, arm_selected_cpu, arm_selected_tune): New.
(arm_find_cpu): New function.
(arm_handle_option): Lookup cpu/architecture names.
(arm_override_options): Cleanup mcpu/march/mtune handling.
(arm_file_start): Ditto.
2010-10-08 Jie Zhang <email address hidden>
* config/arm/arm.c (arm_override_options): Disable
-fsched-interblock for Cortex-M4.
2010-10-06 Julian Brown <email address hidden>
gcc/testsuite/
* gcc.dg/Warray-bounds-3.c: Add -fno-unroll-loops for ARM.
* gcc.dg/vect/vect.exp: Likewise, for all vect tests.
2010-09-30 Jie Zhang <email address hidden>
gcc/testsuite/
* gcc.target/arm/neon-thumb2-move.c: Add
dg-require-effective-target arm_thumb2_ok.
2010-10-01 Julian Brown <email address hidden>
Revert:
Backport from FSF:
gcc/
2010-08-18 Marcus Shawcroft <email address hidden>
* config/arm/arm-protos.h (arm_expand_sync): New.
(arm_output_memory_barrier, arm_output_sync_insn): New.
(arm_sync_loop_insns): New.
* config/arm/arm.c (FL_ARCH7): New.
(FL_FOR_ARCH7): Include FL_ARCH7.
(arm_arch7): New.
(arm_print_operand): Support %C markup.
(arm_legitimize_sync_memory): New.
(arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
(arm_process_output_memory_barrier, arm_output_memory_barrier): New.
(arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
(arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
(arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
(arm_process_output_sync_insn, arm_output_sync_insn): New.
(arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
* config/arm/arm.h (struct arm_sync_generator): New.
(TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
(TARGET_HAVE_MEMORY_BARRIER): New.
(TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
* config/arm/arm.md: Include sync.md.
(UNSPEC_MEMORY_BARRIER): New.
(VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
(VUNSPEC_SYNC_OP):New.
(VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
(sync_result, sync_memory, sync_required_value): New attributes.
(sync_new_value, sync_t1, sync_t2): Likewise.
(sync_release_barrier, sync_op): Likewise.
(length): Add logic to length attribute defintion to call
arm_sync_loop_insns when appropriate.
* config/arm/sync.md: New file.
gcc/
2010-09-02 Marcus Shawcroft <email address hidden>
* config/arm/predicates.md (arm_sync_memory_operand): New.
* config/arm/sync.md (arm_sync_compare_and_swapsi): Change predicate
to arm_sync_memory_operand and constraint to Q.
(arm_sync_compare_and_swap<mode>): Likewise.
(arm_sync_compare_and_swap<mode>): Likewise.
(arm_sync_lock_test_and_setsi): Likewise.
(arm_sync_lock_test_and_set<mode>): Likewise.
(arm_sync_new_<sync_optab>si): Likewise.
(arm_sync_new_nandsi): Likewise.
(arm_sync_new_<sync_optab><mode>): Likewise.
(arm_sync_new_nand<mode>): Likewise.
(arm_sync_old_<sync_optab>si): Likewise.
(arm_sync_old_nandsi): Likewise.
(arm_sync_old_<sync_optab><mode>): Likewise.
(arm_sync_old_nand<mode>): Likewise.
2010-09-30 Jie Zhang <email address hidden>
gcc/testsuite/
* c-c++-common/uninit-17.c: Adjust warning message.
Backport from mainline:
2010-07-30 Xinliang David Li <email address hidden>
PR tree-optimization/45121
* c-c++-common/uninit-17.c: Add -fno-ivops option.
2010-09-28 Jie Zhang <email address hidden>
Backport from mainline:
gcc/testsuite/
2010-09-28 Jie Zhang <email address hidden>
* gcc.dg/Wcxx-compat-12.c: Add -fno-short-enums.
2010-09-22 Chung-Lin Tang <email address hidden>
Backport from mainline:
2010-09-22 Chung-Lin Tang <email address hidden>
gcc/
* postreload.c (move2add_note_store): Add reg_symbol_ref[] checks
to update conditions. Fix reg_mode[] check.
2010-09-20 Jie Zhang <email address hidden>
Issue #9019
Backport from mainline:
gcc/
2010-09-20 Jie Zhang <email address hidden>
* config/arm/arm.c (arm_address_offset_is_imm): New.
(arm_early_store_addr_dep): New.
(arm_early_load_addr_dep): New.
* config/arm/arm-protos.h (arm_early_store_addr_dep): Declare.
(arm_early_load_addr_dep): Declare.
(arm_address_offset_is_imm): Declare.
* config/arm/cortex-m4.md: New file.
* config/arm/cortex-m4-fpu.md: New file.
* config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md.
(attr generic_sched): Exclude cortexm4.
(attr generic_vfp): Exclude cortexm4.
2010-09-20 Jie Zhang <email address hidden>
Issue #5256
libstdc++-v3/
Backport from mainline:
2010-05-21 Joseph Myers <email address hidden>
* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Use GNU locale model for
glibc 2.3 and later, but not uClibc, without an execution test.
* configure: Regenerate.
* doc/xml/manual/configure.xml, doc/xml/manual/prerequisites.xml,
doc/xml/faq.xml: Update.