Linaro GCC 4.6-2011.05-0

Milestone information

Project:
Linaro GCC
Series:
4.6
Version:
4.6-2011.05-0
Released:
 
Registrant:
Michael Hope
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
1 Andrew Stubbs, 1 Michael Hope
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
2 Fix Released

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon gcc-linaro-4.6-2011.05-0.tar.bz2 (md5, sig) Linaro GCC Source 718
last downloaded 4 days ago
Total downloads: 718

Release notes 

Linaro GCC 4.6 is the third release in the 4.6 series. Based off the
latest GCC 4.6.0+svn173480, it adds new optimisations, vectoriser
improvements, and continues with the merge of many ARM-focused
changes.

Interesting changes include:
 * Updates to 4.6.0+r173417
 * Brings forward more of the performance improvements from Linaro GCC 4.5
 * Adds support for swing-modulo scheduling
 * Fixes precompiled header support on recent Linux kernels
 * Changes the default NEON vector size to quads
 * Adds auto-detection of the best vector size
 * Adds vectorisation improvements due to better if-conversion

Fixes:
 * LP: #714921: Uses an unreasonable amount of memory to compile QEMU on armel
 * LP: #723086: Test regressions in the Fortran test suite

Changelog 

View the full changelog

2011-05-13 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 "*".
 * params.def (sms-min-sc): New param flag.
 * doc/invoke.texi (sms-min-sc): Document it.
 * ddg.c (create_ddg_dep_from_intra_loop_link): If a true dep edge
 enters the branch create an anti edge in the opposite direction
 to prevent the creation of reg-moves.
 * modulo-sched.c: Adjust comment to reflect the fact we are
 scheduling closing branch.
 (PS_STAGE_COUNT): Rename to CALC_STAGE_COUNT and redefine.
 (stage_count): New field in struct partial_schedule.
 (calculate_stage_count): New function.
 (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.
 (ps_insn_find_column): Handle closing branch.
 (sms_schedule): Call reset_sched_times and adjust the code to
 support scheduling of the closing branch. Use sms-min-sc.
 Support new form of doloop pattern.
 (ps_insert_empty_row): Update calls to normalize_sched_times
 and rotate_partial_schedule functions.

2011-05-12 Michael Hope <email address hidden>

 gcc/
 Backport from mainline:

 2011-05-05 Michael Hope <email address hidden>

 PR pch/45979
 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
 __ARM_EABI__ hosts.

2011-05-06 Andrew Stubbs <email address hidden>

 Merge from FSF GCC 4.6 (svn branches/gcc-4_6-branch 173480).

2011-05-06 Richard Sandiford <email address hidden>

 gcc/
 From Sergey Grechanik <email address hidden>, approved for mainline

 * config/arm/arm.c (coproc_secondary_reload_class): Return NO_REGS
 for constant vectors.

2011-04-26 Andrew Stubbs <email address hidden>

 Backport from FSF:

 2011-04-05 Tom de Vries <email address hidden>

 PR target/43920
 gcc/
 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
 for size.

2011-05-03 Richard Sandiford <email address hidden>

 gcc/testsuite/
 From Richard Earnshaw <email address hidden>

 PR target/46329
 * gcc.target/arm/pr46329.c: New test.

 gcc/
 PR target/46329
 * config/arm/arm.c (arm_legitimate_constant_p_1): Return false
 for all Neon struct constants.

2011-05-03 Richard Sandiford <email address hidden>

 gcc/
 * targhooks.h (default_legitimate_constant_p); Declare.
 * targhooks.c (default_legitimate_constant_p): New function.

 Backport from mainline:
 2011-04-21 Richard Sandiford <email address hidden>

 * target.def (legitimate_constant_p): New hook.
 * doc/tm.texi.in (LEGITIMATE_CONSTANT_P): Replace with...
 (TARGET_LEGITIMATE_CONSTANT_P): ...this.
 * doc/tm.texi: Regenerate.
 * calls.c (precompute_register_parameters): Replace uses of
 LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
 (emit_library_call_value_1): Likewise.
 * expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
 (compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
 * recog.c (general_operand, immediate_operand): Likewise.
 * reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
 * reload1.c (init_eliminable_invariants): Likewise.

 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
 * config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
 (THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
 * config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
 (arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
 (arm_legitimate_constant_p): New functions.
 (arm_cannot_force_const_mem): Make static.

2011-05-03 Richard Sandiford <email address hidden>

 gcc/
 Backport from mainline:

 2011-05-03 Richard Sandiford <email address hidden>

 * hooks.h (hook_bool_mode_uhwi_false): Declare.
 * hooks.c (hook_bool_mode_uhwi_false): New function.
 * target.def (array_mode_supported_p): New hook.
 * doc/tm.texi.in (TARGET_ARRAY_MODE_SUPPORTED_P): Add @hook.
 * doc/tm.texi: Regenerate.
 * stor-layout.c (mode_for_array): New function.
 (layout_type): Use it.
 * config/arm/arm.c (arm_array_mode_supported_p): New function.
 (TARGET_ARRAY_MODE_SUPPORTED_P): Define.

2011-05-03 Richard Sandiford <email address hidden>

 gcc/
 Backport from mainline:

 2011-04-12 Richard Sandiford <email address hidden>

 * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
 size of a '%A' memory reference.
 (T_DREG, T_QREG): New neon_builtin_type_bits.
 (arm_init_neon_builtins): Assert that the load and store operands
 are neon_struct_operands.
 (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
 (NEON_ARG_MEMORY): New builtin_arg.
 (neon_dereference_pointer): New function.
 (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
 Handle NEON_ARG_MEMORY.
 (arm_expand_neon_builtin): Update after above interface changes.
 Use NEON_ARG_MEMORY for loads and stores.
 * config/arm/predicates.md (neon_struct_operand): New predicate.
 * config/arm/iterators.md (V_two_elem): Tweak formatting.
 (V_three_elem): Use BLKmode for accesses that have no associated mode.
 (V_four_elem): Tweak formatting.
 * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
 (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
 (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
 (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
 (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
 (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
 (neon_vst4<mode>): Replace pointer operand with a memory operand.
 Use %A in the output template.
 (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
 (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
 (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
 the width of the memory access. Remove post-increment.
 * config/arm/neon-testgen.ml: Allow addresses to have an alignment.

 gcc/testsuite/
 Backport from mainline:

 2011-04-12 Richard Sandiford <email address hidden>

 * gcc.target/arm/neon-vld3-1.c: New test.
 * gcc.target/arm/neon-vst3-1.c: New test.
 * gcc.target/arm/neon/v*.c: Regenerate.

2011-05-03 Richard Sandiford <email address hidden>

 gcc/
 Backport from mainline:

 2011-03-30 Richard Sandiford <email address hidden>
      Ramana Radhakrishnan <email address hidden>

 PR target/43590
 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
 operand 1 and reshuffle the operands to match.
 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.

2011-05-04 Richard Sandiford <email address hidden>

 Backport from mainline:

 2011-03-29 Richard Sandiford <email address hidden>

 PR debug/48190
 * 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.

2011-04-26 Andrew Stubbs <email address hidden>

 Backport from FSF:

 2011-04-15 Maxim Kuvyrkov <email address hidden>

 gcc/
 * combine.c (subst, combine_simlify_rtx): Add new argument, use it
 to track processing of conditionals. Update all callers.
 (try_combine, simplify_if_then_else): Update.

 2011-04-25 Maxim Kuvyrkov <email address hidden>
      Eric Botcazou <email address hidden>

 gcc/
 * combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
 for STORE_FLAG_VALUE==-1 case.

2011-05-02 Ira Rosen <email address hidden>

 Backport from FSF:

 2011-03-27 Ira Rosen <email address hidden>

 gcc/
 * config/arm/arm.c (arm_autovectorize_vector_sizes): New function.
 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.

 gcc/testsuite/
 * gcc.dg/vect/vect-outer-5.c: Reduce the distance between data
 accesses to preserve the meaning of the test for doubleword vectors.
 * gcc.dg/vect/no-vfa-pr29145.c: Likewise.
 * gcc.dg/vect/slp-3.c: Reduce the loop bound for the same reason.

2011-04-27 Ira Rosen <email address hidden>

 Backport from FSF:

 2011-04-03 Richard Guenther <email address hidden>
      Ira Rosen <email address hidden>

 gcc/
 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
 non-variable offsets and compare the remaining bases of the two
 accesses instead of looking for exact same data-ref.

 gcc/testsuite/
 * gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c: New test.
 * gcc.dg/vect/vect.exp: Run if-cvt-stores-vect* tests with
 -ftree-loop-if-convert-stores.

2011-04-21 Andrew Stubbs <email address hidden>

 Backport from FSF:

 2008-12-03 Daniel Jacobowitz <email address hidden>

 gcc/testsuite/
 * gcc.dg/vect/vect-shift-3.c, gcc.dg/vect/vect-shift-4.c: New.
 * lib/target-supports.exp (check_effective_target_vect_shift_char): New
 function.

0 blueprints and 2 bugs targeted

Bug report Importance Assignee Status
723086 #723086 GCC 4.5 20110221 test regressions 4 Medium Andrew Stubbs  10 Fix Released
660156 #660156 Heap randomisation causes PCH testsuite failures 5 Low Michael Hope  10 Fix Released
This milestone contains Public information
Everyone can see this information.