Janis Johnson [Mon, 27 Jun 2011 18:39:21 +0000 (18:39 +0000)]
scanasm.exp (dg-scan, [...]): For missing file...
* lib/scanasm.exp (dg-scan, scan-assembler-times, scan-assembler-dem,
scan-assembler-dem-not): For missing file, report unresolved with
same message as for pass/fail, with reason reported in log file.
Janis Johnson [Mon, 27 Jun 2011 18:38:00 +0000 (18:38 +0000)]
target-supports.exp (add_options_for_arm_fp16): Renamed from add_options_for_arm_neon_fp16.
* lib/target-supports.exp (add_options_for_arm_fp16): Renamed
from add_options_for_arm_neon_fp16.
(check_effective_target_arm_fp16_ok_nocache): Renamed from
check_effective_target_arm_neon_fp16_ok_nocache.
Check -mfpu and -mfloat-abi options from current multilib.
Do not require neon support.
(check_effective_target_arm_fp16_ok): Renamed from
check_effecitve_target_arm_neon_fp16_ok.
* g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: Use new names for
arm_neon_fp16_ok and arm_fp16.
* g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: Likewise.
* gcc.dg/torture/arm-fp16-ops-5.c: Likewise.
* gcc.dg/torture/arm-fp16-ops-6.c: Likewise.
* gcc.target/arm/fp16-compile-vcvt.c: Likewise.
Jakub Jelinek [Mon, 27 Jun 2011 16:45:49 +0000 (18:45 +0200)]
re PR debug/49544 (ICE in new_elt_loc_list)
PR debug/49544
* cselib.c (promote_debug_loc): If cselib_preserve_constants
and l has two DEBUG_INSN owned locs instead of just one, adjust
the second location's setting_insn too.
Kai Tietz [Mon, 27 Jun 2011 13:44:52 +0000 (15:44 +0200)]
tree-ssa-math-opts.c (do_shift_rotate): Zero bits out of type precision after operation.
2011-06-27 Kai Tietz <ktietz@redhat.com>
* tree-ssa-math-opts.c (do_shift_rotate): Zero bits
out of type precision after operation.
(find_bswap): Take for limit value the integer auto-
promotion into account.
Richard Guenther [Mon, 27 Jun 2011 10:31:30 +0000 (10:31 +0000)]
re PR middle-end/49536 (latent bug with creation of vector of arrays)
2011-06-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49536
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
For non-scalar inner types use a scalar type according to
the scalar inner mode.
Iain Sandoe [Sun, 26 Jun 2011 16:25:29 +0000 (16:25 +0000)]
re PR target/47997 (gcc on macosx: "ld: warning: -fwritable-strings not compatible with literal CF/NSString")
PR target/47997
* config/darwin.c (darwin_mergeable_string_section): Place string
constants in '.cstring' rather than '.const' when CF/NSStrings are
active.
Jason Merrill [Sun, 26 Jun 2011 14:00:33 +0000 (10:00 -0400)]
re PR c++/49528 (g++ fails to destroy temporary object when subobject is used to initialize a reference)
PR c++/49528
* semantics.c (potential_constant_expression_1): A TARGET_EXPR
with a cleanup isn't constant.
(cxx_eval_constant_expression): Likewise.
* init.c (expand_default_init): Use maybe_constant_init.
Iain Sandoe [Sat, 25 Jun 2011 11:17:35 +0000 (11:17 +0000)]
re PR driver/49371 (xgcc: error: unrecognized option '-pie' on *-apple-darwin*)
PR driver/49371
* config/darwin.c (darwin_override_options): Improve warning when
mdynamic-no-pic is given together with fPIC/fpic, also warn when it
is given with fpie/fPIE.
* config/darwin.h (PIE_SPEC): New, (LINK_SPEC): Use PIE_SPEC.
* config/darwin9.h (PIE_SPEC): New.
Easwaran Raman [Fri, 24 Jun 2011 17:10:18 +0000 (17:10 +0000)]
re PR rtl-optimization/49429 (dse.c change (r175063) causes execution failures)
2011-06-24 Easwaran Raman <eraman@google.com>
PR rtl-optimization/49429
PR target/49454
* expr.c (emit_block_move_hints): Mark MEM_EXPR(x) and
MEM_EXPR(y) addressable if emit_block_move_via_libcall is
used to copy y into x.
* calls.c (initialize_argument_information): Mark
an argument addressable if it is passed by invisible reference.
(emit_library_call_value_1): Mark MEM_EXPR (val) addressable
if it is passed by reference.
Jeff Law [Thu, 23 Jun 2011 21:30:20 +0000 (15:30 -0600)]
re PR middle-end/48770 (wrong code with -O -fprofile-arcs -fPIC -fno-dce -fno-forward-propagate -fno-tree-forwprop)
PR middle-end/48770
* reload.h (reload): Change to return a bool.
* ira.c (ira): If requested by reload, run a fast DCE pass after
reload has completed. Fix comment typo.
* reload1.c (need_dce): New file scoped static.
(reload): Set reload_completed here. Return whether or not a DCE
pass after reload is needed.
(delete_dead_insn): Set need_dce as needed.
Jeff Law [Thu, 23 Jun 2011 21:26:04 +0000 (15:26 -0600)]
re PR middle-end/49465 (Revision 175114 miscompiled 403.gcc in SPEC CPU 2006)
PR middle-end/49465
* tree-ssa-threadupate.c (fix_duplicate_block_edges): Fix condition
to detect threading through joiner block. If there was already
an edge to the new target, then do not change the PHI nodes.
Jeff Law [Thu, 23 Jun 2011 20:26:07 +0000 (14:26 -0600)]
re PR middle-end/49465 (Revision 175114 miscompiled 403.gcc in SPEC CPU 2006)
PR middle-end/49465
* tree-ssa-threadupate.c (fix_duplicate_block_edges): Fix condition
to detect threading through joiner block. If there was already
an edge to the new target, then do not change the PHI nodes.
Jan Hubicka [Thu, 23 Jun 2011 16:45:08 +0000 (18:45 +0200)]
re PR middle-end/49373 (Many testcase failures)
PR tree-optimize/49373
* tree-pass.h (all_late_ipa_passes): Declare.
* cgraphunit.c (init_lowered_empty_function): Fix properties.
(cgraph_optimize): Execute late passes; remove unreachable funcions after
materialization.
* ipa-inline.c (gate_ipa_inline): Enable only when optimizing or LTOing.
* passes.c (all_late_ipa_passes): Declare.
(dump_passes, register_pass): Handle late ipa passes.
(init_optimization_passes): Move ipa_pta to late passes; schedule fixup_cfg
at beggining of all_passes.
(apply_ipa_transforms): New function.
(execute_one_pass): When doing simple ipa pass, apply all transforms.
Jakub Jelinek [Wed, 22 Jun 2011 20:39:25 +0000 (22:39 +0200)]
re PR libgomp/49490 (suboptimal load balancing in loops)
PR libgomp/49490
* omp-low.c (expand_omp_for_static_nochunk): Only
use n ceil/ nthreads size for the first
n % nthreads threads in the team instead of
all threads except for the last few ones which
get less work or none at all.
* iter.c (gomp_iter_static_next): For chunk size 0
only use n ceil/ nthreads size for the first
n % nthreads threads in the team instead of
all threads except for the last few ones which
get less work or none at all.
* iter_ull.c (gomp_iter_ull_static_next): Likewise.
* env.c (parse_schedule): If OMP_SCHEDULE doesn't have
chunk argument, set run_sched_modifier to 0 for static
resp. 1 for other kinds. If chunk argument is 0
and not static, set value to 1.
Jonathan Wakely [Wed, 22 Jun 2011 19:57:12 +0000 (19:57 +0000)]
Makefile.am: Add alloc_traits.h headers.
2011-06-22 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/Makefile.am: Add alloc_traits.h headers.
* include/Makefile.in: Regenerate.
* include/std/memory: Include uses_allocator.h explicitly.
* include/bits/allocator.h (allocator_traits): Move to ...
* include/bits/alloc_traits.h: New header.
* include/ext/alloc_traits.h (__alloc_traits): Extension to provide
a common allocator interface for C++98 and C++0x.
* include/bits/stl_construct.h: Use __alloc_traits.
* include/bits/stl_uninitialized.h: Likewise.
Richard Guenther [Wed, 22 Jun 2011 18:02:06 +0000 (18:02 +0000)]
re PR tree-optimization/49493 (ICE: in insert_vi_for_tree, at tree-ssa-structalias.c:2637 with -O -fipa-pta)
2011-06-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49493
* tree-ssa-structalias.c (get_constraint_for_ssa_var):
Refer to the alias target of variables.
(associate_varinfo_to_alias_1): Remove.
(ipa_pta_execute): Do not associate aliases with anything.
* cgraph.h (varpool_alias_aliased_node): Fix cut&paste errors.
(cgraph_function_node): Likewise.
(cgraph_function_or_thunk_node): Likewise.
(varpool_variable_node): Likewise.
Jakub Jelinek [Wed, 22 Jun 2011 10:46:36 +0000 (12:46 +0200)]
tree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for builtin calls even if likelyvalue is not CONSTANT.
* tree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for
builtin calls even if likelyvalue is not CONSTANT.
Handle BUILT_IN_STRDUP and BUILT_IN_STRNDUP like BUILT_IN_MALLOC.
Return get_value_for_expr of first operand
for BUILT_IN_{MEM{CPY,MOVE,SET},STR{,N}CPY}{,_CHK}.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK like
their non-checking counterparts.
(call_may_clobber_ref_p_1): Likewise.
(stmt_kills_ref_p_1): Handle BUILT_IN_MEM{{,P}CPY,MOVE,SET}_CHK
like their non-checking counterparts.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
Handle BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK
like their non-checking counterparts.
(find_func_clobbers): Likewise.
* tree-ssa-dce.c (propagate_necessity): Handle BUILT_IN_MEMSET_CHK
like BUILT_IN_MEMSET and BUILT_IN_CALLOC like BUILT_IN_MALLOC.
Jakub Jelinek [Wed, 22 Jun 2011 10:44:56 +0000 (12:44 +0200)]
dwarf2out.c (size_of_loc_descr, [...]): Allow DW_OP_GNU_convert and DW_OP_GNU_reinterpret to use constant instead of...
* dwarf2out.c (size_of_loc_descr, output_loc_operands,
mark_base_types, hash_loc_operands, compare_loc_operands): Allow
DW_OP_GNU_convert and DW_OP_GNU_reinterpret to use constant instead
of base type reference as argument.
(resolve_addr_in_expr): Likewise. Fix keep computation.
(convert_descriptor_to_signed): Renamed to...
(convert_descriptor_to_mode): ... this. For wider types convert
to unsigned instead of signed, for <= DWARF2_ADDR_SIZE convert to
untyped.
(typed_binop): New function.
(scompare_loc_descriptor, ucompare_loc_descriptor,
minmax_loc_descriptor, mem_loc_descriptor): For wider integer modes
default to unsigned type instead of signed.