Jan Hubicka [Sun, 1 Mar 2009 18:47:08 +0000 (19:47 +0100)]
re PR debug/39267 (gdb testsuite regressions)
PR debug/39267
* tree.h (BLOCK_NONLOCALIZED_VARS, BLOCK_NUM_NONLOCALIZED_VARS,
BLOCK_NONLOCALIZED_VAR): New macros.
(tree_block): Add nonlocalized_vars.
* dwarf2out.c (gen_formal_parameter_die, gen_variable_die, gen_decl_die): Add
origin argument; allow generation of die with origin at hand only.
(gen_member_die, gen_type_die_with_usage, force_decl_die,
declare_in_namespace, gen_namescpace_die, dwarf2out_decl): Update use of gen_*.
(gen_block_die): Fix checking for unused blocks.
(process_scope_var): Break out from .... ; work with origins only.
(decls_for_scope) ... here; process nonlocalized list.
(dwarf2out_ignore_block): Look for nonlocalized vars.
* tree-ssa-live.c (remove_unused_scope_block_p): Look for nonlocalized vars.
(dump_scope_block): Dump them.
* tree-inline.c (remap_decls): Handle nonlocalized vars.
(remap_block): Likewise.
(can_be_nonlocal): New predicate.
(copy_bind_expr, copy_gimple_bind): Update use of remap_block.
Jan Hubicka [Sun, 1 Mar 2009 11:02:30 +0000 (12:02 +0100)]
re PR debug/39267 (gdb testsuite regressions)
PR debug/39267
* tree-inline.c (setup_one_parameter): Do not copy propagate
arguments when not optimizing.
PR debug/39267
* gcc.dg/debug/dwarf2/inline1.c: New testcase.
Eric Botcazou [Sun, 1 Mar 2009 10:53:17 +0000 (10:53 +0000)]
re PR ada/39264 (gnat.dg/pack3.adb fails on powerpc64/s390x)
PR ada/39264
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
call make_packable_type on fat pointer types.
<E_Array_Subtype>: Likewise.
<E_Record_Subtype>: Call make_packable_type on all record types
except for fat pointer types.
(make_packable_type): Likewise.
(gnat_to_gnu_field): Likewise.
Jan Hubicka [Sat, 28 Feb 2009 22:14:43 +0000 (23:14 +0100)]
tree-inline.c (expand_call_inline): Avoid duplicate declarations of static vars.
* tree-inline.c (expand_call_inline): Avoid duplicate declarations of
static vars.
(copy_arguments_for_versioning): If var is declared don't declare it.
(tree_function_versioning): First setup substitutions and then copy
args.
Jan Hubicka [Sat, 28 Feb 2009 21:34:23 +0000 (22:34 +0100)]
re PR debug/39267 (gdb testsuite regressions)
PR debug/39267
* cgraph.h (varpool_output_debug_info): Remove.
* cgraphunit.c (varpool_output_debug_info): Remove.
* dwarf2out.c (deferred_locations_struct): New struct
(deferred_locations): New type.
(deferred_locations_list): New static var.
(deffer_location): New function.
(gen_variable_die): Use it.
(decls_for_scope): Output info on local static vars.
(dwarf2out_finish): Process deferred locations.
* varpool.c (varpool_output_debug_info): Remove.
Andreas Schwab [Fri, 27 Feb 2009 09:54:25 +0000 (09:54 +0000)]
Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
gcc/ada/:
* Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
* gcc-interface/Makefile.in: Change all uses of $(srcdir),
$(fsrcdir) and $(fsrcpfx) to add ada subdir.
(AWK): Substitute.
(target_cpu_default): Substitute.
gnattools/:
* Makefile.in (fsrcdir): Point to gcc directory, not gcc/ada.
(INCLUDES_FOR_SUBDIR): Adjust.
(ADA_INCLUDES_FOR_SUBDIR): Adjust.
Paul Thomas [Thu, 26 Feb 2009 18:43:50 +0000 (18:43 +0000)]
re PR fortran/39295 (Too strict interface conformance check)
2009-02-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/39295
* interface.c (compare_type_rank_if): Return 1 if the symbols
are the same and deal with external procedures where one is
identified to be a function or subroutine by usage but the
other is not.
2009-02-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/39295
* gfortran.dg/interface_25.f90: New test.
* gfortran.dg/interface_26.f90: New test.
Paolo Bonzini [Wed, 25 Feb 2009 18:12:29 +0000 (18:12 +0000)]
regmove.c (regmove_optimize): Conform to struct rtl_opt_pass execute function prototype.
2009-02-25 Paolo Bonzini <bonzini@gnu.org>
* regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
execute function prototype. Get f and nregs from max_reg_num
and get_insns. Remove the first backward pass as it's dead,
guard the forward pass by flag_expensive_optimizations.
(rest_of_handle_regmove): Delete.
(pass_regmove): Replace it with regmove_optimize.
Martin Jambor [Wed, 25 Feb 2009 17:34:40 +0000 (18:34 +0100)]
tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and alls_alloca function flags.
2009-02-25 Martin Jambor <mjambor@suse.cz>
* tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and
alls_alloca function flags.
(copy_bb): Set calls_setjmp and alls_alloca function flags if such
calls are detected.
Sebastian Pop [Tue, 24 Feb 2009 06:47:56 +0000 (06:47 +0000)]
re PR middle-end/39260 (Failed to build lame-3.98-2 source with graphite)
2009-02-23 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/39260
* graphite.c (harmful_stmt_in_bb): Stop a SCoP when the basic block
contains a condition with a real type.
(build_scop_conditions_1): Conditions are always last_stmt of a bb.
Jan Hubicka [Mon, 23 Feb 2009 13:10:53 +0000 (14:10 +0100)]
re PR tree-optimization/37709 (inlining causes explosion in debug info)
PR tree-optimization/37709
* tree.c (block_ultimate_origin): Move here from dwarf2out.
* tree.h (block_ultimate_origin): Declare.
* dwarf2out.c (block_ultimate_origin): Move to tree.c
* tree-ssa-live.c (remove_unused_scope_block_p):
Eliminate blocks containig no instructions nor live variables nor
nested blocks.
(dump_scope_block): New function.
(remove_unused_locals): Enable removal of dead blocks by default;
enable dumping at TDF_DETAILS.
H.J. Lu [Sun, 22 Feb 2009 00:44:23 +0000 (00:44 +0000)]
re PR target/39261 (_mm256_set_epi64x failed on 32bit)
2008-02-21 H.J. Lu <hongjiu.lu@intel.com>
PR target/39261
* config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
ix86_expand_vector_set for V4DImode in 64bit mode only.
(ix86_expand_vector_init_one_var): Likewise.
Thomas Koenig [Sat, 21 Feb 2009 22:25:06 +0000 (22:25 +0000)]
re PR fortran/38914 ([4.3 only] ICE with array inquiry functions above contains in parameter expression)
2008-02-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/38914
* array.c (ref_dimen_size): Rename to gfc_ref_dimen_size,
make global. Change function name in error messages.
(ref_size): Change ref_dimen_size to gfc_ref_dimen_size.
(gfc_array_ref_shape): Likewise.
* gfortran.h: Add prototype for gfc_ref_dimen_size.
* simplify.c (simplify_bound_dim): Add ref argument.
If the reference isn't a full array, return one for
the lower bound and the extent for the upper bound.
(simplify_bound): For array sections, take as from the
argument. Add reference to all to simplify_bound_dim.
2008-02-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/38914
* bound_simplification_2.f90: New test case.
* bound_7.f90: New test case.
H.J. Lu [Sat, 21 Feb 2009 15:55:53 +0000 (07:55 -0800)]
re PR target/39256 (__m256 isn't returned in ymm0 in 32bit)
gcc/
2008-02-21 H.J. Lu <hongjiu.lu@intel.com>
PR target/39256
* config/i386/i386.c (type_natural_mode): Remove an extra
space in the warning message.
(function_value_32): Handle 32-byte vector modes.
(return_in_memory_32): Likewise.
gcc/
* loop-iv.c (truncate_value): New function.
(iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead
of lowpart_subreg.
(lowpart_subreg): Move to...
* emit-rtl.c: ...here.
Joseph Myers [Sat, 21 Feb 2009 02:18:01 +0000 (02:18 +0000)]
arm.c (arm_gimplify_va_arg_expr): Update prototype to take gimple_seq * arguments.
* config/arm/arm.c (arm_gimplify_va_arg_expr): Update prototype to
take gimple_seq * arguments.
(arm_mangle_type): Use CONST_CAST_TREE on type argument passed to
types_compatible_p langhook.
Jakub Jelinek [Fri, 20 Feb 2009 12:56:01 +0000 (13:56 +0100)]
re PR middle-end/39157 (Code that compiles fine in 1GB of memory with 4.1.2 requires > 20GB in 4.2.* and higher)
PR middle-end/39157
* Makefile.in (loop-invariant.o): Depend on $(PARAMS_H).
* params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
* params.def (loop-invariant-max-bbs-in-loop): New parameter.
* opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
parameter to 1000 for -O1 by default.
* doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
parameter.
* loop-invariant.c: Include params.h.
(move_loop_invariants): Don't call move_single_loop_invariants on
very large loops.
Jaka Mocnik [Fri, 20 Feb 2009 11:19:34 +0000 (12:19 +0100)]
calls.c (emit_library_call_value_1): Use slot_offset instead of offset when calculating bounds for indexing...
* calls.c (emit_library_call_value_1): Use slot_offset instead of
offset when calculating bounds for indexing stack_usage_map. Fixes
a buffer overflow with certain target setups.
Adam Nemet [Thu, 19 Feb 2009 21:26:34 +0000 (21:26 +0000)]
mips.exp: Comment !CPU in the isa* pseudo-options.
* gcc.target/mips/mips.exp: Comment !CPU in the isa* pseudo-options.
(mips-dg-options): When matching isa* pseudo-options make
'value' optional and accept ! entries. Use $spec instead of
$isa_spec in the isa pseudo-option error message. Only
perform the ISA-range check when 'value' is set. If arch is
matching any CPU in the ! entries switch to its generic ISA.
* gcc.target/mips/branch-1.c: Pass isa=!octeon.
* gcc.target/mips/dmult-1.c: Pass isa=64!octeon rather than
-mips64.
Jakub Jelinek [Thu, 19 Feb 2009 21:15:12 +0000 (22:15 +0100)]
re PR target/39175 (ICE while compiling qt-4.5.0-rc1)
PR target/39175
* c-common.c (c_determine_visibility): If visibility changed and
DECL_RTL has been already set, call make_decl_rtl to update symbol
flags.
* decl2.c (determine_visibility): If visibility changed and
DECL_RTL has been already set, call make_decl_rtl to update symbol
flags.
* gcc.dg/visibility-20.c: New test.
* g++.dg/ext/visibility/visibility-11.C: New test.