platform/upstream/gcc.git
9 years agotree-vrp.c (check_array_ref): Emit more warnings for warn_array_bounds >= 2.
Martin Uecker [Wed, 14 Jan 2015 06:50:19 +0000 (22:50 -0800)]
tree-vrp.c (check_array_ref): Emit more warnings for warn_array_bounds >= 2.

* tree-vrp.c (check_array_ref): Emit more warnings
for warn_array_bounds >= 2.
* common.opt: New option -Warray-bounds=.
* doc/invoke.texi: Document -Warray-bounds=.

* c.opt: New option -Warray-bounds=.

* gcc.dg/Warray-bounds-11.c: New test-case.

From-SVN: r219577

9 years ago[NDS32] Remove some features and options that are not available yet in nds32 port...
Chung-Ju Wu [Wed, 14 Jan 2015 06:08:35 +0000 (06:08 +0000)]
[NDS32] Remove some features and options that are not available yet in nds32 port of GNU binutils package.

gcc/
* config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
(mforbid-fp-as-gp): Remove.
(mex9): Remove.
* config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
(nds32_symbol_load_store_p): Remove.
(nds32_fp_as_gp_check_available): Clean up implementation.
* config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
cases.
* config/nds32/nds32.c (nds32_asm_file_start): No need to consider
fp-as-gp and ex9 cases.

From-SVN: r219576

9 years agoocteon3-pipe-1.c: New test.
Naveen H.S [Wed, 14 Jan 2015 06:08:24 +0000 (06:08 +0000)]
octeon3-pipe-1.c: New test.

* gcc.target/mips/octeon3-pipe-1.c: New test.

From-SVN: r219575

9 years agotree-profile.c (init_ic_make_global_vars): Drop workaround for bintuils bug 14342.
Jan Hubicka [Wed, 14 Jan 2015 05:28:50 +0000 (06:28 +0100)]
tree-profile.c (init_ic_make_global_vars): Drop workaround for bintuils bug 14342.

* tree-profile.c (init_ic_make_global_vars): Drop workaround
for bintuils bug 14342.
(init_ic_make_global_vars): Likewise.
(gimple_init_edge_profiler): Likewise.
(gimple_gen_ic_func_profiler): Likewise.

From-SVN: r219574

9 years agoipa-inline.c (inline_small_functions): Swap the operands in enum.
Naveen H.S [Wed, 14 Jan 2015 05:10:44 +0000 (05:10 +0000)]
ipa-inline.c (inline_small_functions): Swap the operands in enum.

2015-01-15  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* ipa-inline.c (inline_small_functions): Swap the operands in
enum.

From-SVN: r219573

9 years agore PR ipa/64481 (r219076 breaks bootstrap (x86_64-unknown-linux-gnu))
Jan Hubicka [Wed, 14 Jan 2015 03:47:17 +0000 (04:47 +0100)]
re PR ipa/64481 (r219076 breaks bootstrap (x86_64-unknown-linux-gnu))

PR ipa/64481
* ipa-inline-analysis.c (node_growth_cache): Remove.
(initialize_growth_caches): Do not initialize it.
(free_growth_caches): Do not free it.
(do_estimate_growth): Rename to ...
(estimate_growth): ... this one; drop growth cache code.
(growth_likely_positive): Always go the heuristics way.
* ipa-inline.c (can_inline_edge_p): Walk through aliases.
(reset_edge_caches): Do not reset node growth.
(heap_edge_removal_hook): Do not maintain cache.
(inline_small_functions): Likewise; strenghten sanity check.
(ipa_inline): Do not maintain caches.
* ipa-inline.h (node_growth_cache): Remove.
(do_estimate_growth): Remove to ...
(estimate_growth): this one; remove inline version.
(reset_node_growth_cache): Remove.

From-SVN: r219572

9 years agoDaily bump.
GCC Administrator [Wed, 14 Jan 2015 00:16:58 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r219569

9 years agoconfigure.host: Remove extra brackets for sh.
Kaz Kojima [Tue, 13 Jan 2015 23:30:33 +0000 (23:30 +0000)]
configure.host: Remove extra brackets for sh.

* libffi/configure.host: Remove extra brackets for sh.

From-SVN: r219565

9 years agojit: New API entrypoint: gcc_jit_context_dump_reproducer_to_file
David Malcolm [Tue, 13 Jan 2015 22:14:46 +0000 (22:14 +0000)]
jit: New API entrypoint: gcc_jit_context_dump_reproducer_to_file

gcc/jit/ChangeLog:
* docs/cp/topics/contexts.rst (Debugging): Add
gccjit::context::dump_reproducer_to_file.
* docs/internals/index.rst (Design notes): New section,
discussing input validation and
gcc_jit_context_dump_reproducer_to_file.
* docs/topics/contexts.rst (Debugging): Add
gcc_jit_context_dump_reproducer_to_file.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
* jit-common.h (gcc::jit::dump::get_context): New accessor.
* jit-recording.c: Include "hash-map.h".
Within namespace ::gcc::jit...
(dump::write): Flush each line.
(dump::make_location): Pass false for new param "created_by_user".
(class allocator): New class.
(allocator::~allocator): New function.
(allocator::xstrdup_printf): New function.
(allocator::xstrdup_printf_va): New function.
(class reproducer): New subclass of dump.
(reproducer::reproducer): New function.
(reproducer::write_params): New function.
(reproducer::write_args): New function.
(reproducer::make_identifier): New function.
(reproducer::make_tmp_identifier): New function.
(reproducer::get_identifier): New pair of functions.
(reproducer::get_identifier_as_rvalue): New function.
(reproducer::get_identifier_as_lvalue): New function.
(reproducer::get_identifier_as_type): New function.
(reproducer::xstrdup_printf): New function.
(recording::context::context): Initialize m_toplevel_ctxt.
(recording::context::new_location): Add param created_by_user.
(str_option_reproducer_strings): New table of strings.
(int_option_reproducer_strings): Likewise.
(bool_option_reproducer_strings): Likewise.
(get_type_enum_strings): Likewise.
(names_of_function_kinds): Likewise.
(global_kind_reproducer_strings): Likewise.
(unary_op_reproducer_strings): Likewise.
(binary_op_reproducer_strings): Likewise.
(comparison_reproducer_strings): Likewise.
Within namespace ::gcc::jit::recording::...
(context::dump_reproducer_to_file): New function.
(string::write_reproducer): Likewise.
(location::write_reproducer): Likewise.
(type::access_as_type): Likewise.
(memento_of_get_type::write_reproducer): Likewise.
(memento_of_get_pointer::write_reproducer): Likewise.
(memento_of_get_const::write_reproducer): Likewise.
(memento_of_get_volatile::write_reproducer): Likewise.
(array_type::write_reproducer): Likewise.
(function_type::write_reproducer): Likewise.
(function_type::write_deferred_reproducer): Likewise.
(field::write_reproducer): Likewise.
(struct_::access_as_type): Likewise.
(struct_::write_reproducer): Likewise.
(union_::write_reproducer): Likewise.
(fields::write_reproducer): Likewise.
(rvalue::access_as_rvalue): Likewise.
(lvalue::access_as_rvalue): Likewise.
(lvalue::access_as_lvalue): Likewise.
(param::access_as_rvalue): Likewise.
(param::access_as_lvalue): Likewise.
(param::write_reproducer): Likewise.
(function::write_reproducer): Likewise.
(block::write_reproducer): Likewise.
(global::write_reproducer): Likewise.
(memento_of_new_rvalue_from_const <int>::write_reproducer):
Likewise.
(memento_of_new_rvalue_from_const <long>::write_reproducer):
Likewise.
(memento_of_new_rvalue_from_const <double>::write_reproducer):
Likewise.
(memento_of_new_rvalue_from_const <void *>::write_reproducer):
Likewise.
(memento_of_new_string_literal::write_reproducer): Likewise.
(unary_op::write_reproducer): Likewise.
(binary_op::write_reproducer): Likewise.
(comparison::write_reproducer): Likewise.
(cast::write_reproducer): Likewise.
(call::write_reproducer): Likewise.
(call_through_ptr::write_reproducer): Likewise.
(array_access::write_reproducer): Likewise.
(access_field_of_lvalue::write_reproducer): Likewise.
(access_field_rvalue::write_reproducer): Likewise.
(dereference_field_rvalue::write_reproducer): Likewise.
(dereference_rvalue::write_reproducer): Likewise.
(get_address_of_lvalue::write_reproducer): Likewise.
(local::write_reproducer): Likewise.
(eval::write_reproducer): Likewise.
(assignment::write_reproducer): Likewise.
(assignment_op::write_reproducer): Likewise.
(comment::write_reproducer): Likewise.
(conditional::write_reproducer): Likewise.
(jump::write_reproducer): Likewise.
(return_::write_reproducer): Likewise.
* jit-recording.h (gcc::jit::reproducer): New forward declararion.
Within namespace ::gcc::jit::recording::...
(context::new_location): Add "created_by_user" param.
(context::dump_reproducer_to_file): New method.
(context::m_toplevel_ctxt): New field.
(memento::write_reproducer): New pure virtual function.
(memento::dyn_cast_location): New virtual function.
(string::write_reproducer):
(location::location): Add "created_by_user" param.
(location::dyn_cast_location): New function.
(location::created_by_user): New accessor.
(location::write_reproducer): New function.
(location::m_created_by_user): New field.
(type::access_as_type): New virtual function.
(location::write_reproducer): Likewise.
(type::access_as_type): Likewise.
(memento_of_get_type::write_reproducer): Likewise.
(memento_of_get_pointer::write_reproducer): Likewise.
(memento_of_get_const::write_reproducer): Likewise.
(memento_of_get_volatile::write_reproducer): Likewise.
(array_type::write_reproducer): Likewise.
(function_type::write_reproducer): Likewise.
(function_type::write_deferred_reproducer): Likewise.
(field::write_reproducer): Likewise.
(struct_::access_as_type): Likewise.
(struct_::write_reproducer): Likewise.
(union_::write_reproducer): Likewise.
(union_::m_fields): Remove stray unused field.
(fields::length): New accessor.
(fields::get_field): New accessor.
(fields::write_reproducer): New function.
(rvalue::access_as_rvalue): Likewise.
(lvalue::access_as_rvalue): Likewise.
(lvalue::access_as_lvalue): Likewise.
(param::access_as_rvalue): Likewise.
(param::access_as_lvalue): Likewise.
(param::write_reproducer): Likewise.
(function::write_reproducer): Likewise.
(block::write_reproducer): Likewise.
(global::write_reproducer): Likewise.
(memento_of_new_rvalue_from_const <HOST_TYPE>::write_reproducer):
Likewise.
(memento_of_new_string_literal::write_reproducer): Likewise.
(unary_op::write_reproducer): Likewise.
(binary_op::write_reproducer): Likewise.
(comparison::write_reproducer): Likewise.
(cast::write_reproducer): Likewise.
(call::write_reproducer): Likewise.
(call_through_ptr::write_reproducer): Likewise.
(array_access::write_reproducer): Likewise.
(access_field_of_lvalue::write_reproducer): Likewise.
(access_field_rvalue::write_reproducer): Likewise.
(dereference_field_rvalue::write_reproducer): Likewise.
(dereference_rvalue::write_reproducer): Likewise.
(get_address_of_lvalue::write_reproducer): Likewise.
(local::write_reproducer): Likewise.
(eval::write_reproducer): Likewise.
(assignment::write_reproducer): Likewise.
(assignment_op::write_reproducer): Likewise.
(comment::write_reproducer): Likewise.
(conditional::write_reproducer): Likewise.
(jump::write_reproducer): Likewise.
(return_::write_reproducer): Likewise.
* libgccjit++.h (gccjit::context::dump_reproducer_to_file): New.
* libgccjit.c (gcc_jit_context_new_location): Pass "true" as
param "created_by_user".
(gcc_jit_context_dump_reproducer_to_file): New API entrypoint.
* libgccjit.h (gcc_jit_context_dump_reproducer_to_file): New API
entrypoint.
* libgccjit.map (gcc_jit_context_dump_reproducer_to_file): New API
entrypoint.

gcc/testsuite/ChangeLog:
* jit.dg/harness.h (set_up_logging): Move string concatenation
into...
(concat_strings): New function.
(dump_reproducer): New function.
(test_jit): Call dump_reproducer.
* jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer): New
function.
(jit-dg-test): Delete any generated reproducer from previous runs.
Verify that a generated reproducer was created, and verify that it
compiles.
* jit.dg/test-nested-contexts.c (main): Call
gcc_jit_context_dump_reproducer_to_file.

From-SVN: r219564

9 years agoAdd dg-require-profiling to gcc.dg/aru-2.c
H.J. Lu [Tue, 13 Jan 2015 21:24:16 +0000 (21:24 +0000)]
Add dg-require-profiling to gcc.dg/aru-2.c

* gcc.dg/aru-2.c: Add dg-require-profiling.

From-SVN: r219561

9 years agoCheck if -pg links in check_profiling_available
H.J. Lu [Tue, 13 Jan 2015 21:13:36 +0000 (21:13 +0000)]
Check if -pg links in check_profiling_available

* lib/target-supports.exp (check_profiling_available): Check if
-pg links.

From-SVN: r219560

9 years agore PR c++/64356 (Some constexpr expressions not recognized as constexpr)
Jason Merrill [Tue, 13 Jan 2015 21:04:43 +0000 (16:04 -0500)]
re PR c++/64356 (Some constexpr expressions not recognized as constexpr)

PR c++/64356
PR libstdc++/58777
* constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
pointer expressions.
(cxx_eval_increment_expression): Likewise.

From-SVN: r219559

9 years agore PR c++/64514 (Error in template instantiation in GCC 4.9, works fine in GCC 4.8)
Jason Merrill [Tue, 13 Jan 2015 21:04:35 +0000 (16:04 -0500)]
re PR c++/64514 (Error in template instantiation in GCC 4.9, works fine in GCC 4.8)

PR c++/64514
* pt.c (coerce_template_parameter_pack): Return NULL for a
zero-length fixed parameter pack with a pack expansion arg.

From-SVN: r219558

9 years agore PR c++/64520 (ICE with std::initializer_list)
Jason Merrill [Tue, 13 Jan 2015 21:04:28 +0000 (16:04 -0500)]
re PR c++/64520 (ICE with std::initializer_list)

PR c++/64520
* pt.c (unify): Don't try to deduce to std::initializer_list<T...>.

From-SVN: r219557

9 years agore PR ipa/64565 (ICE: in inline_small_functions, at ipa-inline.c:1664)
Jan Hubicka [Tue, 13 Jan 2015 20:59:37 +0000 (21:59 +0100)]
re PR ipa/64565 (ICE: in inline_small_functions, at ipa-inline.c:1664)

PR ipa/64565
* g++.dg/torture/pr64565.C: New testcase.
* ipa-inline.c (inline_small_functions): Update callee keys after
resolving speculation
(inline_small_functions): Always check monotonicity of the queue.

From-SVN: r219556

9 years agore PR middle-end/64391 (ICE: SIGSEGV in get_attrs_for (trans-mem.c:179) with -fgnu...
Marek Polacek [Tue, 13 Jan 2015 20:22:32 +0000 (20:22 +0000)]
re PR middle-end/64391 (ICE: SIGSEGV in get_attrs_for (trans-mem.c:179) with -fgnu-tm and #pragma GCC ivdep)

PR middle-end/64391
* trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.

* gcc.dg/tm/pr64391.c: New test.

From-SVN: r219555

9 years agoSupport PIE in gcc.dg/tree-ssa/ssa-store-ccp-3.c
H.J. Lu [Tue, 13 Jan 2015 20:07:33 +0000 (20:07 +0000)]
Support PIE in gcc.dg/tree-ssa/ssa-store-ccp-3.c

target nonpic is always false for -fPIE since it defines both __PIC__
and __PIE__.  This patch changes gcc.dg/tree-ssa/ssa-store-ccp-3.c to
make it to pass with -fPIE by excluding PIE when nonpic is true.

* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Exclude pie when nonpic is
true.

From-SVN: r219554

9 years agoAdd check_effective_target_pie
H.J. Lu [Tue, 13 Jan 2015 20:05:41 +0000 (20:05 +0000)]
Add check_effective_target_pie

* gcc.target/i386/pie.c: New test.

* lib/target-supports.exp (check_effective_target_pie): New.

From-SVN: r219553

9 years agore PR rtl-optimization/64286 (Redundant extend removal ignores vector element type)
Jakub Jelinek [Tue, 13 Jan 2015 19:12:47 +0000 (20:12 +0100)]
re PR rtl-optimization/64286 (Redundant extend removal ignores vector element type)

PR rtl-optimization/64286
* ree.c (combine_reaching_defs): Move part of comment earlier,
remove !SCALAR_INT_MODE_P check.
(add_removable_extension): Don't add vector mode
extensions if all uses of the source register aren't the same
vector extensions.

* gcc.target/i386/avx2-pr64286.c: New test.

From-SVN: r219550

9 years agore PR c++/57626 ([C++11] ICE with template alias and member function pointer)
Paolo Carlini [Tue, 13 Jan 2015 17:19:32 +0000 (17:19 +0000)]
re PR c++/57626 ([C++11] ICE with template alias and member function pointer)

2015-01-13  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57626
* g++.dg/cpp0x/vt-57626.C: New.

From-SVN: r219546

9 years agosanitizer_deadlock_detector.h: Cherry pick upstream r224518 and r224519.
Jakub Jelinek [Tue, 13 Jan 2015 17:01:30 +0000 (18:01 +0100)]
sanitizer_deadlock_detector.h: Cherry pick upstream r224518 and r224519.

* sanitizer_common/sanitizer_deadlock_detector.h: Cherry pick
upstream r224518 and r224519.
* tsan/tsan_rtl_thread.cc: Cherry pick upstream r224702 and
r224834.

From-SVN: r219545

9 years ago[ARM]Make CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO return 2.
Renlin Li [Tue, 13 Jan 2015 16:47:30 +0000 (16:47 +0000)]
[ARM]Make CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO return 2.

gcc/

* config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
(CTZ_DEFINED_VALUE_AT_ZERO): Ditto.

From-SVN: r219544

9 years agore PR fortran/64528 (ICE: in process_constraint, at tree-ssa-structalias.c:3002 with...
Jakub Jelinek [Tue, 13 Jan 2015 16:42:22 +0000 (17:42 +0100)]
re PR fortran/64528 (ICE: in process_constraint, at tree-ssa-structalias.c:3002 with -O -fno-tree-ccp -fno-tree-dce)

PR fortran/64528
* trans-decl.c (create_function_arglist): Don't set TREE_READONLY
on dummy args with VALUE attribute.

* gfortran.dg/pr64528.f90: New test.

From-SVN: r219543

9 years agoOption diff dump is added for target and optimization
Martin Liska [Tue, 13 Jan 2015 16:30:23 +0000 (17:30 +0100)]
Option diff dump is added for target and optimization

* ipa-icf.c (sem_function::equals_private): Call new functions
cl_target_option_print_diff and cl_optimization_print_diff.
* optc-save-gen.awk (cl_target_option_print_diff): New function.
(cl_optimization_print_diff): Likewise.
* opth-gen.awk: Likewise.

M    gcc/ChangeLog
M    gcc/ipa-icf.c
M    gcc/optc-save-gen.awk
M    gcc/opth-gen.awk

From-SVN: r219542

9 years agoSet TARGET to X86_64 if __x86_64__ is defined
H.J. Lu [Tue, 13 Jan 2015 15:57:27 +0000 (15:57 +0000)]
Set TARGET to X86_64 if __x86_64__ is defined

PR bootstrap/64575
* configure.host (TARGET): Set to X86_64 if __x86_64__ is defined.

From-SVN: r219539

9 years agore PR libffi/64572 (r219477 breaks bootstrap on x86_64 darwin)
Richard Henderson [Tue, 13 Jan 2015 15:29:47 +0000 (07:29 -0800)]
re PR libffi/64572 (r219477 breaks bootstrap on x86_64 darwin)

PR libffi/64572

 * src/x86/ffitarget.h (FFI_GO_CLOSURES): Do not define for darwin.
 (FFI_TARGET_HAS_COMPLEX_TYPE): Likewise.

From-SVN: r219538

9 years agore PR libstdc++/64571 (Link failure with fstream due to new string implementation)
Jonathan Wakely [Tue, 13 Jan 2015 14:56:50 +0000 (14:56 +0000)]
re PR libstdc++/64571 (Link failure with fstream due to new string implementation)

PR libstdc++/64571
* config/abi/pre/gnu.ver: Export fstream functions using new string.

From-SVN: r219537

9 years agogcc/
Richard Sandiford [Tue, 13 Jan 2015 14:11:15 +0000 (14:11 +0000)]
gcc/
* config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
(*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
(*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
(*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
(*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
(*sub_uxtsi_multp2_uxtw): Add stack pointer sources.

gcc/testsuite/
* gcc.target/aarch64/subsp.c: New test.

From-SVN: r219533

9 years ago\1a2015-01-13 Andrew Pinski <apinski@cavium.com>
Andrew Pinski [Tue, 13 Jan 2015 14:08:21 +0000 (14:08 +0000)]
\1a2015-01-13  Andrew Pinski   <apinski@cavium.com>

        * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
        instead of src mode.

2015-01-13  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/aarch64/store-pair-1.c: New testcase.

From-SVN: r219532

9 years agore PR lto/64373 (ICE with lto related to variably modified type)
Richard Biener [Tue, 13 Jan 2015 13:57:27 +0000 (13:57 +0000)]
re PR lto/64373 (ICE with lto related to variably modified type)

2015-01-13  Richard Biener  <rguenther@suse.de>

PR lto/64373
* lto-streamer-out.c (tree_is_indexable): Guard for NULL
DECL_CONTEXT.

* gcc.dg/lto/pr64373_0.c: New testcase.

From-SVN: r219531

9 years ago[multiple changes]
Andrew Pinski [Tue, 13 Jan 2015 13:55:23 +0000 (13:55 +0000)]
[multiple changes]

2015-01-13  Andrew Pinski   <apinski@cavium.com>

        * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
        volatile mems.
        (aarch64_operands_adjust_ok_for_ldpstp): Likewise.

2015-01-13  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/aarch64/volatileloadpair-1.c: New testcase.
        * gcc.target/aarch64/volatileloadpair-2.c: New testcase.

From-SVN: r219530

9 years agore PR middle-end/63974 (gcc.c-torture/compile/991213-3.c ICEs with -mabi=ilp32)
Jakub Jelinek [Tue, 13 Jan 2015 13:44:06 +0000 (14:44 +0100)]
re PR middle-end/63974 (gcc.c-torture/compile/991213-3.c ICEs with -mabi=ilp32)

PR middle-end/63974
* cfgexpand.c (expand_computed_goto): Don't call
convert_memory_address here.

From-SVN: r219529

9 years agore PR tree-optimization/64406 (ICE: SIGSEGV in estimate_numbers_of_iterations_loop...
Richard Biener [Tue, 13 Jan 2015 13:41:46 +0000 (13:41 +0000)]
re PR tree-optimization/64406 (ICE: SIGSEGV in estimate_numbers_of_iterations_loop (tree-ssa-loop-niter.c:3453) with custom flags)

2015-01-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64406
* tree-loop-distibution.c (pass_loop_distribution::execute):
Reset the SCEV hashtable if we distributed anything.

* gcc.dg/pr64406.c: New testcase.

From-SVN: r219528

9 years agore PR tree-optimization/64404 (ICE: in vect_get_vec_def_for_operand, at tree-vect...
Richard Biener [Tue, 13 Jan 2015 12:35:27 +0000 (12:35 +0000)]
re PR tree-optimization/64404 (ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1)

2015-01-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64404
* tree-vect-stmts.c (vectorizable_load): Reject conflicting
SLP types for CSEd loads.

* gcc.dg/vect/pr64404.c: New testcase.

From-SVN: r219527

9 years agoupdate to add myself to Objective-c/c++ maintainers
Iain Sandoe [Tue, 13 Jan 2015 11:23:46 +0000 (11:23 +0000)]
update to add myself to Objective-c/c++ maintainers

From-SVN: r219526

9 years agore PR tree-optimization/64436 (optimize-bswapdi-3.c fails on aarch64_be-none-elf)
Thomas Preud'homme [Tue, 13 Jan 2015 11:23:01 +0000 (11:23 +0000)]
re PR tree-optimization/64436 (optimize-bswapdi-3.c fails on aarch64_be-none-elf)

2015-01-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/64436
    * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
    merge of two symbolic numbers for a bitwise OR to ...
    (perform_symbolic_merge): This. Also fix computation of the range and
    end of the symbolic number corresponding to the result of a bitwise OR.

From-SVN: r219525

9 years agoAdd self as C front end reviewer.
Marek Polacek [Tue, 13 Jan 2015 09:08:35 +0000 (09:08 +0000)]
Add self as C front end reviewer.

From-SVN: r219523

9 years agore PR middle-end/64568 (error: invalid reference prefix)
Richard Biener [Tue, 13 Jan 2015 08:32:13 +0000 (08:32 +0000)]
re PR middle-end/64568 (error: invalid reference prefix)

2014-01-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64568
* tree-ssa-forwprop.c (pass_forwprop::execute): Properly
release defs of removed stmts, avoid splitting TARGET_MEM_REFs.

* g++.dg/torture/pr64568.C: New testcase.

From-SVN: r219520

9 years agore PR libgcj/64219 (Rename libgcj-5.0.pc to libgcj-5.pc)
Jakub Jelinek [Tue, 13 Jan 2015 08:23:31 +0000 (09:23 +0100)]
re PR libgcj/64219 (Rename libgcj-5.0.pc to libgcj-5.pc)

PR libgcj/64219
* Makefile.am (install-data-local): Use just the major version
from GCJVERSION instead of major.minor.
* Makefile.in: Regenerated.

From-SVN: r219519

9 years ago[NDS32] Consider -mcmodel=X in nds32_legitimate_address_p implementation.
Chung-Ju Wu [Tue, 13 Jan 2015 06:06:34 +0000 (06:06 +0000)]
[NDS32] Consider -mcmodel=X in nds32_legitimate_address_p implementation.

gcc/
* config/nds32/nds32.c (nds32_legitimate_address_p): Consider
TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.

From-SVN: r219515

9 years ago[NDS32] Implement TARGET_ENCODE_SECTION_INFO to store specific flag in symbol_ref...
Chung-Ju Wu [Tue, 13 Jan 2015 05:59:03 +0000 (05:59 +0000)]
[NDS32] Implement TARGET_ENCODE_SECTION_INFO to store specific flag in symbol_ref rtx.

gcc/
* config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
target-specific symbol_ref flag.
(NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
resides in rodata section.
* config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
(nds32_encode_section_info): New function.

From-SVN: r219514

9 years agoMAINTAINERS: Remove Stan Shebs as he has been inactive for a very long time.
Jeff Law [Tue, 13 Jan 2015 05:41:11 +0000 (22:41 -0700)]
MAINTAINERS: Remove Stan Shebs as he has been inactive for a very long time.

       * MAINTAINERS: Remove Stan Shebs as he has been inactive for
        a very long time.

From-SVN: r219513

9 years ago[NDS32] Consider TARGET_CMODEL_LARGE for function call instructions.
Chung-Ju Wu [Tue, 13 Jan 2015 05:37:07 +0000 (05:37 +0000)]
[NDS32] Consider TARGET_CMODEL_LARGE for function call instructions.

gcc/
* config/nds32/nds32.md (call): Use pseudo instruction bal which
clobbers TA_REGNUM if large code model is specified.
(call_register): Likewise.
(call_immediate): Likewise.
(call_value): Likewise.
(call_value_register): Likewise.
(call_value_immediate): Likewise.

From-SVN: r219512

9 years ago[NDS32] Provide TARGET_CMODEL_[SMALL|MEDIUM|LARGE] to check which code model is speci...
Chung-Ju Wu [Tue, 13 Jan 2015 05:32:08 +0000 (05:32 +0000)]
[NDS32] Provide TARGET_CMODEL_[SMALL|MEDIUM|LARGE] to check which code model is specified.

gcc/
* config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
(TARGET_CMODEL_MEDIUM): New macro.
(TARGET_CMODEL_LARGE): New macro.
* config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
code model setting in assembly code.

From-SVN: r219511

9 years ago[NDS32] Remove -mgp-direct/-mno-gp-direct options.
Chung-Ju Wu [Tue, 13 Jan 2015 05:22:25 +0000 (05:22 +0000)]
[NDS32] Remove -mgp-direct/-mno-gp-direct options.

gcc/
* common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
Remove MASK_GP_DIRECT flag.
* config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
one of the multilib default options.
* config/nds32/nds32.opt (mgp-direct): Remove.
* config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
-mgp-direct.  We also remove unnecessary -mlittle-endian/-mbig-endian.

From-SVN: r219510

9 years ago[NDS32] Add -mcmodel= option to support different code model.
Chung-Ju Wu [Tue, 13 Jan 2015 05:17:54 +0000 (05:17 +0000)]
[NDS32] Add -mcmodel= option to support different code model.

* config/nds32/nds32.opt (mcmodel): Add new option.
* config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
to describe code model.

From-SVN: r219509

9 years agore PR target/64479 ([SH] wrong optimization delayed-branch)
Oleg Endo [Tue, 13 Jan 2015 00:30:57 +0000 (00:30 +0000)]
re PR target/64479 ([SH] wrong optimization delayed-branch)

gcc/
PR target/64479
* rtlanal.c (set_reg_p): Handle SEQUENCE constructs.

From-SVN: r219506

9 years agoFix libjava failures on i686-linux
Richard Henderson [Tue, 13 Jan 2015 00:26:31 +0000 (16:26 -0800)]
Fix libjava failures on i686-linux

* src/x86/ffi.c (ffi_raw_call): Fill in frame.

From-SVN: r219505

9 years agoDaily bump.
GCC Administrator [Tue, 13 Jan 2015 00:16:50 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r219503

9 years ago* Add TARGET_ATOMIC_ASSIGN_EXPAND_FENV hook for sh.
Kaz Kojima [Mon, 12 Jan 2015 23:47:58 +0000 (23:47 +0000)]
* Add TARGET_ATOMIC_ASSIGN_EXPAND_FENV hook for sh.

From-SVN: r219500

9 years agolibgccjit: detect various kinds of errors relating to params and locals
David Malcolm [Mon, 12 Jan 2015 22:25:37 +0000 (22:25 +0000)]
libgccjit: detect various kinds of errors relating to params and locals

gcc/jit/ChangeLog:
* jit-recording.c (class gcc::jit::rvalue_usage_validator): New.
(gcc::jit::rvalue_usage_validator::rvalue_usage_validator): New
ctor.
(gcc::jit::rvalue_usage_validator::visit): New function.
(gcc::jit::recording::rvalue::verify_valid_within_stmt): New
function.
(gcc::jit::recording::rvalue::set_scope): New function.
(gcc::jit::recording::function::function): Call set_scope on each
param, issuing errors for any params that already have a function.
(gcc::jit::recording::block::add_eval): Return the new statement;
update the comment given that some error-checking now happens after
this returns.
(gcc::jit::recording::block::add_assignment): Likewise.
(gcc::jit::recording::block::add_assignment_op): Likewise.
(gcc::jit::recording::block::add_comment): Likewise.
(gcc::jit::recording::block::end_with_conditional): Likewise.
(gcc::jit::recording::block::end_with_jump): Likewise.
(gcc::jit::recording::block::end_with_return): Likewise.
(gcc::jit::recording::block::validate): Add a comment.
(gcc::jit::recording::unary_op::visit_children): New function.
(gcc::jit::recording::binary_op::visit_children): New function.
(gcc::jit::recording::comparison::visit_children): New function.
(gcc::jit::recording::cast::visit_children): New function.
(gcc::jit::recording::call::visit_children): New function.
(gcc::jit::recording::call_through_ptr::visit_children): New function.
(gcc::jit::recording::array_access::visit_children): New function.
(gcc::jit::recording::access_field_of_lvalue::visit_children): New
function.
(gcc::jit::recording::access_field_rvalue::visit_children): New
function.
(gcc::jit::recording::dereference_field_rvalue::visit_children):
New function.
(gcc::jit::recording::dereference_rvalue::visit_children): New
function.
(gcc::jit::recording::get_address_of_lvalue::visit_children): New
function.
* jit-recording.h: Within namespace gcc::jit::recording...
(class rvalue_visitor): New.
(rvalue::rvalue): Initialize m_scope.
(rvalue::get_loc): New accessor.
(rvalue::verify_valid_within_stmt): New function.
(rvalue::visit_children): New pure virtual function.
(rvalue::set_scope): New function.
(rvalue::get_scope): New function.
(rvalue::dyn_cast_param): New function.
(rvalue::m_scope): New field.
(param::visit_children): New empty function.
(param::dyn_cast_param): New function.
(function::get_loc): New function.
(block::add_eval): Return the new statement.
(block::add_assignment): Likewise.
(block::add_assignment_op): Likewise.
(block::add_comment): Likewise.
(block::end_with_conditional): Likewise.
(block::end_with_jump): Likewise.
(block::end_with_return): Likewise.
(global::visit_children): New function.
(memento_of_new_rvalue_from_const<HOST_TYPE>::visit_children):
New function.
(memento_of_new_string_literal::visit_children): New function.
(unary_op::visit_children): New function.
(binary_op::visit_children): New function.
(comparison::visit_children): New function.
(cast::visit_children): New function.
(call::visit_children): New function.
(call_through_ptr::visit_children): New function.
(array_access::visit_children): New function.
(access_field_of_lvalue::visit_children): New function.
(access_field_rvalue::visit_children): New function.
(dereference_field_rvalue::visit_children): New function.
(dereference_rvalue::visit_children): New function.
(get_address_of_lvalue::visit_children): New function.
(local::local): Call set_scope.
(local::visit_children): New function.
(statement::get_block): Make public.
* libgccjit.c (RETURN_VAL_IF_FAIL_PRINTF5): New macro.
(RETURN_NULL_IF_FAIL_PRINTF5): New macro.
(gcc_jit_context_new_function): Verify that each param has
not yet been used for creating another function.
(gcc_jit_block_add_eval): After creating the stmt, verify
that the rvalue expression tree is valid to use within it.
(gcc_jit_block_add_assignment): Likewise for the lvalue and
rvalue expression trees.
(gcc_jit_block_add_assignment_op): Likewise.
(gcc_jit_block_end_with_conditional): Likewise for the boolval
expression tree.
(gcc_jit_block_end_with_return): Likewise for the rvalue
expression tree.
(gcc_jit_block_end_with_void_return): Remove return of "void",
now that block::end_with_return is now non-void.

gcc/testsuite/ChangeLog:
* jit.dg/test-error-local-used-from-other-function.c: New test
case.
* jit.dg/test-error-param-reuse.c: New test case.
* jit.dg/test-error-param-sharing.c: New test case.
* jit.dg/test-error-param-used-from-other-function.c: New test
case.
* jit.dg/test-error-param-used-without-a-function.c: New test
case.

From-SVN: r219498

9 years agoinvoke.texi ([-Wsuggest-attribute=]): Don't use parentheses after a funtion name...
Sandra Loosemore [Mon, 12 Jan 2015 21:57:54 +0000 (16:57 -0500)]
invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses after a funtion name just to indicate it is a function.

2015-01-12  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
after a funtion name just to indicate it is a function.
([-fsanitize-undefined-trap-on-error]): Likewise.
([-fdbg-cnt=]): Likewise.
([-mmemcpy]): Likewise.
([-mflush-func]): Likewise.
([-msynci]): Likewise.

From-SVN: r219497

9 years agore PR libstdc++/64553 (Missing '# ifdef _GLIBCXX_USE_WCHAR_T' in src/c++11/cxx11...
Jonathan Wakely [Mon, 12 Jan 2015 21:45:50 +0000 (21:45 +0000)]
re PR libstdc++/64553 (Missing '# ifdef _GLIBCXX_USE_WCHAR_T' in src/c++11/cxx11-shim_facet.cc)

PR libstdc++/64553
* src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.

From-SVN: r219496

9 years agore PR libstdc++/64560 (building libstdc++ with -fno-rtti fails in new cxx11-shim...
Jonathan Wakely [Mon, 12 Jan 2015 21:45:44 +0000 (21:45 +0000)]
re PR libstdc++/64560 (building libstdc++ with -fno-rtti fails in new cxx11-shim-facets.cc file)

PR libstdc++/64560
* src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
for RTTI support.

From-SVN: r219495

9 years agoinvoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing example.
Sandra Loosemore [Mon, 12 Jan 2015 21:32:53 +0000 (16:32 -0500)]
invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing example.

2015-01-12  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
example.

From-SVN: r219494

9 years agore PR tree-optimization/64563 (ICE with "-Wall -Wextra" at -Os and above on x86_64...
Jakub Jelinek [Mon, 12 Jan 2015 20:48:09 +0000 (21:48 +0100)]
re PR tree-optimization/64563 (ICE with "-Wall -Wextra" at -Os and above on x86_64-linux-gnu)

PR tree-optimization/64563
* tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
instead of != VR_VARYING.

* gcc.dg/pr64563.c: New test.

From-SVN: r219493

9 years agore PR target/64513 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2231 with -mstac...
Jakub Jelinek [Mon, 12 Jan 2015 20:45:38 +0000 (21:45 +0100)]
re PR target/64513 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2231 with -mstack-arg-probe)

PR target/64513
* config/i386/i386.c (ix86_expand_prologue): Add
REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.

* gcc.target/i386/pr64513.c: New test.

From-SVN: r219492

9 years agore PR tree-optimization/64454 (optimize (x%5)%5)
Jakub Jelinek [Mon, 12 Jan 2015 20:44:32 +0000 (21:44 +0100)]
re PR tree-optimization/64454 (optimize (x%5)%5)

PR tree-optimization/64454
* tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
for signed or [0, op1 - 1] for unsigned modulo.
(simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
even if op1 does not satisfy integer_pow2p.

* gcc.dg/pr64454.c: New test.

From-SVN: r219491

9 years agore PR testsuite/64028 (r211599 caused many vectorizer test failures with -fPIC)
Jakub Jelinek [Mon, 12 Jan 2015 20:30:53 +0000 (21:30 +0100)]
re PR testsuite/64028 (r211599 caused many vectorizer test failures with -fPIC)

PR testsuite/64028
* gcc.dg/vect/no-section-anchors-vect-31.c: Add dg-add-options
bind_pic_locally.
* gcc.dg/vect/no-section-anchors-vect-34.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-36.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-64.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-65.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-68.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-69.c: Likewise.
* gcc.dg/vect/slp-25.c: Likewise.
* gcc.dg/vect/vect-109.c: Likewise.
* gcc.dg/vect/vect-13.c: Likewise.
* gcc.dg/vect/vect-17.c: Likewise.
* gcc.dg/vect/vect-18.c: Likewise.
* gcc.dg/vect/vect-19.c: Likewise.
* gcc.dg/vect/vect-20.c: Likewise.
* gcc.dg/vect/vect-21.c: Likewise.
* gcc.dg/vect/vect-22.c: Likewise.
* gcc.dg/vect/vect-27.c: Likewise.
* gcc.dg/vect/vect-29.c: Likewise.
* gcc.dg/vect/vect-2-big-array.c: Likewise.
* gcc.dg/vect/vect-2.c: Likewise.
* gcc.dg/vect/vect-3.c: Likewise.
* gcc.dg/vect/vect-4.c: Likewise.
* gcc.dg/vect/vect-5.c: Likewise.
* gcc.dg/vect/vect-72.c: Likewise.
* gcc.dg/vect/vect-73-big-array.c: Likewise.
* gcc.dg/vect/vect-73.c: Likewise.
* gcc.dg/vect/vect-77-global.c: Likewise.
* gcc.dg/vect/vect-78-global.c: Likewise.
* gcc.dg/vect/vect-7.c: Likewise.
* gcc.dg/vect/vect-86.c: Likewise.
* gcc.dg/vect/vect-align-1.c: Likewise.
* gcc.dg/vect/vect-align-3.c: Likewise.
* gcc.dg/vect/vect-all-big-array.c: Likewise.
* gcc.dg/vect/vect-all.c: Likewise.
* gcc.dg/vect/vect-multitypes-1.c: Likewise.
* gcc.dg/vect/vect-multitypes-4.c: Likewise.
* gcc.dg/vect/vect-peel-3.c: Likewise.
* gcc.dg/vect/vect-peel-4.c: Likewise.
* gcc.dg/vect/wrapv-vect-7.c: Likewise.

From-SVN: r219490

9 years agore PR other/64370 (sreal.c:125:23: error: 'exp2' was not declared in this scope)
Jakub Jelinek [Mon, 12 Jan 2015 20:30:09 +0000 (21:30 +0100)]
re PR other/64370 (sreal.c:125:23: error: 'exp2' was not declared in this scope)

PR other/64370
* sreal.c (sreal::to_double): Use ldexp instead of scalbnl.

From-SVN: r219489

9 years agore PR target/64461 (bad assembly generated for Coldfire targets)
Jeff Law [Mon, 12 Jan 2015 20:19:57 +0000 (13:19 -0700)]
re PR target/64461 (bad assembly generated for Coldfire targets)

       PR target/64461
        * gcc.target/m68k/pr64461.c: New test.

From-SVN: r219488

9 years agojit-playback.c: fix missing fclose
David Malcolm [Mon, 12 Jan 2015 19:57:05 +0000 (19:57 +0000)]
jit-playback.c: fix missing fclose

gcc/jit/ChangeLog:
* jit-playback.c (gcc::jit::playback::context::read_dump_file):
Add missing fclose on error-handling path.

From-SVN: r219487

9 years agoAdd PR marker for last commit
Jeff Law [Mon, 12 Jan 2015 19:10:40 +0000 (12:10 -0700)]
Add PR marker for last commit

From-SVN: r219484

9 years agom68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
Jeff Law [Mon, 12 Jan 2015 19:09:12 +0000 (12:09 -0700)]
m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.

       * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
       (trunchiqi2, truncsihi2): Similarly.

From-SVN: r219483

9 years agoh8300.c (Fpa): Use RTX_FRAME_RELATED_P directly rather than calling F.
Jeff Law [Mon, 12 Jan 2015 17:26:09 +0000 (10:26 -0700)]
h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly rather than calling F.

       * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
       rather than calling F.

From-SVN: r219481

9 years agojit: API change to gcc_jit_context_new_global
David Malcolm [Mon, 12 Jan 2015 17:14:02 +0000 (17:14 +0000)]
jit: API change to gcc_jit_context_new_global

gcc/jit/ChangeLog:
* docs/cp/topics/expressions.rst (Global variables): Add
enum gcc_jit_global_kind param to gccjit::context::new_global.
* docs/topics/expressions.rst (Global variables): Likewise.
Document the new enum.
* docs/topics/results.rst (Compilation results): Document
globals-handling.
* dummy-frontend.c (jit_langhook_write_globals): Call into the
playback context's write_global_decls_1 and write_global_decls_2
before and after calling symtab->finalize_compilation_unit ().
* jit-playback.c: Include "debug.h".
(gcc::jit::playback::context::new_global): Add "kind" param and
use it to set TREE_PUBLIC, TREE_STATIC and DECL_EXTERNAL on the
underlying VAR_DECL.  Call varpool_node::get_create on the
VAR_DECL, and add it to m_globals.
(gcc::jit::playback::context::write_global_decls_1): New function.
(gcc::jit::playback::context::write_global_decls_2): New function.
* jit-playback.h (gcc::jit::playback::context::context): Call
create on m_globals.
(gcc::jit::playback::context::new_global): Add "kind" param.
(gcc::jit::playback::context::write_global_decls_1): New function.
(gcc::jit::playback::context::write_global_decls_2): New function.
(gcc::jit::playback::context::m_globals): New field.
* jit-recording.c (gcc::jit::recording::context::context):
Initialize m_globals.
(gcc::jit::recording::context::new_global): Add param "kind".
Add the new global to m_globals.
(gcc::jit::recording::context::dump_to_file): Dump the globals.
(gcc::jit::recording::global::replay_into): Add field m_kind.
(gcc::jit::recording::global::write_to_dump): New override.
* jit-recording.h (gcc::jit::recording::context::new_global): Add
param "kind".
(gcc::jit::recording::context::m_globals): New field.
(gcc::jit::recording::global::global): Add param kind.
(gcc::jit::recording::global::write_to_dump): New override.
(gcc::jit::recording::global::m_kind): New field.
* jit-result.c (gcc::jit::result::get_global): New function.
* jit-result.h (gcc::jit::result::get_global): New function.
* libgccjit++.h (gccjit::context::new_global): Add "kind" param.
* libgccjit.c (gcc_jit_context_new_global): Likewise.
(gcc_jit_result_get_global): New API entrypoint.
* libgccjit.h (gcc_jit_result_get_global): New API entrypoint.
(enum gcc_jit_global_kind): New enum.
(gcc_jit_context_new_global): API change: add "kind" param.
* libgccjit.map (gcc_jit_result_get_global): New symbol.

gcc/testsuite/ChangeLog:
* jit.dg/test-array-as-pointer.c (create_code): Update call
to gcc_jit_context_new_global by setting "kind" to
GCC_JIT_GLOBAL_IMPORTED.
* jit.dg/test-error-array-as-pointer.c: Likewise.
* jit.dg/test-expressions.c (make_test_of_get_address): Likewise.
* jit.dg/test-fuzzer.c (make_random_global): Likewise, but
setting kind to GCC_JIT_GLOBAL_EXPORTED.
* jit.dg/test-using-global.c (the_global): Rename to...
(imported_global): ...this.
(create_code): Update to test the three kinds of global.
(verify_code): Likewise.

From-SVN: r219480

9 years agoAvoid undefined behavior in gcc.target/i386/pr64291-1.c
Marc Glisse [Mon, 12 Jan 2015 17:08:04 +0000 (18:08 +0100)]
Avoid undefined behavior in gcc.target/i386/pr64291-1.c

PR testsuite/64427
* gcc.target/i386/pr64291-1.c: Limit to lp64 tarrget.  Avoid
undefined behavior.
* gcc.target/i386/pr64291-2.c: Updated.

From-SVN: r219479

9 years agotsan.c (instrument_expr): Use force_gimple_operand.
Bernd Edlinger [Mon, 12 Jan 2015 16:47:11 +0000 (16:47 +0000)]
tsan.c (instrument_expr): Use force_gimple_operand.

2015-01-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * tsan.c (instrument_expr): Use force_gimple_operand.
        Use may_be_nonaddressable_p instead of is_gimple_addressable.

From-SVN: r219478

9 years agoMerge libffi to upstream commit c82cc159426d8d4402375fa1ae3f045b9cf82e16
Richard Henderson [Mon, 12 Jan 2015 16:19:59 +0000 (08:19 -0800)]
Merge libffi to upstream commit c82cc159426d8d4402375fa1ae3f045b9cf82e16

From-SVN: r219477

9 years agore PR tree-optimization/64530 (Incorrect calculation when assigning to array with...
Richard Biener [Mon, 12 Jan 2015 15:37:07 +0000 (15:37 +0000)]
re PR tree-optimization/64530 (Incorrect calculation when assigning to array with -O3)

2015-01-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64530
* tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
back dr1.

* gfortran.dg/pr64530.f90: New testcase.

From-SVN: r219474

9 years agore PR tree-optimization/64357 (ICE at -Os on x86_64-linux-gnu in check_loop_closed_ss...
Richard Biener [Mon, 12 Jan 2015 15:34:37 +0000 (15:34 +0000)]
re PR tree-optimization/64357 (ICE at -Os on x86_64-linux-gnu in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:579)

2015-01-12  Richard Biener  <rguenther@suse.de>

PR middle-end/64357
* tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
latches properly.

* gcc.dg/torture/pr64357.c: New testcase.

From-SVN: r219473

9 years ago[ARM] Use Cortex-A17 tuning parameters for Cortex-A12
Kyrylo Tkachov [Mon, 12 Jan 2015 15:14:33 +0000 (15:14 +0000)]
[ARM] Use Cortex-A17 tuning parameters for Cortex-A12

* config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
Cortex-A17 tuning parameters.
* config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.

From-SVN: r219472

9 years agoFix date in gcc/ChangeLog
Kyrylo Tkachov [Mon, 12 Jan 2015 15:09:37 +0000 (15:09 +0000)]
Fix date in gcc/ChangeLog

From-SVN: r219471

9 years ago[ARM] Implement TARGET_SCHED_MACRO_FUSION_PAIR_P
Kyrylo Tkachov [Mon, 12 Jan 2015 15:09:03 +0000 (15:09 +0000)]
[ARM] Implement TARGET_SCHED_MACRO_FUSION_PAIR_P

* config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
* config/arm/arm.c (arm_macro_fusion_p): New function.
(arm_macro_fusion_pair_p): Likewise.
(TARGET_SCHED_MACRO_FUSION_P): Define.
(TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
(ARM_FUSE_NOTHING): Likewise.
(ARM_FUSE_MOVW_MOVT): Likewise.
(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
arm_cortex_a5_tune): Specify fuseable_ops value.

From-SVN: r219470

9 years agore PR c++/64547 (A non-const constexpr function is rejected incorrectly)
Jason Merrill [Mon, 12 Jan 2015 14:15:07 +0000 (09:15 -0500)]
re PR c++/64547 (A non-const constexpr function is rejected incorrectly)

PR c++/64547
* constexpr.c (cxx_eval_call_expression): A call to a void
function doesn't need to return a value.

From-SVN: r219466

9 years agoAdd the missing ChangeLog entry
H.J. Lu [Mon, 12 Jan 2015 12:09:50 +0000 (04:09 -0800)]
Add the missing ChangeLog entry

From-SVN: r219462

9 years agoCorrect target selector in gcc.target/i386/nop-mcount.c
H.J. Lu [Mon, 12 Jan 2015 11:51:18 +0000 (03:51 -0800)]
Correct target selector in gcc.target/i386/nop-mcount.c

* gcc.target/i386/nop-mcount.c: Properly place {} in target
selector.

From-SVN: r219461

9 years agoUpdate Linux/x86-64 linker test for PIE with copy reloc
H.J. Lu [Mon, 12 Jan 2015 11:50:13 +0000 (11:50 +0000)]
Update Linux/x86-64 linker test for PIE with copy reloc

PR bootstrap/64561
* configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
test for PIE with copy reloc.
* configure: Regenerated.

From-SVN: r219460

9 years ago[ARM][cleanup] Use R0_REGNUM and R1_REGNUM instead of 0 and 1 where appropriate
Kyrylo Tkachov [Mon, 12 Jan 2015 11:23:14 +0000 (11:23 +0000)]
[ARM][cleanup] Use R0_REGNUM and R1_REGNUM instead of 0 and 1 where appropriate

* config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
in gen_rtx_REG.
(arm_tls_descseq_addr): Likewise.
(arm_gen_movmemqi): Likewise.
(arm_expand_epilogue_apcs_frame): Likewise.
(arm_expand_epilogue): Likewise.
(arm_expand_prologue): Likewise.  Use R1_REGNUM instead of constant 1
in gen_rtx_REG.

From-SVN: r219459

9 years agoggcplug.c: Include gcc-plugin.h after coretypes.h.
Prathamesh Kulkarni [Mon, 12 Jan 2015 10:48:07 +0000 (10:48 +0000)]
ggcplug.c: Include gcc-plugin.h after coretypes.h.

2015-01-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

testsuite/
* gcc.dg/plugin/ggcplug.c: Include gcc-plugin.h after coretypes.h.

From-SVN: r219458

9 years agore PR ipa/64550 (IPA fixes cause ICE in tree-ssa.c:939)
Martin Liska [Mon, 12 Jan 2015 10:39:25 +0000 (11:39 +0100)]
re PR ipa/64550 (IPA fixes cause ICE in tree-ssa.c:939)

Fix for PR64550.

        PR ipa/64550
* ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
volatility for correct operands.
* gcc.dg/ipa/PR64550.c: New test.

From-SVN: r219457

9 years agoIPA ICF: handle correctly indirect_calls.
Martin Liska [Mon, 12 Jan 2015 09:59:39 +0000 (10:59 +0100)]
IPA ICF: handle correctly indirect_calls.

* ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
that a function is not leaf.
(sem_function::compare_polymorphic_p): Likewise.

From-SVN: r219456

9 years agovisium.c: Add includes hashtab.h...
Prathamesh Kulkarni [Mon, 12 Jan 2015 09:40:18 +0000 (09:40 +0000)]
visium.c: Add includes hashtab.h...

2015-01-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* config/visium/visium.c: Add includes hashtab.h, hash-set.h,
machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
        fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
        fold-const.h, tree-check.h.

From-SVN: r219454

9 years agore PR ipa/63967 (r217633 caused internal compiler error: in estimate_edge_growth...
Jan Hubicka [Mon, 12 Jan 2015 09:28:15 +0000 (10:28 +0100)]
re PR ipa/63967 (r217633 caused internal compiler error: in estimate_edge_growth, at ipa-inline.h:299)

PR ipa/63967
PR ipa/64425
* ipa-inline.c (compute_uninlined_call_time,
compute_inlined_call_time): Use counts for extra precision when
needed possible.
(big_speedup_p): Fix formating.
(RELATIVE_TIME_BENEFIT_RANGE): Remove.
(relative_time_benefit): Remove.
(edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
merge guessed and read profile paths.
(inline_small_functions): Count only !optimize_size functions into
initial size; be more lax about sanity check when profile is used;
be sure to update inlined function profile when profile is read.

From-SVN: r219452

9 years agore PR ipa/63470 (internal compiler error: in estimate_edge_growth, at ipa-inline...
Jan Hubicka [Mon, 12 Jan 2015 09:24:18 +0000 (10:24 +0100)]
re PR ipa/63470 (internal compiler error: in estimate_edge_growth, at ipa-inline.h:308)

PR ipa/63470
* ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
cost when edge becomes direct.
* ipa-prop.c (make_edge_direct): Do not adjust when speculation
is resolved or when introducing new speculation.
* testsuite/g++.dg/ipa/pr63470.C: New testcase.

From-SVN: r219451

9 years agoCorrect ChangeLog entry.
Martin Liska [Mon, 12 Jan 2015 09:06:25 +0000 (09:06 +0000)]
Correct ChangeLog entry.

From-SVN: r219450

9 years agore PR ipa/64550 (IPA fixes cause ICE in tree-ssa.c:939)
Chen Gang [Mon, 12 Jan 2015 09:02:33 +0000 (09:02 +0000)]
re PR ipa/64550 (IPA fixes cause ICE in tree-ssa.c:939)

PR ipa/64550

        PR ipa/64551
PR ipa/64552
* ipa-icf.c (sem_function::equals_private): Use '&&' instead of
'||' to fix typo issue.

* gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
accept and return NULL.

From-SVN: r219449

9 years agocgraph_edge refactoring.
Martin Liska [Mon, 12 Jan 2015 08:47:26 +0000 (09:47 +0100)]
cgraph_edge refactoring.

* cgraph.c (cgraph_edge::remove_callee): Move function to header
file for being inlined.
(cgraph_set_edge_callee): Delete.
(cgraph_edge::redirect_callee): Move function to header file
for being inlined.
(cgraph_edge::make_direct): Use new function.
(cgraph_edge::dump_edge_flags): New function created from
static dump_edge_flags function.
(cgraph_node::dump): Use new function.
(cgraph_edge::verify_count_and_frequency): New function created
from verify_edge_count_and_frequency.
(cgraph_edge::verify_corresponds_to_fndecl): New function created
from verify_edge_corresponds_to_fndecl.
(verify_edge_corresponds_to_fndecl): Delete.
(cgraph_node::verify_node): Use new function.
* cgraph.h (cgraph_edge::set_callee): New function.
(cgraph_edge::dump_edge_flags): Likewise.
(cgraph_edge::verify_corresponds_to_fndecl): Likewise.

From-SVN: r219448

9 years agocheck_GNU_style.sh: Support patches coming from stdin.
Yury Gribov [Mon, 12 Jan 2015 08:40:16 +0000 (08:40 +0000)]
check_GNU_style.sh: Support patches coming from stdin.

2015-01-12  Yury Gribov  <y.gribov@samsung.com>

* check_GNU_style.sh: Support patches coming from stdin.
Check that spaces are converted to tabs.
Make double-space-after-dot check more precice.

From-SVN: r219447

9 years agoRevert "ipa/63470 add testcase"
Markus Trippelsdorf [Mon, 12 Jan 2015 07:53:10 +0000 (07:53 +0000)]
Revert "ipa/63470 add testcase"

This reverts commit 8b200261cca87bab4408813e5fe2ebebb8c19e8b.

From-SVN: r219446

9 years agoipa/63470 add testcase
Markus Trippelsdorf [Mon, 12 Jan 2015 07:48:50 +0000 (07:48 +0000)]
ipa/63470 add testcase

2015-01-11  Markus Trippelsdorf  <markus@trippelsdorf.de>

PR ipa/63470
* ipa/pr63470.C: New testcase.

From-SVN: r219445

9 years agoipa-utils.c (estimate_function_body_sizes): Do not free node params when called late...
Jan Hubicka [Mon, 12 Jan 2015 07:08:27 +0000 (08:08 +0100)]
ipa-utils.c (estimate_function_body_sizes): Do not free node params when called late with early=true.

* ipa-utils.c (estimate_function_body_sizes): Do not
free node params when called late with early=true.

From-SVN: r219444

9 years agoDaily bump.
GCC Administrator [Mon, 12 Jan 2015 00:18:18 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r219443

9 years agore PR fortran/63733 ([OOP] wrong resolution for OPERATOR generics)
Janus Weil [Sun, 11 Jan 2015 22:00:06 +0000 (23:00 +0100)]
re PR fortran/63733 ([OOP]  wrong resolution for OPERATOR generics)

2015-01-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63733
* interface.c (gfc_extend_expr): Look for type-bound operators before
non-typebound ones.

2015-01-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63733
* gfortran.dg/typebound_operator_20.f90: New.

From-SVN: r219440

9 years agore PR fortran/58023 ([F03] ICE on invalid with bad PPC declaration)
Janus Weil [Sun, 11 Jan 2015 19:13:24 +0000 (20:13 +0100)]
re PR fortran/58023 ([F03] ICE on invalid with bad PPC declaration)

2015-01-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58023
* resolve.c (resolve_fl_derived0): Set error flag if problems with the
interface of a procedure-pointer component were detected.

2015-01-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58023
* gfortran.dg/proc_ptr_comp_42.f90: New.

From-SVN: r219439

9 years ago[Patch Docs] Copy edit the text in "Everything about patterns"
James Greenhalgh [Sun, 11 Jan 2015 17:32:00 +0000 (17:32 +0000)]
[Patch Docs] Copy edit the text in "Everything about patterns"

* doc/md.texi (Instruction Patterns): Copy edit text for
clarity and correctness.
(Example): Likewise.

From-SVN: r219432

9 years agore PR fortran/64508 ([F03] interface check missing for procedure pointer component...
Janus Weil [Sun, 11 Jan 2015 17:31:22 +0000 (18:31 +0100)]
re PR fortran/64508 ([F03] interface check missing for procedure pointer component as actual argument)

2015-01-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64508
* interface.c (compare_parameter): Interface check for
procedure-pointer component as actual argument.

2015-01-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64508
* gfortran.dg/proc_ptr_comp_41.f90: New.

From-SVN: r219431

9 years ago* gcc.target/powerpc/recip-test.h (_ARCH_PPC64): Use __LP64__ instead.
Segher Boessenkool [Sun, 11 Jan 2015 11:41:50 +0000 (12:41 +0100)]
* gcc.target/powerpc/recip-test.h (_ARCH_PPC64): Use __LP64__ instead.

From-SVN: r219430

9 years agoinvoke.texi (Option Summary): Break long lines.
Sandra Loosemore [Sun, 11 Jan 2015 02:10:19 +0000 (21:10 -0500)]
invoke.texi (Option Summary): Break long lines.

2015-01-10  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (Option Summary): Break long lines.
[(-fdiagnostics-color)]: Put long literal in @smallexample
instead of inline.
[(-fsanitize-recover)]: Likewise.
[(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
[(-ffast-math)]: Likewise.
[(--param max-inline-insns-recursive)]: Likewise.
[(--param max-inline-recursive-depth)]: Likewise.
[(-mno-text-section-literals)]: Likewise.

From-SVN: r219429

9 years agoDaily bump.
GCC Administrator [Sun, 11 Jan 2015 00:16:41 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r219428