platform/upstream/gcc.git
10 years agore PR fortran/59143 ([OOP] Bogus warning with array-valued type-bound procedure)
Janus Weil [Mon, 25 Nov 2013 09:45:40 +0000 (10:45 +0100)]
re PR fortran/59143 ([OOP] Bogus warning with array-valued type-bound procedure)

2013-11-25  Janus Weil  <janus@gcc.gnu.org>

PR fortran/59143
* interface.c (get_expr_storage_size): Handle array-valued type-bound
procedures.

2013-11-25  Janus Weil  <janus@gcc.gnu.org>

PR fortran/59143
* gfortran.dg/typebound_proc_30.f90: New.

From-SVN: r205345

10 years agore PR c++/59080 ([c++11] ICE with array of auto)
Paolo Carlini [Mon, 25 Nov 2013 09:29:18 +0000 (09:29 +0000)]
re PR c++/59080 ([c++11] ICE with array of auto)

/cp
2013-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59080
* pt.c (unify): Don't call unify_array_domain with a NULL_TREE
third argument.

PR c++/59096
* pt.c (apply_late_template_attributes): Check that TREE_VALUE
isn't NULL_TREE in the attribute_takes_identifier_p case.

/testsuite
2013-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59080
* g++.dg/cpp0x/initlist75.C: New.

PR c++/59096
* g++.dg/cpp0x/gen-attrs-57.C: New.

From-SVN: r205344

10 years agoDisallow implicit function templates in local functions unless defining a lambda.
Adam Butcher [Mon, 25 Nov 2013 07:43:55 +0000 (07:43 +0000)]
Disallow implicit function templates in local functions unless defining a lambda.

gcc/cp/
PR c++/59112
PR c++/59113
* parser.c (cp_parser_parameter_declaration_clause): Disallow implicit
function templates in local functions unless defining a lambda.

gcc/testsuite/
PR c++/59112
PR c++/59113
g++.dg/cpp1y/pr58533.C: Updated testcase.
g++.dg/cpp1y/pr59112.C: New testcase.
g++.dg/cpp1y/pr59113.C: New testcase.

From-SVN: r205343

10 years agoinvoke.texi (-mslow-flash-data): Document new option.
Terry Guo [Mon, 25 Nov 2013 06:41:20 +0000 (06:41 +0000)]
invoke.texi (-mslow-flash-data): Document new option.

gcc/ChangeLog
2013-11-25  Terry Guo  <terry.guo@arm.com>

* doc/invoke.texi (-mslow-flash-data): Document new option.
* config/arm/arm.opt (mslow-flash-data): New option.
* config/arm/arm-protos.h (arm_max_const_double_inline_cost): Declare
it.
* config/arm/arm.h (TARGET_USE_MOVT): Always true when literal pools
are disabled.
(arm_disable_literal_pool): Declare it.
* config/arm/arm.c (arm_disable_literal_pool): New variable.
(arm_option_override): Handle new option.
(thumb2_legitimate_address_p): Don't allow symbol references when
literal pools are disabled.
(arm_max_const_double_inline_cost): New function.
* config/arm/arm.md (types.md): Include it before ...
(use_literal_pool): New attribute.
(enabled): Use new attribute.
(split pattern): Replace symbol+offset with MOVW/MOVT.

gcc/testsuite/ChangeLog
2013-11-25  Terry Guo  <terry.guo@arm.com>

* gcc.target/arm/thumb2-slow-flash-data.c: New.

From-SVN: r205342

10 years agoDaily bump.
GCC Administrator [Mon, 25 Nov 2013 00:16:58 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r205341

10 years agore PR bootstrap/59279 (r205337 breaks bootstrap with java)
Steven Bosscher [Sun, 24 Nov 2013 21:59:49 +0000 (21:59 +0000)]
re PR bootstrap/59279 (r205337 breaks bootstrap with java)

PR bootstrap/59279
Revert previous commit.

From-SVN: r205338

10 years agojump.c (reset_insn_reg_label_operand_notes): New function, split out from ...
Steven Bosscher [Sun, 24 Nov 2013 19:15:36 +0000 (19:15 +0000)]
jump.c (reset_insn_reg_label_operand_notes): New function, split out from ...

* jump.c (reset_insn_reg_label_operand_notes): New function,
split out from ...
(init_label_info): ... here.  Reset LABEL_NUSES in cfglayout mode.
* cfgcleanup.c (delete_dead_jump_tables_between): New function,
split out from ...
(delete_dead_jumptables): ... here.  Handle cfglayout mode.
(cleanup_cfg): Delete dead jump tables in cfglayout mode if an
expensive CFG cleanup is called for.
* cfgrtl.c (fixup_reorder_chain): Remove BARRIERs from fallthru paths.
(cfg_layout_finalize): Delete dead jump tables before re-building
the insns chain.
* ira.c (ira): Rebuild jump labels *after* deleting unreachable
basic blocks, not before.
* loop-init.c (rtl_loop_done): Call for an expensive CFG cleanup.

* modulo-sched.c (sms_schedule): Do not look for BARRIERs in the
insns chain of a scheduling extended basic block, they cannot appear
there in cfglayout mode.

From-SVN: r205337

10 years agoinvoke.texi (-fsanitize=leak): Add link to the wiki page.
Tobias Burnus [Sun, 24 Nov 2013 16:02:10 +0000 (17:02 +0100)]
invoke.texi (-fsanitize=leak): Add link to the wiki page.

2013-11-24  Tobias Burnus  <burnus@net-b.de>

        * doc/invoke.texi (-fsanitize=leak): Add link to the wiki page.

From-SVN: r205336

10 years agoscanner.c (gfc_open_intrinsic_module): Remove function.
Francois-Xavier Coudert [Sun, 24 Nov 2013 14:43:20 +0000 (14:43 +0000)]
scanner.c (gfc_open_intrinsic_module): Remove function.

* scanner.c (gfc_open_intrinsic_module): Remove function.
* gfortran.h (gfc_open_intrinsic_module): Remove prototype.

From-SVN: r205335

10 years agors6000.c (rs6000_expand_vec_perm_const_1): Correct for little endian.
Bill Schmidt [Sun, 24 Nov 2013 14:23:54 +0000 (14:23 +0000)]
rs6000.c (rs6000_expand_vec_perm_const_1): Correct for little endian.

2013-11-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Correct
for little endian.

From-SVN: r205333

10 years agoDon't include extra "expr.h" in graphite-sese-to-poly.c
H.J. Lu [Sun, 24 Nov 2013 13:56:32 +0000 (13:56 +0000)]
Don't include extra "expr.h" in graphite-sese-to-poly.c

* graphite-sese-to-poly.c: Don't include extra "expr.h".

From-SVN: r205332

10 years ago* testsuite/ChangeLog: Fix ChangeLog entry.
Uros Bizjak [Sun, 24 Nov 2013 12:50:47 +0000 (13:50 +0100)]
* testsuite/ChangeLog: Fix ChangeLog entry.

From-SVN: r205325

10 years agofloat-exact-1.c: Use dg-add-options ieee.
Uros Bizjak [Sun, 24 Nov 2013 10:11:15 +0000 (11:11 +0100)]
float-exact-1.c: Use dg-add-options ieee.

* gcc.dg/float-exact-1.c: Use dg-add-options ieee.
[LDBL_MANT_DIG == 113]: Fix wrong variable name.

From-SVN: r205324

10 years agosyscall: Only call varargs libc functions from C code.
Ian Lance Taylor [Sun, 24 Nov 2013 02:38:28 +0000 (02:38 +0000)]
syscall: Only call varargs libc functions from C code.

From-SVN: r205321

10 years agoDaily bump.
GCC Administrator [Sun, 24 Nov 2013 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r205320

10 years agore PR c++/59031 (vtable lookup not optimized away)
Easwaran Raman [Sat, 23 Nov 2013 21:01:46 +0000 (21:01 +0000)]
re PR c++/59031 (vtable lookup not optimized away)

PR c++/59031
* call.c (build_new_method_call_1): Comnpare function context
with BASELINK_BINFO type rather than instance type before
marking the call with LOOKUP_NONVIRTUAL.

From-SVN: r205317

10 years agocompiler: Fix backend representation of calls to interface methods.
Ian Lance Taylor [Sat, 23 Nov 2013 19:01:57 +0000 (19:01 +0000)]
compiler: Fix backend representation of calls to interface methods.

Also unify all identical result parameter sets into a single
struct type, and fix the use of backend function pointers.

* go-gcc.cc (Gcc_backend::function_type): Add result_struct
parameter.

From-SVN: r205316

10 years ago* cilk-common.c (expand_builtin_cilk_detach): Dereference worker.
Eric Botcazou [Sat, 23 Nov 2013 16:44:02 +0000 (16:44 +0000)]
* cilk-common.c (expand_builtin_cilk_detach): Dereference worker.

From-SVN: r205313

10 years agore PR c++/58868 (ICE: in count_type_elements, at expr.c:5495 with -std=gnu++0x)
Jason Merrill [Sat, 23 Nov 2013 16:28:57 +0000 (11:28 -0500)]
re PR c++/58868 (ICE: in count_type_elements, at expr.c:5495 with -std=gnu++0x)

PR c++/58868
* init.c (build_aggr_init): Don't clobber the type of init
if we got an INIT_EXPR back from build_vec_init.
(build_vec_init): Do digest_init on trivial initialization.

From-SVN: r205311

10 years agore PR c++/58525 (__cxa_throw_bad_array_new_length is generated with -fno-exceptions)
Alexander Ivchenko [Sat, 23 Nov 2013 16:28:42 +0000 (16:28 +0000)]
re PR c++/58525 (__cxa_throw_bad_array_new_length is generated with -fno-exceptions)

PR c++/58525
* call.c (build_operator_new_call): Add flag_exceptions check.
* decl.c (compute_array_index_type): Ditto.
* init.c (build_new_1): Ditto.
(build_vec_init): Ditto.

From-SVN: r205310

10 years agore PR target/33704 (AIX runs c++ constructors in incorrect order)
David Edelsohn [Sat, 23 Nov 2013 15:38:07 +0000 (10:38 -0500)]
re PR target/33704 (AIX runs c++ constructors in incorrect order)

libgcc:

PR target/33704
        * config/rs6000/aixinitfini.c: New file.
        * config/rs6000/t-aix-cxa (LIB2ADD_ST): Add aixinitfini.c.
        * config/rs6000/libgcc-aix-cxa.ver (GCC_4.9): Add libgcc initfini
        symbols.

gcc:

PR target/33704
        * config/rs6000/aix.h (COLLECT_SHARED_INIT_FUNC): Define.
        (COLLECT_SHARED_FINI_FUNC): Define.

        * collect2.c (aix_shared_initname): Declare.
        (aix_shared_fininame): Declare.
        (symkind): Add SYM_AIXI and SYM_AIXD.
        (scanfilter_masks): Add SCAN_AIXI and SCAN_AIXD.
        (struct names special): Add GLOBAL__AIXI_ and GLOBAL__AIXD_.
        (aixlazy_flag): Parse.
        (extract_init_priority): SYM_AIXI and SYM_AIXD have highest priority.
        (scan_prog_file, COFF): Handle SYM_AIXI and SYM_AIXD.

Co-Authored-By: Andrew Dixie <andrewd@gentrack.com>
From-SVN: r205309

10 years agors6000.c (IN_NAMED_SECTION): New macro.
David Edelsohn [Sat, 23 Nov 2013 15:25:09 +0000 (15:25 +0000)]
rs6000.c (IN_NAMED_SECTION): New macro.

* config/rs6000/rs6000.c (IN_NAMED_SECTION): New macro.
(rs6000_xcoff_select_section): Place decls with stricter alignment
into named sections.
(rs6000_xcoff_unique_section): Allow unique sections for
uninitialized data with strict alignment.

From-SVN: r205308

10 years agore PR tree-optimization/59154 (internal compiler error: tree check: expected ssa_name...
Jakub Jelinek [Sat, 23 Nov 2013 14:21:46 +0000 (15:21 +0100)]
re PR tree-optimization/59154 (internal compiler error: tree check: expected ssa_name, have integer_cst)

PR tree-optimization/59154
* tree-ssa-reassoc.c (maybe_optimize_range_tests): When changing
rhs1 of a cast and new_op is invariant, fold_convert it.
* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Only call
simplify_conversion_from_bitmask if rhs1 is a SSA_NAME.

From-SVN: r205307

10 years agore PR target/56788 (_mm_frcz_sd and _mm_frcz_ss ignore their second argument)
Uros Bizjak [Sat, 23 Nov 2013 13:24:19 +0000 (14:24 +0100)]
re PR target/56788 (_mm_frcz_sd and _mm_frcz_ss ignore their second argument)

PR target/56788
* config/i386/i386.c (bdesc_multi_arg) <IX86_BUILTIN_VFRCZSS>:
Declare as MULTI_ARG_1_SF instruction.
<IX86_BUILTIN_VFRCZSD>: Decleare as MULTI_ARG_1_DF instruction.
* config/i386/sse.md (*xop_vmfrcz<mode>2): Rename
from *xop_vmfrcz_<mode>.
* config/i386/xopintrin.h (_mm_frcz_ss): Use __builtin_ia32_movss
to merge scalar result with __A.
(_mm_frcz_sd): Use __builtin_ia32_movsd to merge scalar
result with __A.

From-SVN: r205306

10 years agogimplify.h (recalculate_side_effects): Delete.
Eric Botcazou [Sat, 23 Nov 2013 10:23:02 +0000 (10:23 +0000)]
gimplify.h (recalculate_side_effects): Delete.

* gimplify.h (recalculate_side_effects): Delete.
* gimplify.c (recalculate_side_effects): Make static and add comment.
ada/
* gcc-interface/trans.c (Loop_Statement_to_gnu): Set TREE_SIDE_EFFECTS
on the conditional expression directly.

From-SVN: r205305

10 years agore PR fortran/59228 (ICE-on-invalid with assumed type and ASYNCHRONOUS)
Janus Weil [Sat, 23 Nov 2013 09:14:11 +0000 (10:14 +0100)]
re PR fortran/59228 (ICE-on-invalid with assumed type and ASYNCHRONOUS)

2013-11-23  Janus Weil  <janus@gcc.gnu.org>

PR fortran/59228
* interface.c (compare_parameter): Check for array spec.

2013-11-23  Janus Weil  <janus@gcc.gnu.org>

PR fortran/59228
* gfortran.dg/asynchronous_4.f90: New.

From-SVN: r205304

10 years agosh.md: Use nonimmediate_operand rather than general_operand for the destination of...
Richard Sandiford [Sat, 23 Nov 2013 09:07:19 +0000 (09:07 +0000)]
sh.md: Use nonimmediate_operand rather than general_operand for the destination of a...

gcc/
* config/sh/sh.md: Use nonimmediate_operand rather than general_operand
for the destination of a define_peephole2.  Likewise register_operand
rather than arith_reg_operand.  Remove constraints from
define_peephole2s.

From-SVN: r205303

10 years agomn10300-protos.h (mn10300_store_multiple_operation): Delete.
Richard Sandiford [Sat, 23 Nov 2013 09:07:01 +0000 (09:07 +0000)]
mn10300-protos.h (mn10300_store_multiple_operation): Delete.

gcc/
* config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation):
Delete.
(mn10300_store_multiple_operation_p): Declare.
* config/mn10300/mn10300.c (mn10300_store_multiple_operation):
Rename to...
(mn10300_store_multiple_operation_p): ...this and remove mode
argument.
* config/mn10300/predicates.md (mn10300_store_multiple_operation):
Define.

From-SVN: r205302

10 years agobfin-protos.h (push_multiple_operation): Delete.
Richard Sandiford [Sat, 23 Nov 2013 09:06:42 +0000 (09:06 +0000)]
bfin-protos.h (push_multiple_operation): Delete.

gcc/
* config/bfin/bfin-protos.h (push_multiple_operation): Delete.
(pop_multiple_operation): Delete.
(analyze_push_multiple_operation): Declare.
(analyze_pop_multiple_operation): Declare.
* config/bfin/bfin.c (push_multiple_operation): Rename to...
(analyze_push_multiple_operation): ...this and remove mode argument.
(pop_multiple_operation): Rename to...
(analyze_pop_multiple_operation): ...this and remove mode argument.
* config/bfin/predicates.md (push_multiple_operation): Define.
(pop_multiple_operation): Likewise.

From-SVN: r205301

10 years agovsx.md (fusion peepholes): Disable when !TARGET_VSX.
Alan Modra [Sat, 23 Nov 2013 05:35:18 +0000 (16:05 +1030)]
vsx.md (fusion peepholes): Disable when !TARGET_VSX.

* config/rs6000/vsx.md (fusion peepholes): Disable when !TARGET_VSX.

From-SVN: r205299

10 years agoDaily bump.
GCC Administrator [Sat, 23 Nov 2013 00:17:10 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r205297

10 years agoFix demangler to handle conversion operators correctly.
Cary Coutant [Fri, 22 Nov 2013 22:25:49 +0000 (22:25 +0000)]
Fix demangler to handle conversion operators correctly.

libiberty/
PR other/59195
* cp-demangle.c (struct d_info_checkpoint): New struct.
(struct d_print_info): Add current_template field.
(d_operator_name): Set flag when processing a conversion
operator.
(cplus_demangle_type): When processing <template-args> for
a conversion operator, backtrack if necessary.
(d_expression_1): Renamed from d_expression.
(d_expression): New wrapper around d_expression_1.
(d_checkpoint): New function.
(d_backtrack): New function.
(d_print_init): Initialize current_template.
(d_print_comp): Set current_template.
(d_print_cast): Put current_template in scope for
printing conversion operator name.
(cplus_demangle_init_info): Initialize is_expression and
is_conversion.
* cp-demangle.h (struct d_info): Add is_expression and
is_conversion fields.
* testsuite/demangle-expected: New test cases.

From-SVN: r205292

10 years agore PR sanitizer/59061 (Port leaksanitizer)
Jakub Jelinek [Fri, 22 Nov 2013 21:13:08 +0000 (22:13 +0100)]
re PR sanitizer/59061 (Port leaksanitizer)

PR sanitizer/59061
* common.opt (static-liblsan): Add.
* config/gnu-user.h (STATIC_LIBLSAN_LIBS, STATIC_LIBUBSAN_LIBS):
Define.
* flag-types.h (enum sanitize_code): Add SANITIZE_LEAK.  Renumber
SANITIZE_SHIFT, SANITIZE_DIVIDE, SANITIZE_UNREACHABLE, SANITIZE_VLA,
SANITIZE_RETURN.
* opts.c (common_handle_option): Handle -fsanitize=leak.
* gcc.c (ADD_STATIC_LIBLSAN_LIBS, LIBLSAN_SPEC): Define.
(LIBUBSAN_SPEC): Don't test LIBUBSAN_EARLY_SPEC.
(LIBUBSAN_EARLY_SPEC): Remove.
(SANITIZER_EARLY_SPEC): Don't do anything for libubsan.
(SANITIZER_SPEC): Add -fsanitize=leak handling.
(sanitize_spec_function): Handle %sanitize(leak).
* doc/invoke.texi (-static-liblsan, -fsanitize=leak): Document.

* c-c++-common/asan/no-redundant-instrumentation-7.c: Fix
cleanup-tree-dump directive.

* configure.tgt: Set LSAN_SUPPORTED=yes for x86_64-linux.
* configure.ac (LSAN_SUPPORTED): New AM_CONDITIONAL.
* configure: Regenerated.
* lsan/Makefile.am (toolexeclib_LTLIBRARIES, lsan_files,
liblsan_la_SOURCES, liblsan_la_LIBADD, liblsan_la_LDFLAGS): Add.
* lsan/Makefile.in: Regenerated.

From-SVN: r205290

10 years agosafe_local_iterator.h (_Safe_local_iterator<>): Remove _M_bucket, use same informatio...
François Dumont [Fri, 22 Nov 2013 20:55:53 +0000 (20:55 +0000)]
safe_local_iterator.h (_Safe_local_iterator<>): Remove _M_bucket, use same information in normal local_iterator.

2013-11-22  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/safe_local_iterator.h (_Safe_local_iterator<>):
Remove _M_bucket, use same information in normal local_iterator.
(operator==): Remove redundant _M_can_compare check.
* include/debug/safe_local_iterator.tcc: Adapt.
* include/debug/unordered_set: Likewise.
* include/debug/unordered_map: Likewise.

From-SVN: r205289

10 years ago20081223-1.c: Add -ffat-lto-objects.
Jan Hubicka [Fri, 22 Nov 2013 20:48:07 +0000 (21:48 +0100)]
20081223-1.c: Add -ffat-lto-objects.

* gcc.dg/20081223-1.c: Add -ffat-lto-objects.
* gcc.dg/vect/vect.exp: Add -ffat-lto-objects.

From-SVN: r205288

10 years agolibgo: Update libtool support for powerpc64le-linux-gnu.
Ian Lance Taylor [Fri, 22 Nov 2013 20:39:46 +0000 (20:39 +0000)]
libgo: Update libtool support for powerpc64le-linux-gnu.

From Ulrich Weigand.

From-SVN: r205287

10 years agoMakefile.am (check_DEJAGNU_normal_targets): Add 10.
Jakub Jelinek [Fri, 22 Nov 2013 20:38:59 +0000 (21:38 +0100)]
Makefile.am (check_DEJAGNU_normal_targets): Add 10.

* testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add 10.
(check-DEJAGNU): Add normal10, run 28_regex/[ab]*
tests as another separate job.
* testsuite/Makefile.in: Regenerated.

From-SVN: r205286

10 years agosanitizer_linux.cc (__sanitizer): Grab one change from upstream to fix build.
Mike Stump [Fri, 22 Nov 2013 20:33:06 +0000 (20:33 +0000)]
sanitizer_linux.cc (__sanitizer): Grab one change from upstream to fix build.

        * sanitizer_common/sanitizer_linux.cc (__sanitizer): Grab one
        change from upstream to fix build.

From-SVN: r205285

10 years agoipa.c (symtab_remove_unreachable_nodes): Fix up comment typos.
Aldy Hernandez [Fri, 22 Nov 2013 20:08:44 +0000 (20:08 +0000)]
ipa.c (symtab_remove_unreachable_nodes): Fix up comment typos.

* ipa.c (symtab_remove_unreachable_nodes): Fix up comment typos.
* ipa-prop.c (get_vector_of_formal_parm_types): Renamed to ...
(ipa_get_vector_of_formal_parm_types): ... this.  No longer static.
(ipa_modify_formal_parameters): Adjust caller.  Remove
synth_parm_prefix argument.  Use operator enum instead of bit fields.
Add assert for properly handling vector of references.  Handle
creating brand new parameters.
(ipa_modify_call_arguments): Use operator enum instead of bit
fields.
(ipa_combine_adjustments): Same.  Assert that IPA_PARM_OP_NEW is not
used.
(ipa_modify_expr, get_ssa_base_param, ipa_get_adjustment_candidate):
New functions.
(ipa_dump_param_adjustments): Rename reduction to new_decl.
Use operator enum instead of bit fields.
* ipa-prop.h (enum ipa_parm_op): New.
(struct ipa_parm_adjustment): New field op.  Rename reduction
to new_decl, new_arg_prefix to arg_prefix and remove remove_param
and copy_param.
(ipa_modify_formal_parameters): Remove last argument.
(ipa_get_vector_of_formal_parm_types, ipa_modify_expr,
ipa_get_adjustment_candidate): New prototypes.
* tree-sra.c (turn_representatives_into_adjustments): Use operator
enum.  Set arg_prefix.
(get_adjustment_for_base): Use operator enum.
(sra_ipa_modify_expr): Rename to ipa_modify_expr and move to
ipa-prop.c.
(sra_ipa_modify_assign): Rename sra_ipa_modify_expr to
ipa_modify_expr.
(ipa_sra_modify_function_body): Same.  No longer static.
(sra_ipa_reset_debug_stmts): Use operator enum.
(modify_function): Do not pass prefix argument.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r205284

10 years agoubsan.c (ubsan_source_location): Don't crash on unknown locations.
Jakub Jelinek [Fri, 22 Nov 2013 20:07:31 +0000 (21:07 +0100)]
ubsan.c (ubsan_source_location): Don't crash on unknown locations.

* ubsan.c (ubsan_source_location): Don't crash on
unknown locations.
(ubsan_pass): Ignore clobber stmts.

* sanitizer.def (BUILT_IN_UBSAN_HANDLE_MISSING_RETURN): New built-in.
* opts.c (common_handle_option): Add -fsanitize=return.
* flag-types.h (enum sanitize_code): Add SANITIZE_RETURN and
or it into SANITIZE_UNDEFINED.
c-family/
* c-ubsan.h (ubsan_instrument_return): New prototype.
* c-ubsan.c (ubsan_instrument_return): New function.
cp/
* cp-gimplify.c: Include target.h and c-family/c-ubsan.h.
(cp_ubsan_maybe_instrument_return): New function.
(cp_genericize): Call it if -fsanitize=return.
testsuite/
* g++.dg/ubsan/return-1.C: New test.
* g++.dg/ubsan/return-2.C: New test.

From-SVN: r205283

10 years agosanitizer.def (BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT, [...]): New.
Jakub Jelinek [Fri, 22 Nov 2013 20:04:45 +0000 (21:04 +0100)]
sanitizer.def (BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT, [...]): New.

* sanitizer.def (BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT,
BUILT_IN_ASAN_AFTER_DYNAMIC_INIT): New.
* asan.c (instrument_derefs): Handle also VAR_DECL loads/stores.
Don't instrument accesses to VAR_DECLs which are known to fit
into their bounds and the vars are known to have shadow bytes
indicating allowed access.
(asan_dynamic_init_call): New function.
(asan_add_global): If vnode->dynamically_initialized,
set __has_dynamic_init to 1 instead of 0.
(initialize_sanitizer_builtins): Add BT_FN_VOID_CONST_PTR var.
* asan.h (asan_dynamic_init_call): New prototype.
* cgraph.h (varpool_node): Add dynamically_initialized bitfield.
cp/
* decl2.c: Include asan.h.
(one_static_initialization_or_destruction): If -fsanitize=address,
init is non-NULL and guard is NULL, set
vnode->dynamically_initialized.
(do_static_initialization_or_destruction): Call
__asan_{before,after}_dynamic_init around the static initialization.
testsuite/
* c-c++-common/asan/no-redundant-instrumentation-1.c: Tweak to avoid
optimizing away some __asan_report* calls.

From-SVN: r205282

10 years agore PR rtl-optimization/10474 (shrink wrapping for functions)
Martin Jambor [Fri, 22 Nov 2013 19:37:00 +0000 (20:37 +0100)]
re PR rtl-optimization/10474 (shrink wrapping for functions)

PR rtl-optimization/10474
* ira.c (interesting_dest_for_shprep_1): New function.
(interesting_dest_for_shprep): Use interesting_dest_for_shprep_1,
also check parallels.

testsuite/
* gcc.dg/pr10474.c: Also test ppc64.
* gcc.dg/ira-shrinkwrap-prep-1.c: Also tes ppc64, changed all ints
        to longs.
* gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.

From-SVN: r205281

10 years agotree-ssa-threadedge.c (record_temporary_equivalence): Handle NULL for RHS, which...
Jeff Law [Fri, 22 Nov 2013 18:52:23 +0000 (11:52 -0700)]
tree-ssa-threadedge.c (record_temporary_equivalence): Handle NULL for RHS, which we used to invalidate equivalences.

* tree-ssa-threadedge.c (record_temporary_equivalence): Handle
NULL for RHS, which we used to invalidate equivalences.
(record_temporary_equivalences_from_phis): New bitmap arguments
and a boolean indicating if we have passed a backedge.  If we
have passed a backedge, then set the appropriate bit in the
bitmaps for the SRC & DEST of PHIs creating equivalences.
(invalidate_equivalences, dummy_simplify): New functions.
(cond_arg_set_in_b): Remove.
(record_temporary_equivalences_from_stmts_at_dest): New bitmap
arguments and a boolean indicating if we have passed a backedge.
If we have passed a backedge, then perform invalidations as
needed.
(thread_around_empty_blocks): If we have seen a backedge, then
use the dummy simplify routine.
(thread_through_normal_block): Likewise.  Pass bitmaps and
backedge status to children.  Do not pessimize so much when
traversing backedges in the CFG.
(thread_across_edge): Manage the SRC_MAP/DST_MAP bitmaps.
If we have seen a backedge, then use the dummy simplify routine.
Do not pessimize so much when traversing backedges.

From-SVN: r205279

10 years agore PR target/59054 (Powerpc -O0 -mcpu=power7 generates sub-optimal code to load 0)
Michael Meissner [Fri, 22 Nov 2013 17:24:32 +0000 (17:24 +0000)]
re PR target/59054 (Powerpc -O0 -mcpu=power7 generates sub-optimal code to load 0)

2013-11-22  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/59054
* gcc.target/powerpc/direct-move.h (VSX_REG_ATTR): Allow test to
specify an appropriate register class for VSX operations.
(load_vsx): Use it.
(load_gpr_to_vsx): Likewise.
(load_vsx_to_gpr): Likewise.
* gcc.target/powerpc/direct-move-vint1.c: Use an appropriate
register class for VSX registers that the type can handle.  Remove
checks for explicit number of instructions generated, just check
if the instruction is generated.
* gcc.target/powerpc/direct-move-vint2.c: Likewise.
* gcc.target/powerpc/direct-move-float1.c: Likewise.
* gcc.target/powerpc/direct-move-float2.c: Likewise.
* gcc.target/powerpc/direct-move-double1.c: Likewise.
* gcc.target/powerpc/direct-move-double2.c: Likewise.
* gcc.target/powerpc/direct-move-long1.c: Likewise.
* gcc.target/powerpc/direct-move-long2.c: Likewise.

* gcc.target/powerpc/pr59054.c: Remove duplicate code.

* gcc.target/powerpc/bool3-av.c: Limit to 64-bit mode for now.
* gcc.target/powerpc/bool3-p7.c: Likewise.
* gcc.target/powerpc/bool3-p8.c: Likewise.

* gcc.target/powerpc/p8vector-ldst.c: Just check that the
appropriate instructions are generated, don't check the count.

From-SVN: r205278

10 years agore PR libstdc++/59247 (Bootstrap fails due to errors in libstdc++ sources with `...
Jonathan Wakely [Fri, 22 Nov 2013 16:59:25 +0000 (16:59 +0000)]
re PR libstdc++/59247 (Bootstrap fails due to errors in libstdc++ sources with `--enable-symvers=gnu-versioned-namespace')

PR libstdc++/59247
* include/bits/c++config (_GLIBCXX_INLINE_VERSION): Declare namespace
std::experimental::__7 as inline.
* include/bits/regex.h (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Do not
enclose namespace __detail.
* include/bits/regex.tcc (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
* include/std/iomanip (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
* include/ext/pb_ds/tag_and_trait.hpp (detail): Fix comment.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.

From-SVN: r205277

10 years agocris.c (cris_atomic_align_for_mode): New function.
Hans-Peter Nilsson [Fri, 22 Nov 2013 16:39:37 +0000 (16:39 +0000)]
cris.c (cris_atomic_align_for_mode): New function.

* config/cris/cris.c (cris_atomic_align_for_mode): New function.
(TARGET_ATOMIC_ALIGN_FOR_MODE): Define.

From-SVN: r205276

10 years agoEnable AES, PCLMUL and RDRND for Silvermont
Yuri Rumyantsev [Fri, 22 Nov 2013 16:33:40 +0000 (16:33 +0000)]
Enable AES, PCLMUL and RDRND for Silvermont

gcc/

2013-11-22  Yuri Rumyantsev  <ysrumyan@gmail.com>

* config/i386/i386.c(processor_alias_table): Enable PTA_AES,
PTA_PCLMUL and PTA_RDRND for Silvermont.
* config/i386/driver-i386.c (host_detect_local_cpu): Set up cpu
for Silvermont.

* doc/invoke.texi: Mention AES, PCLMUL and RDRND for Silvermont.

libgcc/

2013-11-22  Yuri Rumyantsev  <ysrumyan@gmail.com>

 * config/i386/cpuinfo.c (get_intel_cpu): Add Silvermont cases.

From-SVN: r205275

10 years agocompiler: Fixes for middle-end changes.
Ian Lance Taylor [Fri, 22 Nov 2013 16:20:28 +0000 (16:20 +0000)]
compiler: Fixes for middle-end changes.

From Andrew MacLeod.

From-SVN: r205274

10 years agohooks.h (hook_uint_mode_0): Add Prototype.
Andrew MacLeod [Fri, 22 Nov 2013 16:19:21 +0000 (16:19 +0000)]
hooks.h (hook_uint_mode_0): Add Prototype.

* hooks.h (hook_uint_mode_0): Add Prototype.
* hooks.c (hook_uint_mode_0): New default function.
* target.def (atomic_align_for_mode): New target hook.
* tree.c (build_atomic_base): Add alignment override parameter.
(build_common_tree_nodes): Use atomic alignment override.
* doc/tm.texi.in (TARGET_ATOMIC_ALIGN_FOR_MODE): Define.
* doc/tm.texi (TARGET_ATOMIC_ALIGN_FOR_MODE): Add description.

From-SVN: r205273

10 years agogimple.h: Remove all includes.
Andrew MacLeod [Fri, 22 Nov 2013 15:58:51 +0000 (15:58 +0000)]
gimple.h: Remove all includes.

* gimple.h: Remove all includes.
(recalculate_side_effects): Move prototype to gimplify.h.
* Makefile.in (PLUGIN_HEADERS): Add flattened gimple.h includes.
* gengtype.c (open_base_files): Add gimple.h include list.
* gimplify.h (recalculate_side_effects): Relocate prototype here.
* gimple.c: Adjust include list.
(recalculate_side_effects): Move to gimplify.c.
* gimplify.c: Adjust include list.
(recalculate_side_effects): Relocate from gimple.c.
* alias.c: Add required include files removed from gimple.h.
* asan.c: Likewise.
* builtins.c: Likewise.
* calls.c: Likewise.
* cfgexpand.c: Likewise.
* cfgloop.c: Likewise.
* cfgloopmanip.c: Likewise.
* cgraphbuild.c: Likewise.
* cgraph.c: Likewise.
* cgraphclones.c: Likewise.
* cgraphunit.c: Likewise.
* cilk-common.c: Likewise.
* data-streamer.c: Likewise.
* data-streamer-in.c: Likewise.
* data-streamer-out.c: Likewise.
* dse.c: Likewise.
* dwarf2out.c: Likewise.
* emit-rtl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* gimple-builder.c: Likewise.
* gimple-expr.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-iterator.c: Likewise.
* gimple-low.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimple-ssa-isolate-paths.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple-streamer-in.c: Likewise.
* gimple-streamer-out.c: Likewise.
* gimple-walk.c: Likewise.
* gimplify-me.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* internal-fn.c: Likewise.
* ipa.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-devirt.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-reference.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* langhooks.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-compress.c: Likewise.
* lto-opts.c: Likewise.
* lto-section-in.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* omp-low.c: Likewise.
* opts-global.c: Likewise.
* passes.c: Likewise.
* predict.c: Likewise.
* profile.c: Likewise.
* sese.c: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* symtab.c: Likewise.
* targhooks.c: Likewise.
* toplev.c: Likewise.
* tracer.c: Likewise.
* trans-mem.c: Likewise.
* tree-affine.c: Likewise.
* tree.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chrec.c: Likewise.
* tree-complex.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-dfa.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-nested.c: Likewise.
* tree-nrv.c: Likewise.
* tree-object-size.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-phinodes.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-alias.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-dse.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssanames.c: Likewise.
* tree-ssa-operands.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-sink.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-ter.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-streamer.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vrp.c: Likewise.
* tsan.c: Likewise.
* ubsan.c: Likewise.
* value-prof.c: Likewise.
* varpool.c: Likewise.
* var-tracking.c: Likewise.
* vtable-verify.c: Likewise.

* ada/gcc-interface/trans.c: Add required include files from gimple.h.

* c/c-typeck.c: Add required include files from gimple.h.

* c-family/c-common.c: Add required include files from gimple.h.
* c-family/c-gimplify.c: Likewise
* c-family/cilk.c: Likewise

* cp/class.c: Add required include files from gimple.h.
* cp/cp-gimplify.c: Likewise
* cp/decl2.c: Likewise
* cp/init.c: Likewise
* cp/optimize.c: Likewise
* cp/pt.c: Likewise
* cp/semantics.c: Likewise
* cp/tree.c: Likewise
* cp/typeck.c: Likewise
* cp/vtable-class-hierarchy.c: Likewise

* fortran/trans.c: Add required include files from gimple.h.
* fortran/trans-expr.c: Likewise
* fortran/trans-openmp.c: Likewise

* go/gofrontend/expressions.cc: Add required include files from
gimple.h.
* go/gofrontend/gogo-tree.cc: Likewise
* go/gofrontend/types.cc: Likewise
* go/go-gcc.cc: Likewise
* go/go-lang.c: Likewise

* java/java-gimplify.c: Add required include files from gimple.h.

* lto/lto.c: Add required include files from gimple.h.
* lto/lto-lang.c: Likewise
* lto/lto-object.c: Likewise
* lto/lto-partition.c: Likewise
* lto/lto-symtab.c: Likewise

* objc/objc-act.c: Add required include files from gimple.h.

* config/darwin.c: Add required include files removed from gimple.h.
* config/aarch64/aarch64-builtins.c: Likewise.
* config/aarch64/aarch64.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/winnt.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
* config/xtensa/xtensa.c: Likewise.

* testsuite/gcc.dg/plugin/finish_unit_plugin.c: Add required include
files removed from gimple.h.
* testsuite/gcc.dg/plugin/ggcplug.c: Likewise.
* testsuite/gcc.dg/plugin/one_time_plugin.c: Likewise.
* testsuite/gcc.dg/plugin/selfassign.c: Likewise.
* testsuite/gcc.dg/plugin/start_unit_plugin.c: Likewise.
* testsuite/g++.dg/plugin/selfassign.c: Likewise.

From-SVN: r205272

10 years agore PR target/59216 (ARM negdi*extendsidi regression)
Richard Earnshaw [Fri, 22 Nov 2013 15:43:11 +0000 (15:43 +0000)]
re PR target/59216 (ARM negdi*extendsidi regression)

PR target/59216

gcc/
* arm.md (negdi_extendsidi): Fix invalid split.

gcc/testsuite/
* gcc.target/arm/negdi-4.c: Delete invalid test.
* gcc.dg/torture/pr59216.c: New test.

From-SVN: r205271

10 years ago[AArch64] vmov_n changes
Alex Velenko [Fri, 22 Nov 2013 15:39:45 +0000 (15:39 +0000)]
[AArch64] vmov_n changes

gcc/
* config/aarch64/arm_neon.h (vmov_n_f32): Implemented in C.
(vmov_n_f64): Likewise.
(vmov_n_p8): Likewise.
(vmov_n_p16): Likewise.
(vmov_n_s8): Likewise.
(vmov_n_s16): Likewise.
(vmov_n_s32): Likewise.
(vmov_n_s64): Likewise.
(vmov_n_u8): Likewise.
(vmov_n_u16): Likewise.
(vmov_n_u32): Likewise.
(vmov_n_u64): Likewise.
(vmovq_n_f32): Likewise.
(vmovq_n_f64): Likewise.
(vmovq_n_p8): Likewise.
(vmovq_n_p16): Likewise.
(vmovq_n_s8): Likewise.
(vmovq_n_s16): Likewise.
(vmovq_n_s32): Likewise.
(vmovq_n_s64): Likewise.
(vmovq_n_u8): Likewise.
(vmovq_n_u16): Likewise.
(vmovq_n_u32): Likewise.
(vmovq_n_u64): Likewise.

gcc/testsuite/
* gcc.target/aarch64/vmov_n_1.c: New testcase.

From-SVN: r205270

10 years agoaarch64-simd.md (vec_pack_trunc_<mode>, [...]): Swap for big-endian.
Tejas Belagod [Fri, 22 Nov 2013 15:34:36 +0000 (15:34 +0000)]
aarch64-simd.md (vec_pack_trunc_<mode>, [...]): Swap for big-endian.

2013-11-22  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
* config/aarch64/aarch64-simd.md (vec_pack_trunc_<mode>,
vec_pack_trunc_v2df, vec_pack_trunc_df): Swap for big-endian.
(reduc_<sur>plus_<mode>): Factorize V2DI into this.
(reduc_<sur>plus_<mode>): Change this to reduc_splus_<mode> for floats
and also change to float UNSPEC.
(reduc_maxmin_uns>_<mode>): Remove V2DI.
* config/aarch64/arm_neon.h (vaddv<q>_<suf><8,16,32,64>,
        vmaxv<q>_<suf><8,16,32,64>, vminv<q>_<suf><8,16,32,64>): Fix up scalar
result access for big-endian.
        (__LANE0): New macro used to fix up lane access of 'across-lanes'
         intrinsics for big-endian.
* config/aarch64/iterators.md (VDQV): Add V2DI.
(VDQV_S): New.
(vp): New mode attribute.

From-SVN: r205269

10 years agoaarch64-simd.md (vec_pack_trunc_<mode>, [...]): Swap source ops for big-endian.
Tejas Belagod [Fri, 22 Nov 2013 15:31:57 +0000 (15:31 +0000)]
aarch64-simd.md (vec_pack_trunc_<mode>, [...]): Swap source ops for big-endian.

2013-11-22  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
* config/aarch64/aarch64-simd.md (vec_pack_trunc_<mode>,
vec_pack_trunc_v2df, vec_pack_trunc_df): Swap source ops for big-endian.

From-SVN: r205268

10 years agoaarch64-simd.md (aarch64_simd_vec_set<mode>): Adjust for big-endian element order.
Tejas Belagod [Fri, 22 Nov 2013 15:29:19 +0000 (15:29 +0000)]
aarch64-simd.md (aarch64_simd_vec_set<mode>): Adjust for big-endian element order.

2013-11-22  Tejas Belagod  <tejas.belagod@arm.com>

* config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Adjust
for big-endian element order.
(aarch64_simd_vec_setv2di): Likewise.
(*aarch64_get_lane_extend<GPI:mode><VDQQH:mode>,
*aarch64_get_lane_zero_extendsi<mode>, aarch64_get_lane): Likewise.
(vec_extract): Expand using aarch64_get_lane.
* config/aarch64/aarch64.h (ENDIAN_LANE_N): New.

From-SVN: r205267

10 years agoaarch64-simd.md (*aarch64_simd_mov<mode>): Fix loads and stores to be ABI compliant.
Tejas Belagod [Fri, 22 Nov 2013 15:27:23 +0000 (15:27 +0000)]
aarch64-simd.md (*aarch64_simd_mov<mode>): Fix loads and stores to be ABI compliant.

2013-11-22  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Fix loads
and stores to be ABI compliant.

From-SVN: r205266

10 years agoRemove macros that implicitly use input_location
David Malcolm [Fri, 22 Nov 2013 14:18:13 +0000 (14:18 +0000)]
Remove macros that implicitly use input_location

gcc/
* input.h (input_line): Remove.
(input_filename): Likewise.
(in_system_header): Likewise.
* tree.h (EXPR_LOC_OR_HERE): Remove.
* config/bfin/bfin.c (output_file_start): Remove use of
input_filename macro.
* builtins.c (c_strlen): Remove use of EXPR_LOC_OR_HERE macro.
* gimplify.c (internal_get_tmp_var): Likewise.
EXPR_LOC_OR_HERE macro.
(shortcut_cond_expr): Likewise.
* tree-diagnostic.c (diagnostic_report_current_function): Remove
use of input_filename macro.
* tree.c (get_file_function_name): Likewise.

gcc/ada
* gcc-interface/utils2.c (build_call_raise): Remove use of
input_line macro.
(build_call_raise_range): Likewise.
(build_call_raise_column): Likewise.

gcc/c-family
* c-common.c (unsafe_conversion_p): Remove use of
EXPR_LOC_OR_HERE macro.
(conversion_warning): Likewise.
(warnings_for_convert_and_check): Likewise.
(warn_for_collisions_1): Likewise.
(shorten_compare): Likewise, and remove use of in_system_header
macro, using the location from the former.
* c-lex.c (dump_one_header): Remove use of input_filename macro.
(cb_def_pragma): Remove use of in_system_header macro.
(lex_string): Likewise.
* c-pragma.c (handle_pragma_float_const_decimal64): Likewise.

gcc/c
* c-decl.c (define_label, shadow_tag_warned)
(check_bitfield_type_and_width, grokdeclarator, grokparms,
store_parm_decls_newstyle, store_parm_decls_oldstyle)
(declspecs_add_type): Remove use of in_system_header macro.
* c-parser.c (c_parser_unary_expression): Likewise.
* c-typeck.c (store_init_value, process_init_element)
(c_start_case): Likewise.

* c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
macro.

* c-parser.c (c_parser_set_source_position_from_token): Remove
reference to in_system_header from comment.

gcc/cp
* call.c (build_integral_nontype_arg_conv): Remove use of
EXPR_LOC_OR_HERE macro.
(convert_like_real): Likewise.
(convert_arg_to_ellipsis): Likewise.
(build_cxx_call): Likewise.
(perform_implicit_conversion_flags): Likewise.
(initialize_reference): Likewise.
* cvt.c (cp_convert_to_pointer): Likewise.
(convert_to_reference): Likewise.
(ocp_convert): Likewise.
(convert_to_void): Likewise.
* decl.c (pop_label): Update comment.
(pop_switch): Remove use of EXPR_LOC_OR_HERE macro.
(check_tag_decl): Remove use of in_system_header macro.
(make_rtl_for_nonlocal_decl): Remove use of input_filename
macro.
(compute_array_index_type): Remove use of in_system_header
macro.
(grokdeclarator): Likewise.
* error.c (dump_global_iord): Remove use of input_filename
macro.
(location_of): Remove use of EXPR_LOC_OR_HERE macro.
(maybe_warn_cpp0x): Remove use of in_system_header macro.
* init.c (build_new_1): Remove use of EXPR_LOC_OR_HERE macro.
* lex.c (handle_pragma_interface): Remove use of input_filename
macro.
(handle_pragma_implementation): Likewise.
(cxx_make_type): Likewise.
(in_main_input_context): Likewise.
* name-lookup.c (push_binding_level): Remove use of
input_line macro.
(leave_scope): Likewise.
(resume_scope): Likewise.
* parser.c (cp_parser_unqualified_id): Remove use of
in_system_header macro.
(cp_parser_cast_expression): Likewise.
(cp_parser_declaration_seq_opt): Likewise.
(cp_parser_enumerator_list): Likewise.
(cp_parser_parameter_declaration_clause): Likewise.
(cp_parser_exception_specification_opt): Likewise.
* pt.c (unify_arg_conversion): Remove use of EXPR_LOC_OR_HERE
macro.
(convert_nontype_argument): Likewise.
(push_tinst_level): Remove use of in_system_header macro.
(tsubst_copy_and_build): Remove use of EXPR_LOC_OR_HERE
macros.
(do_decl_instantiation): Remove use of in_system_header macro.
(do_type_instantiation): Likewise.
* semantics.c (finish_call_expr): Remove use of EXPR_LOC_OR_HERE
macro.
(begin_class_definition): Remove use of input_filename macro.
(cxx_eval_call_expression): Remove use of EXPR_LOC_OR_HERE
macro.
(cxx_eval_constant_expression): Likewise.
(potential_constant_expression_1): Likewise.
* typeck.c (decay_conversion): Likewise.
(rationalize_conditional_expr): Likewise.
(build_x_compound_expr_from_list): Likewise.
(convert_for_assignment): Likewise.
* typeck2.c (check_narrowing): Likewise.

gcc/fortran
* trans.c (trans_runtime_error_vararg): Remove use of input_line
macro.

gcc/java
* class.c (maybe_layout_super_class): Update comment.
* decl.c (java_add_stmt): Remove use of input_filename macro.
* jcf-parse.c (set_source_filename): Remove use of
input_filename macro.
(parse_class_file): Remove use of input_line and input_filename
macros.
(java_parse_file): Remove use of input_filename macro.

From-SVN: r205262

10 years agoFix formatting of changelog entry.
Richard Sandiford [Fri, 22 Nov 2013 13:59:55 +0000 (13:59 +0000)]
Fix formatting of changelog entry.

From-SVN: r205261

10 years ago2013-11-22 zadeck@naturalbridge.com
Kenneth Zadeck [Fri, 22 Nov 2013 13:55:53 +0000 (13:55 +0000)]
2013-11-22 zadeck@naturalbridge.com

2013-11-22  zadeck@naturalbridge.com
* store-layout.c
(place-field): Fix hwi test and accessor mismatch.

From-SVN: r205260

10 years agoexpr.c (store_constructor): Allow CONSTRUCTOR with VECTOR_TYPE (same sized) elements...
Jakub Jelinek [Fri, 22 Nov 2013 13:22:51 +0000 (14:22 +0100)]
expr.c (store_constructor): Allow CONSTRUCTOR with VECTOR_TYPE (same sized) elements even if...

* expr.c (store_constructor): Allow CONSTRUCTOR with VECTOR_TYPE
(same sized) elements even if the type of the CONSTRUCTOR has
vector mode and target is a REG.

From-SVN: r205259

10 years agoacinclude.m4 (libtool_VERSION): Bump.
Jonathan Wakely [Fri, 22 Nov 2013 13:18:42 +0000 (13:18 +0000)]
acinclude.m4 (libtool_VERSION): Bump.

2013-11-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

* acinclude.m4 (libtool_VERSION): Bump.
* configure: Regenerate.
* doc/xml/manual/abi.xml: Update version information.

From-SVN: r205258

10 years agorevert: tree-ssa-loop-ch.c (copy_loop_headers): Decrement nb_iterations_upper_bound...
Richard Biener [Fri, 22 Nov 2013 13:17:41 +0000 (13:17 +0000)]
revert: tree-ssa-loop-ch.c (copy_loop_headers): Decrement nb_iterations_upper_bound by one.

2013-11-22  Richard Biener  <rguenther@suse.de>

Revert
2013-11-21  Richard Biener  <rguenther@suse.de>

* tree-ssa-loop-ch.c (copy_loop_headers): Decrement
nb_iterations_upper_bound by one.

        * gcc.dg/torture/20131122-0.c: New testcase.

From-SVN: r205256

10 years agoEnable PTA_POPCNT for Silvermont
H.J. Lu [Fri, 22 Nov 2013 12:57:14 +0000 (12:57 +0000)]
Enable PTA_POPCNT for Silvermont

* config/i386/i386.c (processor_alias_table): Enable PTA_POPCNT
for Silvermont.

* doc/invoke.texi: Mention POPCNT for corei7, corei7-avx,
core-avx-i, core-avx2 and slm.

From-SVN: r205255

10 years agoOnly use visibility if supported
Rainer Orth [Fri, 22 Nov 2013 11:44:56 +0000 (11:44 +0000)]
Only use visibility if supported

* configure.ac (libcilkrts_cv_have_attribute_visibility): Check
for __attribute__((visibility)).
* configure: Regenerate.
* include/cilk/common.h (CILK_EXPORT, CILK_EXPORT_DATA): Only use
__attribute__((visibility)) if HAVE_ATTRIBUTE_VISIBILITY.

From-SVN: r205254

10 years agoEnable libcilkrts multilib build on Solaris
Rainer Orth [Fri, 22 Nov 2013 11:41:48 +0000 (11:41 +0000)]
Enable libcilkrts multilib build on Solaris

* configure.ac (AC_PROG_CXX): Move after AC_PROG_CC.
* configure: Regenerate.

From-SVN: r205253

10 years ago* print-rtl.c (print_rtx) <case MEM>: Output a space if no MEM_EXPR.
Eric Botcazou [Fri, 22 Nov 2013 11:22:51 +0000 (11:22 +0000)]
* print-rtl.c (print_rtx) <case MEM>: Output a space if no MEM_EXPR.

From-SVN: r205251

10 years agovalues.cc: Fix further thinkos.
Paolo Carlini [Fri, 22 Nov 2013 10:19:46 +0000 (10:19 +0000)]
values.cc: Fix further thinkos.

2013-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/ext/random/hypergeometric_distribution/operators/
values.cc: Fix further thinkos.

From-SVN: r205249

10 years agovalues.cc: Fix thinkos.
Paolo Carlini [Fri, 22 Nov 2013 10:08:39 +0000 (10:08 +0000)]
values.cc: Fix thinkos.

2013-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/ext/random/hypergeometric_distribution/operators/
values.cc: Fix thinkos.

From-SVN: r205248

10 years agocond.md (stzx_16): Use register_operand for operand 0.
Richard Sandiford [Fri, 22 Nov 2013 08:44:31 +0000 (08:44 +0000)]
cond.md (stzx_16): Use register_operand for operand 0.

gcc/
* config/m32c/cond.md (stzx_16): Use register_operand for operand 0.
(stzx_24_<mode>): Likewise mra_operand.

From-SVN: r205247

10 years agotree-ssa-threadupdate.c: Include tree-cfg.h and tree-pass.h
Jeff Law [Fri, 22 Nov 2013 07:48:21 +0000 (00:48 -0700)]
tree-ssa-threadupdate.c: Include tree-cfg.h and tree-pass.h

* tree-ssa-threadupdate.c: Include tree-cfg.h and tree-pass.h
(thread_block_1): Do not cancel jump threads which go from
inside a loop, through the header, then back inside the loop.
(bb_ends_with_multiway_branch): New function.
(thread_through_all_blocks): Handle threading cases which start
in a loop through the loop header to a point in the loop.

From-SVN: r205246

10 years agotree-ssa-threadedge.c (thread_across_edge): Mark the start of the jump thread path...
Jeff Law [Fri, 22 Nov 2013 07:36:12 +0000 (00:36 -0700)]
tree-ssa-threadedge.c (thread_across_edge): Mark the start of the jump thread path properly.

        * tree-ssa-threadedge.c (thread_across_edge): Mark the start of
        the jump thread path properly.

From-SVN: r205245

10 years agoadd auto_vec
Trevor Saunders [Fri, 22 Nov 2013 05:45:37 +0000 (05:45 +0000)]
add auto_vec

2013-11-22  Trevor Saunders  <tsaunders@mozilla.com>

gcc/
* vec.h (auto_vec): New class.
* cfganal.c, cfgloop.c, cgraphunit.c, config/i386/i386.c, dwarf2out.c,
function.c, genautomata.c, gimple.c, haifa-sched.c, ipa-inline.c,
ira-build.c, loop-unroll.c, omp-low.c, ree.c, trans-mem.c,
tree-call-cdce.c, tree-eh.c, tree-if-conv.c, tree-into-ssa.c,
tree-loop-distribution.c, tree-predcom.c, tree-sra.c,
tree-sssa-forwprop.c, tree-ssa-loop-manip.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
tree-vect-loop.c, tree-vect-stmts.c: Use auto_vec and stack_vec as
appropriate instead of vec for local variables.

cp/
* parser.c, semantics.c: Change some local variables from vec to
auto_vec or stack_vec.

From-SVN: r205244

10 years agore PR target/59233 (C++ failures after revision 205058 on *-apple-darwin* with -m32)
Teresa Johnson [Fri, 22 Nov 2013 04:16:47 +0000 (04:16 +0000)]
re PR target/59233 (C++ failures after revision 205058 on *-apple-darwin* with -m32)

2013-11-21  Teresa Johnson  <tejohnson@google.com>

PR target/59233
* cfgcleanup.c (outgoing_edges_match): Walk up past note instructions
not understood by old_insns_match_p.

From-SVN: r205243

10 years agovector.md (vec_pack_trunc_v2df): Revert previous little endian change.
Bill Schmidt [Fri, 22 Nov 2013 03:27:23 +0000 (03:27 +0000)]
vector.md (vec_pack_trunc_v2df): Revert previous little endian change.

2013-11-21  Bill Schmidt  <wschmidt@vnet.ibm.com>

* config/rs6000/vector.md (vec_pack_trunc_v2df): Revert previous
little endian change.
(vec_pack_sfix_trunc_v2df): Likewise.
(vec_pack_ufix_trunc_v2df): Likewise.
* config/rs6000/rs6000.c (rs6000_expand_interleave): Correct
double checking of endianness.

From-SVN: r205241

10 years agotree-vect-generic.c (optimize_vector_constructor): New function.
Jakub Jelinek [Fri, 22 Nov 2013 00:41:38 +0000 (01:41 +0100)]
tree-vect-generic.c (optimize_vector_constructor): New function.

* tree-vect-generic.c (optimize_vector_constructor): New function.
(expand_vector_operations_1): Call it.

* gcc.dg/vect/vect-124.c: New test.

From-SVN: r205240

10 years agoDaily bump.
GCC Administrator [Fri, 22 Nov 2013 00:17:08 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r205239

10 years agoi386.c (ix86_expand_special_args_builtin): Use ix86_zero_extend_to_Pmode where approp...
Uros Bizjak [Thu, 21 Nov 2013 23:36:31 +0000 (00:36 +0100)]
i386.c (ix86_expand_special_args_builtin): Use ix86_zero_extend_to_Pmode where appropriate.

* config/i386/i386.c (ix86_expand_special_args_builtin): Use
ix86_zero_extend_to_Pmode where appropriate.
(ix86_expand_builtin): Ditto.

From-SVN: r205236

10 years agoAdd minimal line tables at -g1.
Cary Coutant [Thu, 21 Nov 2013 23:08:27 +0000 (23:08 +0000)]
Add minimal line tables at -g1.

2013-11-21  Cary Coutant  <ccoutant@google.com>

gcc/
* dwarf2out.c (want_pubnames): Don't do pubnames for -g1.
(add_linkage_name): Don't add linkage name for -g1.
(decls_for_scope): Process subblocks for -g1.
(dwarf2out_source_line): Output line tables for -g1.
(dwarf2out_finish): Likewise.
* tree-ssa-live.c (remove_unused_scope_block_p): Don't prune
unused scopes for -g1.
* opts.c (common_handle_option): Handle -g same as -g2.
* doc/invoke.texi: Update description for -g1.

gcc/testsuite/
* gcc.dg/debug/dwarf2/mlt1.c: New test.
* gcc.dg/debug/dwarf2/mlt2.c: New test.

From-SVN: r205235

10 years ago* doc/extend.texi: Document htm builtins.
Peter Bergner [Thu, 21 Nov 2013 21:19:35 +0000 (15:19 -0600)]
* doc/extend.texi: Document htm builtins.

From-SVN: r205233

10 years agore PR tree-optimization/59221 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
Jeff Law [Thu, 21 Nov 2013 19:45:16 +0000 (12:45 -0700)]
re PR tree-optimization/59221 (wrong code at -O2 and -O3 on x86_64-linux-gnu)

PR tree-optimization/59221
* tree-ssa-threadedge.c (thread_across_edge): Properly manage
temporary equivalences when threading through joiner blocks.

PR tree-optimization/59221
* gcc.c-torture/execute/pr59221.c: New test.

From-SVN: r205229

10 years agore PR rtl-optimization/55950 (Invalid sqrt constant propagation with -frounding-mode)
Joseph Myers [Thu, 21 Nov 2013 16:20:28 +0000 (16:20 +0000)]
re PR rtl-optimization/55950 (Invalid sqrt constant propagation with -frounding-mode)

PR rtl-optimization/55950
* real.c (real_sqrt): Remove function.
* real.h (real_sqrt): Remove prototype.
* simplify-rtx.c (simplify_const_unary_operation): Do not fold
SQRT using real_sqrt.

From-SVN: r205223

10 years agore PR tree-optimization/59058 (wrong code at -O3 on x86_64-linux-gnu (affecting gcc...
Richard Biener [Thu, 21 Nov 2013 14:09:15 +0000 (14:09 +0000)]
re PR tree-optimization/59058 (wrong code at -O3 on x86_64-linux-gnu (affecting gcc 4.6 to trunk))

2013-11-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59058
* tree-scalar-evolution.h (number_of_exit_cond_executions): Remove.
* tree-scalar-evolution.c (number_of_exit_cond_executions): Likewise.
* tree-vectorizer.h (LOOP_PEELING_FOR_ALIGNMENT): Rename to ...
(LOOP_VINFO_PEELING_FOR_ALIGNMENT): ... this.
(NITERS_KNOWN_P): Fold into ...
(LOOP_VINFO_NITERS_KNOWN_P): ... this.
(LOOP_VINFO_PEELING_FOR_NITER): Add.
* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
Use LOOP_VINFO_PEELING_FOR_ALIGNMENT.
(vect_do_peeling_for_alignment): Re-use precomputed niter
instead of re-emitting it.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
Use LOOP_VINFO_PEELING_FOR_ALIGNMENT.
* tree-vect-loop.c (vect_get_loop_niters): Use
number_of_latch_executions.
(new_loop_vec_info): Initialize LOOP_VINFO_PEELING_FOR_NITER.
(vect_analyze_loop_form): Simplify.
(vect_analyze_loop_operations): Move epilogue peeling code ...
(vect_analyze_loop_2): ... here and adjust it to compute
LOOP_VINFO_PEELING_FOR_NITER.
(vect_estimate_min_profitable_iters): Use
LOOP_VINFO_PEELING_FOR_ALIGNMENT.
(vect_build_loop_niters): Emit on the preheader.
(vect_generate_tmps_on_preheader): Likewise.
(vect_transform_loop): Use LOOP_VINFO_PEELING_FOR_NITER instead
of recomputing it.  Adjust.

From-SVN: r205217

10 years agotree-vectorizer.h (LOC, [...]): Remove wrappers and fix all users.
Richard Biener [Thu, 21 Nov 2013 13:57:40 +0000 (13:57 +0000)]
tree-vectorizer.h (LOC, [...]): Remove wrappers and fix all users.

2013-11-21  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
LOC_LINE): Remove wrappers and fix all users.
(struct _loop_vec_info): Remove loop_line_number member.
(LOOP_VINFO_LOC): Remove.
* tree-parloops.c, tree-vect-loop-manip.c, tree-vect-slp.c,
tree-vectorizer.c: Fix users of LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE
and LOC_LINE.

From-SVN: r205216

10 years agostring_view: Rep empty string with unit-length static constexpr string.
Edward Smith-Rowland [Thu, 21 Nov 2013 12:30:37 +0000 (12:30 +0000)]
string_view: Rep empty string with unit-length static constexpr string.

2013-11-21  Edward Smith-Rowland  <3dw4rd@verizon.net>

* include/experimental/string_view: Rep empty string with unit-length
static constexpr string. Uncomment _GLIBCXX_VISIBILITY. Enforce
invariant of no nullptr string pointer.
* include/experimental/string_view.tcc: Ditto.
* testsuite/experimental/string_view/cons/char/1.cc: data() for empty
string_view is no longer nullptr.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: Ditto.
* testsuite/experimental/string_view/operations/data/char/1.cc: Ditto.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
Ditto.

From-SVN: r205213

10 years agoImplement __gnu_cxx::hypergeometric_distribution.
Edward Smith-Rowland [Thu, 21 Nov 2013 12:27:02 +0000 (12:27 +0000)]
Implement __gnu_cxx::hypergeometric_distribution.

2013-11-21  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement __gnu_cxx::hypergeometric_distribution.
* include/ext/random: Add hypergeometric_distribution.
* include/ext/random.tcc: Add hypergeometric_distribution.
* testsuite/util/testsuite_random.h (hypergeometric_pdf): New pdf
for the hypergeometric discreet distribution;
(lbincoef): New supporting function for binomial coefficients.
* testsuite/ext/random/hypergeometric_distribution/operators/
serialize.cc: New.
* testsuite/ext/random/hypergeometric_distribution/operators/
equal.cc: New.
* testsuite/ext/random/hypergeometric_distribution/operators/
inequal.cc: New.
* testsuite/ext/random/hypergeometric_distribution/operators/
values.cc: New.
* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: New.
* testsuite/ext/random/hypergeometric_distribution/cons/default.cc: New.
* testsuite/ext/random/hypergeometric_distribution/requirements/
explicit_instantiation/1.cc: New.
* testsuite/ext/random/hypergeometric_distribution/requirements/
typedefs.cc: New.

From-SVN: r205212

10 years agotree-ssa-forwprop.c (simplify_vce): New function.
Richard Biener [Thu, 21 Nov 2013 11:53:20 +0000 (11:53 +0000)]
tree-ssa-forwprop.c (simplify_vce): New function.

2013-11-21  Richard Biener  <rguenther@suse.de>

* tree-ssa-forwprop.c (simplify_vce): New function.
(ssa_forward_propagate_and_combine): Call it.

From-SVN: r205211

10 years agore PR libfortran/59227 (FAIL: gfortran.dg/erf_3.F90 -O0 execution test)
Francois-Xavier Coudert [Thu, 21 Nov 2013 11:37:07 +0000 (11:37 +0000)]
re PR libfortran/59227 (FAIL: gfortran.dg/erf_3.F90  -O0  execution test)

PR libfortran/59227
* gfortran.dg/erf_3.F90: XFAIL on spu-* and ia64-*-linux*.
Make more generic for other platforms.

From-SVN: r205210

10 years agoRemove wrong PR link
Andreas Schwab [Thu, 21 Nov 2013 09:24:44 +0000 (09:24 +0000)]
Remove wrong PR link

From-SVN: r205201

10 years agotree-vect-loop-manip.c (vect_build_loop_niters, [...]): Move ...
Richard Biener [Thu, 21 Nov 2013 09:19:31 +0000 (09:19 +0000)]
tree-vect-loop-manip.c (vect_build_loop_niters, [...]): Move ...

2013-11-21  Richard Biener  <rguenther@suse.de>

* tree-vect-loop-manip.c (vect_build_loop_niters,
vect_generate_tmps_on_preheader): Move ...
* tree-vect-loop.c (vect_build_loop_niters,
vect_generate_tmps_on_preheader): ... here and simplify.
(vect_transform_loop): Call them here and pass down results
to consumers.
* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound):
Get niter variables from caller.
(vect_do_peeling_for_alignment): Likewise.
* tree-vectorizer.h (vect_generate_tmps_on_preheader): Remove.
(vect_do_peeling_for_loop_bound, vect_do_peeling_for_alignment):
Adjust prototypes.

From-SVN: r205199

10 years agotree-ssa-loop-ch.c (copy_loop_headers): Decrement nb_iterations_upper_bound by one.
Richard Biener [Thu, 21 Nov 2013 09:15:38 +0000 (09:15 +0000)]
tree-ssa-loop-ch.c (copy_loop_headers): Decrement nb_iterations_upper_bound by one.

2013-11-21  Richard Biener  <rguenther@suse.de>

* tree-ssa-loop-ch.c (copy_loop_headers): Decrement
nb_iterations_upper_bound by one.

From-SVN: r205198

10 years agore PR tree-optimization/59058 (wrong code at -O3 on x86_64-linux-gnu (affecting gcc...
Richard Biener [Thu, 21 Nov 2013 09:15:05 +0000 (09:15 +0000)]
re PR tree-optimization/59058 (wrong code at -O3 on x86_64-linux-gnu (affecting gcc 4.6 to trunk))

2013-11-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59058
* tree-loop-distribution.c (struct partition_s): Add plus_one
member.
(build_size_arg_loc): Apply niter adjustment here.
(generate_memset_builtin): Adjust.
(generate_memcpy_builtin): Likewise.
(classify_partition): Do not use number_of_exit_cond_executions
but record whether niter needs to be adjusted.

From-SVN: r205197

10 years agotree-ssa-tail-merge.c (stmt_local_def): Return false if the statement could throw.
Eric Botcazou [Thu, 21 Nov 2013 09:12:43 +0000 (09:12 +0000)]
tree-ssa-tail-merge.c (stmt_local_def): Return false if the statement could throw.

* tree-ssa-tail-merge.c (stmt_local_def): Return false if the statement
could throw.

From-SVN: r205196

10 years agore PR libfortran/59227 (FAIL: gfortran.dg/erf_3.F90 -O0 execution test)
Francois-Xavier Coudert [Thu, 21 Nov 2013 08:45:00 +0000 (08:45 +0000)]
re PR libfortran/59227 (FAIL: gfortran.dg/erf_3.F90  -O0  execution test)

PR libfortran/59227
* intrinsics/erfc_scaled.c (erfc_scaled_r16): Don't define if
__float128 is not available.

From-SVN: r205193

10 years agoFix ChangeLog entry.
Oleg Endo [Thu, 21 Nov 2013 08:21:44 +0000 (08:21 +0000)]
Fix ChangeLog entry.

From-SVN: r205192

10 years agore PR target/53976 ([SH] Unnecessary clrt/sett after bt/bf)
Oleg Endo [Thu, 21 Nov 2013 08:19:38 +0000 (08:19 +0000)]
re PR target/53976 ([SH] Unnecessary clrt/sett after bt/bf)

PR target/53976
* config/sh/sh_optimize_sett_clrt.cc: New SH specific RTL pass.
* config/sh/sh.c (register_sh_passes): Add sh_optimize_sett_clrt pass.
* config/sh/sh/t-sh (sh_optimize_sett_clrt pass.o): New entry.
* config.gcc (sh[123456789lbe]*-*-* | sh-*-*): Add
sh_optimize_sett_clrt pass.o to extra_objs.

PR target/53976
* gcc.target/sh/pr53976-1.c: New.

From-SVN: r205191

10 years agoReword comments that mention ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR macros
David Malcolm [Thu, 21 Nov 2013 01:28:11 +0000 (01:28 +0000)]
Reword comments that mention ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR macros

gcc/
2013-11-20  David Malcolm  <dmalcolm@redhat.com>

* cfg.c (dump_edge_info): Remove redundant comment.
* cfgcleanup.c (outgoing_edges_match): Reword reference to
EXIT_BLOCK_PTR in comment.
(try_optimize_cfg): Likewise.
* cfgrtl.c (last_bb_in_partition): Likewise.
* cgraph.c (cgraph_node_cannot_return): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* graphite-scop-detection.c (scopdet_basic_block_info): Likewise.
* ipa-split.c (consider_split): Likewise.
* profile.c (find_spanning_tree): Likewise.
* sched-int.h (common_sched_info_def.add_block): Likewise.
* dominance.c (calc_dfs_tree_nonrec): Reword references in
comments to now removed ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR macros.
* tree-cfgcleanup.c (cleanup_control_flow_bb): Reword references
in comments to now removed ENTRY_BLOCK_PTR macro.
(tree_forwarder_block_p): Reword reference in comment to
EXIT_BLOCK_PTR.
* tree-inline.c (copy_cfg_body): Reword references in comments to
now removed ENTRY_BLOCK_PTR macro.
* tree-ssa-propagate.c (ssa_prop_init): Likewise.
* tree-scalar-evolution.h ( block_before_loop): Likewise.  Add
a comma to the comment to clarify the meaning.

From-SVN: r205182

10 years agoFixup whitespace.
Mike Stump [Thu, 21 Nov 2013 00:34:13 +0000 (00:34 +0000)]
Fixup whitespace.

From-SVN: r205175

10 years agoDaily bump.
GCC Administrator [Thu, 21 Nov 2013 00:17:03 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r205172

10 years agogimplify.h (gimplify_hasher : typed_free_remove, [...]): Move to gimplify.c.
Andrew MacLeod [Thu, 21 Nov 2013 00:06:23 +0000 (00:06 +0000)]
gimplify.h (gimplify_hasher : typed_free_remove, [...]): Move to gimplify.c.

* gimplify.h (gimplify_hasher : typed_free_remove, struct gimplify_ctx):
Move to gimplify.c.
(free_gimplify_stack): Add prototype.
* gimplify.c (gimplify_hasher:typed_free_remove): Relocate here.
(struct gimplify_ctx): Relocate here.
(gimplify_ctxp): Make static.
(ctx_pool, ctx_alloc, ctx_free, free_gimplify_stack): New.  Manage a
list of struct gimplify_ctx.
(push_gimplify_context): Add default parameters and allocate a struct
from the pool.
(pop_gimplify_context): Free a struct back to the pool.
(gimplify_scan_omp_clauses, gimplify_omp_parallel, gimplify_omp_task,
gimplify_omp_workshare, gimplify_transaction, gimplify_body): Don't
use a local 'struct gimplify_ctx'.
* cgraphunit.c (expand_all_functions): call free_gimplify_stack.
* gimplify-me.c (force_gimple_operand_1, gimple_regimplify_operands):
Likewise.
* omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master,
lower_omp_ordered, lower_omp_critical, lower_omp_for,
create_task_copyfn, lower_omp_taskreg, lower_omp_target,
lower_omp_teams, execute_lower_omp): Likewise.
* gimple-fold.c (gimplify_and_update_call_from_tree): Likewise.
* tree-inline.c (optimize_inline_calls): Likewise.

From-SVN: r205168

10 years agore PR libfortran/49024 (REAL*16 ERFC_SCALED inaccuracy)
Francois-Xavier Coudert [Wed, 20 Nov 2013 22:18:55 +0000 (22:18 +0000)]
re PR libfortran/49024 (REAL*16 ERFC_SCALED inaccuracy)

PR libfortran/49024

* intrinsics/erfc_scaled.c (erfc_scaled_r16): New function.
* intrinsics/erfc_scaled_inc.c: Do not provide quadruple
precision variant.

* gfortran.dg/erf_3.F90: New file.

From-SVN: r205151