Andy Hutchinson [Mon, 11 Jan 2010 23:15:32 +0000 (23:15 +0000)]
lto.c (O_BINARY): Define.
2010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
* lto.c (O_BINARY): Define.
(lto_read_section_data): Open file in binary mode.
* lto-elf.c (O_BINARY): Define.
(lto_elf_file_open): Open file in binary mode.
Janis Johnson [Mon, 11 Jan 2010 20:29:40 +0000 (20:29 +0000)]
re PR target/42416 (ICE in rs6000_bulitin_vec_perm for 177.mesa with -mvsx)
PR target/42416
* config/rs6000/rs6000.c (rs6000_override_options): On targets
that support VSX, warn for -mno-altivec if vsx is not disabled,
and disable vsx.
* gcc.target/powerpc/warn-1.c: New test.
* gcc.target/powerpc/warn-2.c: New test.
Joseph Myers [Mon, 11 Jan 2010 04:28:36 +0000 (04:28 +0000)]
re PR translation/42467 (exgettext should not remove TABs from option help strings)
gcc/po/
2010-01-11 Joseph Myers <joseph@codesourcery.com>
Shujing Zhao <pearly.zhao@oracle.com>
PR translation/42467
* exgettext: Keep the text before tab character in the option help
string at *.opt file.
gcc/
2010-01-11 Joseph Myers <joseph@codesourcery.com>
Shujing Zhao <pearly.zhao@oracle.com>
PR translation/42469
* common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
character between option name and help text.
* c.opt (imultilib): Likewise.
gcc/fortran
2010-01-11 Joseph Myers <joseph@codesourcery.com>
Shujing Zhao <pearly.zhao@oracle.com>
PR translation/42469
* lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
finit-logical=, finit-real=, fmax-array-constructor=): Use tab
character between option name and help text.
Steven Bosscher [Sun, 10 Jan 2010 23:31:30 +0000 (23:31 +0000)]
re PR rtl-optimization/42621 (Computed gotos on AMD 800% slower)
PR rtl-optimization/42621
* bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
optimizing for size.
(duplicate_computed_gotos): Remove now-redundant check.
Sebastian Pop [Sun, 10 Jan 2010 21:46:42 +0000 (21:46 +0000)]
re PR middle-end/42393 ([graphite] internal compiler error: in check_loop_closed_ssa_use)
Fix PR42393.
2010-01-08 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/42393
* graphite-clast-to-gimple.c: Fix formatting.
* sese.c (defined_in_loop_p): Renamed name_defined_in_loop_p.
(expr_defined_in_loop_p): New.
(add_loop_exit_phis): Also handle full expressions: remove from
the rename_map the expressions defined in the loop that we're closing.
* testsuite/gfortran.dg/graphite/pr42393-1.f90: New.
* testsuite/gfortran.dg/graphite/pr42393.f90: Add new flags
-fno-loop-block -fno-loop-interchange -fno-loop-strip-mine to also
make this testcase useful in the Graphite branch.
Jakub Jelinek [Sat, 9 Jan 2010 17:56:12 +0000 (18:56 +0100)]
rs6000.c (rs6000_emit_set_long_const): Shorten sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by 1 insn.
* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
1 insn.
(num_insns_constant_wide): Adjust for that change.
Jerry DeLisle [Sat, 9 Jan 2010 17:47:04 +0000 (17:47 +0000)]
re PR fortran/20923 (gfortran slow for large array constructors)
2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/20923
PR fortran/32489
* trans-array.c (gfc_conv_array_initializer): Change call to
gfc_error_now to call to gfc_fatal_error.
* array.c (count_elements): Whitespace. (extract_element): Whitespace.
(is_constant_element): Changed name from constant_element.
(gfc_constant_ac): Only use expand_construuctor for expression
types of EXPR_ARRAY. If expression type is EXPR_CONSTANT, no need to
call gfc_is_constant_expr.
* expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
message.
* resolve.c (gfc_is_expandable_expr): New function that determiners if
array expressions should have their constructors expanded.
(gfc_resolve_expr): Use new function to determine whether or not to call
gfc_expand_constructor.
Alexandre Oliva [Sat, 9 Jan 2010 14:41:51 +0000 (14:41 +0000)]
re PR rtl-optimization/42631 ("-fcompare-debug failure" with "-O1 -funroll-loops")
gcc/ChangeLog:
PR debug/42631
* web.c (union_defs): Add used argument, to combine uses of
uninitialized regs.
(entry_register): Adjust type and tests of used argument.
(web_main): Widen used for new use. Pass it to union_defs.
* df.h (union_defs): Adjust prototype.
gcc/testsuite/ChangeLog:
PR debug/42631
* gcc.dg/pr42631.c: New.
Alexandre Oliva [Sat, 9 Jan 2010 14:41:35 +0000 (14:41 +0000)]
re PR debug/42630 ("-fcompare-debug failure (length)" with "-O1 -fvariable-expansion-in-unroller -funroll-loops")
gcc/ChangeLog:
PR debug/42630
* loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
uses in new incoming argument. Free body.
(reset_debug_uses_in_loop): New.
(analyze_insn_to_expand_var): Call the latter if the former found
anything. Fix whitespace. Reject invalid dest overlaps before
going through all insns in the loop.
gcc/testsuite/ChangeLog:
PR debug/42630
* gcc.dg/pr42630.c: New.
Tobias Burnus [Sat, 9 Jan 2010 09:11:53 +0000 (10:11 +0100)]
[multiple changes]
2010-01-09 Tobias Burnus <burnus@net-b.de>
PR fortran/41298
* trans-expr.c (gfc_trans_structure_assign): Handle
c_null_(fun)ptr.
* symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
to the constructor for c_null_(fun)ptr.
* resolve.c (resolve_structure_cons): Add special case
for c_null_(fun)ptr.
2010-01-09 Tobias Burnus <burnus@net-b.de>
PR fortran/41298
* gfortran.dg/c_ptr_tests_14.f90: New test.
re PR lto/42528 (ICE with -flto and -fsigned-char)
2010-01-08 Richard Guenther <rguenther@suse.de>
PR lto/42528
* c.opt (fsigned-char): Also let LTO handle this option.
(funsigned-char): Likewise.
lto/
* lto-lang.c (lto_handle_option): Handle -f[un]signed-char.
(lto_init): Do not init char_type_node in a standard way
but according to flag_signed_char.
* gcc.dg/lto/20100103-1_0.c: New testcase.
* gcc.dg/lto/20100103-2_0.c: Likewise.
Sebastian Pop [Fri, 8 Jan 2010 07:39:01 +0000 (07:39 +0000)]
re PR tree-optimization/42521 (ICE: in graphite_loop_normal_form, at graphite-sese-to-poly.c:2844)
Fix PR42521.
2010-01-07 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/42521
* graphite.c (graphite_finalize): Call scev_reset.
(graphite_transform_loops): Do not call scev_reset between the code
generation of scops.
Sebastian Pop [Fri, 8 Jan 2010 04:35:43 +0000 (04:35 +0000)]
Memoize memory strides per loop.
2010-01-07 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (memory_stride_in_loop): Renamed
pdr_stride_in_loop.
(memory_strides_in_loop): Renamed memory_strides_in_loop_1.
(memory_strides_in_loop): Memoize the memory strides per loop.
(lst_interchange_profitable_p): Do not initialize to zero the memory
strides.
* graphite-poly.h (struct lst): Add a field memory_strides.
(LST_LOOP_MEMORY_STRIDES): New.
(new_lst_loop): Initialize LST_LOOP_MEMORY_STRIDES to -1.
(free_lst): Clear LST_LOOP_MEMORY_STRIDES.
Ralf Wildenhues [Thu, 7 Jan 2010 19:53:50 +0000 (19:53 +0000)]
re PR bootstrap/41818 (Error building cross compiler caused by changing LD_LIBRARY_PATH environment variable in Makefile)
Fix PR bootstrap/41818.
/:
PR bootstrap/41818
* Makefile.tpl (BASE_TARGET_EXPORTS): Only add TARGET_LIB_PATH
to $(RPATH_ENVVAR) if bootstrapping. Fix typo in comment.
* Makefile.in: Regenerate.
Sebastian Pop [Thu, 7 Jan 2010 18:32:51 +0000 (18:32 +0000)]
Fix memory leaks.
2010-01-06 Sebastian Pop <sebastian.pop@amd.com>
* graphite-clast-to-gimple.c (save_clast_name_index): Free slot
before allocating a new one.
(copy_renames): Check that slot is not NULL.
(mark_bb_with_pbb): Same.
(compute_cloog_iv_types_1): Same.
* graphite-interchange.c (lst_perfect_nestify): Free the before,
nest, and after LSTs.
(lst_try_interchange_loops): Same.
Sebastian Pop [Thu, 7 Jan 2010 18:32:39 +0000 (18:32 +0000)]
re PR middle-end/42178 (Invalid memory access in graphite)
Fix PR42178.
2010-01-05 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/42178
* graphite-interchange.c (lst_try_interchange_loops): Do not return
the before, nest, and after LSTs.
(lst_try_interchange): Removed.
(lst_interchange_select_inner): Do not iterate over the LSTs if they
were modified.
(lst_interchange_select_outer): Apply interchange on the outer loop
until there are no more changes in the inner loops.
Jakub Jelinek [Thu, 7 Jan 2010 15:10:26 +0000 (16:10 +0100)]
re PR tree-optimization/42625 (-fipa-sra can generate different destructors in different object files, binary breaks after linking)
PR tree-optimization/42625
* cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body
aliases.
* g++.dg/opt/dtor4.C: New test.
* g++.dg/opt/dtor4.h: New.
* g++.dg/opt/dtor4-aux.cc: New.
Steven Bosscher [Thu, 7 Jan 2010 11:49:25 +0000 (11:49 +0000)]
gcse.c (execute_rtl_cprop, [...]): Do not add the DF_NOTE problem.
* gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
Do not add the DF_NOTE problem.
* store-motion.c (execute_rtl_store_motion): Likewise.
Martin Jambor [Thu, 7 Jan 2010 10:38:25 +0000 (11:38 +0100)]
re PR tree-optimization/42157 (ICE building stage 1 libgcc: SEGV in compare_access_positions)
2010-01-07 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/42157
* tree-sra.c (compare_access_positions): Stabilize sort if both
accesses have integer types, return zero immediately if they are the
same.
Paolo Carlini [Thu, 7 Jan 2010 00:22:51 +0000 (00:22 +0000)]
re PR libstdc++/26701 (std::time_get parses only 2 digits of year, in en_GB locale.)
2010-01-06 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/26701
* include/bits/locale_facets_nonio.tcc (time_get<>::_M_extract_num):
Encode short two digits over four parsings to negative numbers.
(time_get<>::_M_extract_via_format): Adjust, accept both two digits
and four digits for both 'y' and 'Y'.
(time_get<>::do_get_year): Call time_get<>::_M_extract_num.
* doc/xml/manual/prerequisites.xml: Add en_GB.
* testsuite/lib/libstdc++.exp: Adjust
* testsuite/22_locale/time_get/get_date/char/26701.cc: New.
* testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
Benjamin Kosnik [Wed, 6 Jan 2010 22:55:52 +0000 (22:55 +0000)]
re PR libstdc++/42491 (performance/30_threads/future/polling.cc fails at compile time)
2010-01-06 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/42491
* scripts/check_performance (CXX): Add -std=gnu++0x.
* testsuite/performance/30_threads/future/polling.cc: Mark up as
using threads.
Nick Clifton [Wed, 6 Jan 2010 17:37:31 +0000 (17:37 +0000)]
rx.h (enum rx_cpu_type): Add RX200.
* config/rx/rx.h (enum rx_cpu_type): Add RX200.
(CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
used together.
(OVERRIDE_OPTIONS): Delete.
(OPTIMIZATION_OPTIONS): Define.
(ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
* config/rx/rx.c (rx_handle_option): Issue an error message if
-mcpu=rx200 and -fpu are used together.
(rx_set_optimization_options): New function. Issue an error
message if an optimization attribute attempts to reset the FPU/
math optimization pairing.
* config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
* config/rx/rx.opt: Set the default to 32-bit doubles.
* config/rx/t-rx: Add multilibs for -nofpu option.
* doc/invoke.texi: Update documentation of RX options.
* tree-ssa-pre.c (name_to_id): New global.
(alloc_expression_id): Simplify SSA name handling.
(lookup_expression_id): Likewise.
(init_pre): Zero name_to_id.
(fini_pre): Free it.
Eric Botcazou [Tue, 5 Jan 2010 22:29:18 +0000 (22:29 +0000)]
re PR target/42564 (unrecognizable insn with -O -fPIC)
PR target/42564
* config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
* config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
(sparc_tls_referenced_p): Likewise.
* config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
and adjust calls to legitimize_pic_address.
(legitimate_constant_p) Use sparc_tls_referenced_p.
(legitimate_pic_operand_p): Likewise.
(sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
(sparc_tls_symbol_ref_1): Delete.
(sparc_tls_referenced_p): Make static, recognize specific patterns.
(legitimize_tls_address): Make static, handle CONST patterns.
(legitimize_pic_address): Make static, remove unused parameter and
adjust recursive calls.
(sparc_legitimize_address): Make static, use sparc_tls_referenced_p
and adjust call to legitimize_pic_address.
(sparc_output_mi_thunk): Likewise.