platform/upstream/linaro-gcc.git
9 years agogcc/ChangeLog:
manu [Thu, 11 Dec 2014 15:13:33 +0000 (15:13 +0000)]
gcc/ChangeLog:

2014-12-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* diagnostic.c (diagnostic_action_after_output): Make it extern.
Take diagnostic_t argument instead of diagnostic_info. Count also
DK_WERROR towards max_errors.
(diagnostic_report_diagnostic): Update call according to the above.
(error_recursion): Likewise.
* diagnostic.h (diagnostic_action_after_output): Declare.
* pretty-print.c (pp_formatted_text_data): Delete.
(pp_append_r): Call output_buffer_append_r.
(pp_formatted_text): Call output_buffer_formatted_text.
(pp_last_position_in_text): Call output_buffer_last_position_in_text.
* pretty-print.h (output_buffer_formatted_text): New.
(output_buffer_append_r): New.
(output_buffer_last_position_in_text): New.

gcc/testsuite/ChangeLog:

2014-12-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * gfortran.dg/do_iterator.f90: Remove bogus dg-warning.

gcc/fortran/ChangeLog:

2014-12-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* error.c (pp_error_buffer): New static variable.
(pp_warning_buffer): Make it a pointer.
(gfc_output_buffer_empty_p): New.
(gfc_error_init_1): Call gfc_buffer_error.
(gfc_buffer_error): Do not use pp_warning_buffer.flush_p as the
buffered_p flag.
(gfc_clear_warning): Likewise.
(gfc_warning_check): Call gfc_clear_warning. Only check the new
pp_warning_buffer if the old warning_buffer was empty. Call
diagnostic_action_after_output.
(gfc_error_1): Renamed from gfc_error.
(gfc_error): New.
(gfc_clear_error): Clear also pp_error_buffer.
(gfc_error_flag_test): Check also pp_error_buffer.
(gfc_error_check): Likewise. Only check the new pp_error_buffer
if the old error_buffer was empty.
(gfc_move_output_buffer_from_to): New.
(gfc_push_error): Use it here. Take also an output_buffer as argument.
(gfc_pop_error): Likewise.
(gfc_free_error): Likewise.
(gfc_diagnostics_init): Use XNEW and placement-new to init
pp_error_buffer and pp_warning_buffer. Set flush_p to false for
both pp_warning_buffer and pp_error_buffer.

* Update gfc_push_error, gfc_pop_error and gfc_free_error calls
according to the above changes.
* Use gfc_error_1 for all gfc_error calls that use multiple
locations.
* Use %qs instead of '%s' for many gfc_error calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218627 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Fix usage of +no in error message for aarch64_parse_extension
ktkachov [Thu, 11 Dec 2014 15:09:01 +0000 (15:09 +0000)]
[AArch64] Fix usage of +no in error message for aarch64_parse_extension

* config/aarch64/aarch64.c (aarch64_parse_extension): Update error
message to say +no only when removing extension.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218626 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-11 Andrew MacLeod <amacleod@redhat.com>
amacleod [Thu, 11 Dec 2014 14:57:00 +0000 (14:57 +0000)]
2014-12-11  Andrew MacLeod  <amacleod@redhat.com>

* config/tilepro/gen-mul-tables.cc: Add insn-codes.h to include list
for generator file.  Add comment indicating it is a generated file.
* config/tilepro/mul-tables.c: Update generated file.
* config/tilegx/mul-tables.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218624 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * combine.c (try_combine): Do not allow combining a PARALLEL I2
segher [Thu, 11 Dec 2014 14:29:14 +0000 (14:29 +0000)]
* combine.c (try_combine): Do not allow combining a PARALLEL I2
with a register move I3 if that I2 is an asm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218623 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32
ktkachov [Thu, 11 Dec 2014 13:34:22 +0000 (13:34 +0000)]
[ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32

* config/arm/arm_neon.h (vrndqn_f32): Rename to...
(vrndnq_f32): ... this.
(vrndqa_f32): Rename to...
(vrndaq_f32): ... this.
(vrndqp_f32): Rename to...
(vrndpq_f32): ... this.
(vrndqm_f32): Rename to...
(vrndmq_f32): ... this.
(vrndx_f32): New intrinsic.
(vrndxq_f32): Likewise.

* config/arm/arm_neon.h (vrndqn_f32): Rename to...
(vrndnq_f32): ... this.
(vrndqa_f32): Rename to...
(vrndaq_f32): ... this.
(vrndqp_f32): Rename to...
(vrndpq_f32): ... this.
(vrndqm_f32): Rename to...
(vrndmq_f32): ... this.
(vrndx_f32): New intrinsic.
(vrndxq_f32): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218622 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * fold-const.c (fold_negate_expr): Add ANY_INTEGRAL_TYPE_P check.
mpolacek [Thu, 11 Dec 2014 11:07:58 +0000 (11:07 +0000)]
* fold-const.c (fold_negate_expr): Add ANY_INTEGRAL_TYPE_P check.
(extract_muldiv_1): Likewise.
(maybe_canonicalize_comparison_1): Likewise.
(fold_comparison): Likewise.
(tree_binary_nonnegative_warnv_p): Likewise.
(tree_binary_nonzero_warnv_p): Likewise.
* gimple-ssa-strength-reduction.c (legal_cast_p_1): Likewise.
* tree-scalar-evolution.c (simple_iv): Likewise.
(scev_const_prop): Likewise.
* tree-ssa-loop-niter.c (expand_simple_operations): Likewise.
* tree-vect-generic.c (expand_vector_operation): Likewise.
* tree.h (ANY_INTEGRAL_TYPE_CHECK): Define.
(ANY_INTEGRAL_TYPE_P): Define.
(TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED, TYPE_OVERFLOW_TRAPS):
Add ANY_INTEGRAL_TYPE_CHECK.
(any_integral_type_check): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218621 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[testsuite][1/2] Move ${tool}_check_unsupported_p into separate file
ktkachov [Thu, 11 Dec 2014 09:43:53 +0000 (09:43 +0000)]
[testsuite][1/2] Move ${tool}_check_unsupported_p into separate file

* lib/target-utils.exp: New file.
* lib/gcc-defs.exp (${tool}_check_unsupported_p): Delete.
Include target-utils.exp.
* lib/objc.exp: Likewise.
* lib/mike-gcc.exp: Load target-utils.exp.
* lib/mike-g++.exp: Likewise.
* lib/go-torture.exp: Likewise.
* lib/fortran-torture.exp: Likewise.
* lib/c-torture.exp: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218620 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-11 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 11 Dec 2014 08:20:24 +0000 (08:20 +0000)]
2014-12-11  Tobias Burnus  <burnus@net-b.de>
            Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
        * diagnostic.c (get_terminal_width): Renamed from
        * getenv_columns,
        removed static, and additionally use ioctl to get width.
        (diagnostic_set_caret_max_width): Update call.
        * diagnostic.h (get_terminal_width): Add prototype.
        * opts.c (print_specific_help): Use it for x_help_columns.
        * doc/invoke.texi (fdiagnostics-show-caret): Document how the
        width is set.

gcc/fortran/
        * error.c (gfc_get_terminal_width): Renamed from
        get_terminal_width and use same-named common function.
        (gfc_error_init_1): Update call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218619 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * xvasprintf.c: New file.
uros [Thu, 11 Dec 2014 08:15:37 +0000 (08:15 +0000)]
* xvasprintf.c: New file.
* vprintf-support.h: Likewise.
* vprintf-support.c: Likewise.
* Makefile.in (CFILES): Add vprintf-support.c, xvasprintf.c.
(REQUIRED_OFILES): Add vprintf-support.$(objext), xvasprintf.$(objext).
(vprintf-support.$(objext), xvasprintf.$(objext)): New targets.
(vasprintf.$(objext)): Depend on $(srcdir)/vprintf-support.h.
* functions.texi: Regenerate.
* vasprintf.c (int_vasprintf): Use libiberty_vprintf_buffer_size.

include/ChangeLog:

* libiberty.h (xvasprintf): Declare.

libcpp/ChangeLog:

* directives.c (cpp_define_formatted): Use xvasprintf.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218618 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Minor interface cleanups of libgccjit
drepper [Thu, 11 Dec 2014 04:31:52 +0000 (04:31 +0000)]
    Minor interface cleanups of libgccjit
        * jit/jit-playback.c (convert_to_dso): Use auto_vec instead
        of automatic array to build up command line.
        * jit/jit-recording.c (recording::context::set_str_option):
        Make copy of the string.
        (recording::context::~context): Free string options.
        * jit/jit-recording.h (recording::context): Adjust type
        of m_str_options member.
        * jit/libgccjit.h: Adjust comment about
        gcc_jit_context_set_str_option parameter begin used after
        the call.
        Update comment now that all interfaces are copy strings
        if necessary.
        * jit/libgccjit++.h (gccjit::context): Add set_str_option
        member function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218617 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Thu, 11 Dec 2014 00:16:24 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218616 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gdbhooks.py (class DWDieRefPrinter): New class.
aldyh [Wed, 10 Dec 2014 23:16:42 +0000 (23:16 +0000)]
* gdbhooks.py (class DWDieRefPrinter): New class.
(build_pretty_printer): Register dw_die_ref's.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218612 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd march=knl.
tocarip [Wed, 10 Dec 2014 21:25:12 +0000 (21:25 +0000)]
Add march=knl.

gcc/

* config.gcc: Support "knl".
* config/i386/driver-i386.c (host_detect_local_cpu): Detect "knl".
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
PROCESSOR_KNL.
* config/i386/i386.c (m_KNL): Define.
(processor_target_table): Add "knl".
(PTA_KNL): Define.
(ix86_issue_rate): Add PROCESSOR_KNL.
(ix86_adjust_cost): Ditto.
(ia32_multipass_dfa_lookahead): Ditto.
(get_builtin_code_for_version): Handle "knl".
(fold_builtin_cpu): Ditto.
* config/i386/i386.h (TARGET_KNL): Define.
(processor_type): Add PROCESSOR_KNL.
* config/i386/i386.md (attr "cpu"): Add knl.
* config/i386/x86-tune.def: Add m_KNL.

gcc/testsuite/

* gcc.target/i386/funcspec-5.c: Test avx512f and knl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218610 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * doc/invoke.texi: (-devirtualize-at-ltrans): Document.
hubicka [Wed, 10 Dec 2014 21:17:28 +0000 (21:17 +0000)]
* doc/invoke.texi: (-devirtualize-at-ltrans): Document.
* lto-cgraph.c (lto_output_varpool_node): Mark initializer as removed
when it is not streamed to the given ltrans.
(compute_ltrans_boundary): Make code adding all polymorphic
call targets conditional with !flag_wpa || flag_ltrans_devirtualize.
* common.opt (fdevirtualize-at-ltrans): New flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218609 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoCommit missing part of patch.
dje [Wed, 10 Dec 2014 21:14:36 +0000 (21:14 +0000)]
Commit missing part of patch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218608 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoForce output of vars with "omp declare target" attribute in gcc/varpool.c
iverbin [Wed, 10 Dec 2014 20:52:10 +0000 (20:52 +0000)]
Force output of vars with "omp declare target" attribute in gcc/varpool.c

gcc/
* varpool.c (varpool_node::get_create): Force output of vars with
"omp declare target" attribute.
libgomp/
* testsuite/libgomp.c/target-9.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218607 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR go/61316
ian [Wed, 10 Dec 2014 20:38:13 +0000 (20:38 +0000)]
PR go/61316
compiler: Don't lower multi-valued arguments into temporaries.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218606 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-10 Marc Glisse <marc.glisse@inria.fr>
glisse [Wed, 10 Dec 2014 20:26:05 +0000 (20:26 +0000)]
2014-12-10  Marc Glisse  <marc.glisse@inria.fr>

* real.h (HONOR_NANS): Replace macro with 3 overloaded declarations.
* real.c: Include rtl.h and options.h.
(HONOR_NANS): Define three overloads.
* builtins.c (fold_builtin_classify, fold_builtin_unordered_cmp):
Simplify argument of HONOR_NANS.
* fold-const.c (combine_comparisons, fold_truth_not_expr,
fold_cond_expr_with_comparison, merge_truthop_with_opposite_arm,
fold_comparison, fold_binary_loc): Likewise.
* ifcvt.c (noce_try_move, noce_try_minmax): Likewise.
* ipa-inline-analysis.c (add_clause,
set_cond_stmt_execution_predicate): Likewise.
* match.pd: Likewise.
* rtlanal.c (may_trap_p_1): Likewise.
* simplify-rtx.c (simplify_const_relational_operation): Likewise.
* tree-if-conv.c (parse_predicate): Likewise.
* tree-ssa-ccp.c (valid_lattice_transition): Likewise.
* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
* tree-ssa-phiopt.c (minmax_replacement, neg_replacement): Likewise.
* tree-ssa-reassoc.c (eliminate_using_constants): Likewise.
* tree-ssa-tail-merge.c (gimple_equal_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218605 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/62021
jakub [Wed, 10 Dec 2014 20:01:12 +0000 (20:01 +0000)]
PR tree-optimization/62021
* omp-low.c (simd_clone_adjust_return_type): Use
vector of pointer_sized_int_node types instead vector of pointer
types.
(simd_clone_adjust_argument_types): Likewise.

* gcc.dg/vect/pr62021.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218603 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/64252
jakub [Wed, 10 Dec 2014 19:59:57 +0000 (19:59 +0000)]
PR target/64252
* config/i386/i386.c (expand_vec_perm_pblendv): If not testing_p,
set dcopy.target to a new pseudo.

* gcc.dg/vect/pr64252.c: New test.
* gcc.dg/pr64252.c: New test.
* gcc.target/i386/avx2-pr64252.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218602 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/lto/chkp-privatize_0.c: Remove unneeded selector
ienkovich [Wed, 10 Dec 2014 19:08:57 +0000 (19:08 +0000)]
* gcc.dg/lto/chkp-privatize_0.c: Remove unneeded selector
from target check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218601 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-10 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 10 Dec 2014 19:05:56 +0000 (19:05 +0000)]
2014-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp/pr64127.C: Fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218600 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-10 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 10 Dec 2014 19:05:43 +0000 (19:05 +0000)]
2014-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp/pr64127.C: Fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218599 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rs6000/rs6000.md (*add<mode>3): Remove condition.
segher [Wed, 10 Dec 2014 18:41:37 +0000 (18:41 +0000)]
* config/rs6000/rs6000.md (*add<mode>3): Remove condition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218598 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rs6000/40x.md (ppc403-compare): Remove "compare".
segher [Wed, 10 Dec 2014 18:40:26 +0000 (18:40 +0000)]
* config/rs6000/40x.md (ppc403-compare): Remove "compare".
config/rs6000/440.md (ppc440-compare): Remove "compare".
config/rs6000/476.md (ppc476-compare): Remove "compare".
config/rs6000/601.md (ppc601-compare): Remove "compare".
config/rs6000/603.md (ppc603-compare): Remove "compare".
config/rs6000/6xx.md (ppc604-compare): Remove "compare".
config/rs6000/7450.md (ppc7450-compare): Remove "compare".
config/rs6000/7xx.md (ppc750-compare): Remove "compare".
config/rs6000/8540.md (ppc8540_su): Remove "compare".
config/rs6000/cell.md (cell-fast-cmp, cell-cmp-microcoded): Remove
"compare".
config/rs6000/e300c2c3.md (ppce300c3_cmp): Remove "compare".
config/rs6000/e500mc.md (e500mc_su): Remove "compare".
config/rs6000/e500mc64.md (e500mc64_su2): Remove "compare".
config/rs6000/e5500.md (e5500_sfx2): Remove "compare".
config/rs6000/e6500.md (e6500_sfx2): Remove "compare".
config/rs6000/mpc.md (mpccore-compare): Remove "compare".
config/rs6000/power4.md (power4-compare): Remove "compare".
config/rs6000/power5.md (power5-compare): Remove "compare".
config/rs6000/power6.md (power6-compare): Remove "compare".
config/rs6000/power7.md (power7-compare): Remove "compare".
config/rs6000/power8.md (power8-compare): Remove "compare".  Update
comment.
config/rs6000/rs6000.c (rs6000_adjust_cost) <TYPE_COMPARE>: Remove
(three times).
(is_cracked_insn): Remove TYPE_COMPARE case.
(insn_must_be_first_in_group) <TYPE_COMPARE>: Remove (twice).
config/rs6000/rs6000.md (type): Remove "compare".
(cell_micro): Remove "compare".
config/rs6000/rs64.md (rs64a-compare): Remove "compare".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218597 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rs6000/rs6000.md (*anddi3_2rld_dot, *anddi3_rld_dot2):
segher [Wed, 10 Dec 2014 18:39:14 +0000 (18:39 +0000)]
* config/rs6000/rs6000.md (*anddi3_2rld_dot, *anddi3_rld_dot2):
Change type from "compare" to "two".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218596 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/64180
segher [Wed, 10 Dec 2014 18:37:58 +0000 (18:37 +0000)]
PR target/64180
* config/rs6000/predicates.md (unsigned_comparison_operator): New.
(signed_comparison_operator): New.
* config/rs6000/rs6000-protos.h (rs6000_emit_eqne): Declare.
* config/rs6000/rs6000.c (rs6000_emit_eqne): New function.
(rs6000_emit_sCOND): Remove ISEL test (move it to the expander).
* config/rs6000/rs6000.md (add<mode>3 for SDI): Expand DImode
add to addc,adde directly, if !TARGET_POWERPC64.
(sub<mode>3 for SDI): Expand DImode sub to subfc,subfe directly,
if !TARGET_POWERPC64.
(neg<mode>2): Delete expander.
(*neg<mode>2): Rename to "neg<mode>2".
(addti3, subti3): Delete.
(addti3, subti3): New expanders.
(*adddi3_noppc64, *subdi3_noppc64, *negdi2_noppc64): Delete.
(cstore<mode>4_unsigned): New expander.
(cstore<mode>4): Allow GPR as output (not just SI).  Rewrite.
(cstore<mode>4 for FP): Remove superfluous quotes.
(*eq<mode>, *eq<mode>_compare, *plus_eqsi and splitter,
*compare_plus_eqsi and splitter, *plus_eqsi_compare and splitter,
*neg_eq0<mode>, *neg_eq<mode>, *ne0_<mode>, plus_ne0_<mode>,
compare_plus_ne0_<mode> and splitter, *compare_plus_ne0_<mode>_1 and
splitter, *plus_ne0_<mode>_compare and splitter, *leu<mode>,
*leu<mode>_compare and splitter, *plus_leu<mode>, *neg_leu<mode>,
*and_neg_leu<mode>, *ltu<mode>, *ltu<mode>_compare, *plus_ltu<mode>,
*plus_ltu<mode>_1, *plus_ltu<mode>compare, *neg_ltu<mode>, *geu<mode>,
*geu<mode>_compare and splitter, *plus_geu<mode>, *neg_geu<mode>,
*and_neg_geu<mode>, *plus_gt0<mode>, *gtu<mode>, *gtu<mode>_compare,
*plus_gtu<mode>, *plus_gtu<mode>_1, *plus_gtu<mode>_compare,
*neg_gtu<mode>, 12 anonymous insns, and 12 anonymous splitters):
Delete.
(eq<mode>3, ne<mode>3): New.
(*neg_eq_<mode>, *neg_ne_<mode>): New.
(*plus_eq_<mode>, *plus_ne_<mode>): New.
(*minus_eq_<mode>, *minus_ne_<mode>): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218595 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/64180
segher [Wed, 10 Dec 2014 18:36:18 +0000 (18:36 +0000)]
PR target/64180
* config/rs6000/predicates.md (adde_operand): New.
* config/rs6000/rs6000.md (add<mode>3_carry): New.
(*add<mode>3_imm_carry_pos): New.
(*add<mode>3_imm_carry_0): New.
(*add<mode>3_imm_carry_m1): New.
(*add<mode>3_imm_carry_neg): New.
(add<mode>3_carry_in): New.
(*add<mode>3_carry_in_internal): New.
(add<mode>3_carry_in_0): New.
(add<mode>3_carry_in_m1): New.
(subf<mode>3_carry): New.
(*subf<mode>3_imm_carry_0): New.
(*subf<mode>3_imm_carry_m1): New.
(subf<mode>3_carry_in): New.
(*subf<mode>3_carry_in_internal): New.
(subf<mode>3_carry_in_0): New.
(subf<mode>3_carry_in_m1): New.
(subf<mode>3_carry_in_xx): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218594 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/64180
segher [Wed, 10 Dec 2014 18:33:26 +0000 (18:33 +0000)]
PR target/64180
* config/rs6000/rs6000.md (*add<mode>3_internal1): Rename to
"*add<mode>3".
(*add<mode>3_internal2, *add<mode>3_internal3, and (their splitters):
Delete.
(*add<mode>3_dot, *add<mode>3_dot2): New.
(*add<mode>3_imm_dot, *add<mode>3_imm_dot2): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218593 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/64180
segher [Wed, 10 Dec 2014 18:32:15 +0000 (18:32 +0000)]
PR target/64180
* config/rs6000/rs6000.md (*add<mode>3_internal1): Remove addic
alternative.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218592 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/64180
segher [Wed, 10 Dec 2014 18:31:15 +0000 (18:31 +0000)]
PR target/64180
* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
*ctr<mode>_internal5, *ctr<mode>_internal6): Change "r" alternatives
to "b".  Increase length.
(splitters for these): Split to cmp+addi instead of addic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218591 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/64180
segher [Wed, 10 Dec 2014 18:30:07 +0000 (18:30 +0000)]
PR target/64180
* config/rs6000/darwin.md (macho_low_si): Remove "r" alternative.
(macho_low_di): Ditto.
* config/rs6000/rs6000.md (*largetoc_low): Ditto.
(tocref<mode>): Ditto.
(elf_low): Ditto.
* config/rs6000/spe.md (mov_si<mode>_e500_subreg0_elf_low_be): Ditto.
(mov_si<mode>_e500_subreg0_elf_low_le): Ditto.
(mov_si<mode>_e500_subreg4_elf_low_be): Ditto.  Reformat condition.
(mov_si<mode>_e500_subreg4_elf_low_le): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218590 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/64180
segher [Wed, 10 Dec 2014 18:28:57 +0000 (18:28 +0000)]
PR target/64180
* config/rs6000/rs6000.c (TARGET_MD_ASM_CLOBBERS): Define.
(rs6000_md_asm_clobbers): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218589 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDocument libgccjit++.h
dmalcolm [Wed, 10 Dec 2014 18:25:58 +0000 (18:25 +0000)]
Document libgccjit++.h

gcc/jit/ChangeLog:
* docs/cp/index.rst: New file.
* docs/cp/intro/index.rst: New file.
* docs/cp/intro/tutorial01.rst: New file.
* docs/cp/intro/tutorial02.rst: New file.
* docs/cp/intro/tutorial03.rst: New file.
* docs/cp/intro/tutorial04.rst: New file.
* docs/cp/topics/contexts.rst: New file.
* docs/cp/topics/expressions.rst: New file.
* docs/cp/topics/functions.rst: New file.
* docs/cp/topics/index.rst: New file.
* docs/cp/topics/locations.rst: New file.
* docs/cp/topics/objects.rst: New file.
* docs/cp/topics/results.rst: New file.
* docs/cp/topics/types.rst: New file.
* docs/examples/tut01-hello-world.cc: New file.
* docs/examples/tut02-square.c: Fix missing newline in output.
* docs/examples/tut02-square.cc: New file.
* docs/examples/tut03-sum-of-squares.cc: New file.
* docs/examples/tut04-toyvm/toyvm.cc: New file.
* docs/index.rst: Move summary to above the table of contents.
Add text about the C vs C++ APIs.
* docs/topics/contexts.rst: Fix a typo.

* docs/_build/texinfo/libgccjit.texi: Regenerate.
* docs/_build/texinfo/factorial1.png: New file.
* docs/_build/texinfo/sum-of-squares1.png: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218588 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-10 Richard Biener <rguenther@suse.de>
rguenth [Wed, 10 Dec 2014 15:47:30 +0000 (15:47 +0000)]
2014-12-10  Richard Biener  <rguenther@suse.de>

PR testsuite/64048
* gcc.dg/tree-prof/peel-1.c: Update dump scanning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218585 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Wed, 10 Dec 2014 15:29:19 +0000 (15:29 +0000)]
2014-12-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR fortran/60718
* trans-expr.c (gfc_conv_procedure_call): Fix a strict aliasing
violation when passing a class object to a formal parameter which has
different pointer or allocatable attributes.

testsuite:
2014-12-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR fortran/60718
* gfortran.dg/class_alias.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218584 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-10 Richard Biener <rguenther@suse.de>
rguenth [Wed, 10 Dec 2014 15:23:34 +0000 (15:23 +0000)]
2014-12-10  Richard Biener  <rguenther@suse.de>

* gcc.dg/tree-ssa/forwprop-29.c: Add -fno-ipa-icf.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218583 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/aarch64/aarch64-protos.h (aarch64_function_profiler): Remove
fyang [Wed, 10 Dec 2014 15:02:06 +0000 (15:02 +0000)]
    * config/aarch64/aarch64-protos.h (aarch64_function_profiler): Remove
        declaration of removed function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218582 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-10 Richard Biener <rguenther@suse.de>
rguenth [Wed, 10 Dec 2014 14:20:43 +0000 (14:20 +0000)]
2014-12-10  Richard Biener  <rguenther@suse.de>

 * tree-ssa-loop-im.c
 (move_computations_dom_walker::before_dom_children): Clear
 SSA_NAME_RANGE_INFO on moved stmts.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218580 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoNew sreal implementation which uses int64_t as m_sig.
marxin [Wed, 10 Dec 2014 14:10:21 +0000 (14:10 +0000)]
New sreal implementation which uses int64_t as m_sig.

* sreal.c (sreal::shift_right): New implementation
for int64_t as m_sig.
(sreal::normalize): Likewise.
(sreal::to_int): Likewise.
(sreal::operator+): Likewise.
(sreal::operator-): Likewise.
(sreal::operator*): Likewise.
(sreal::operator/): Likewise.
(sreal::signedless_minus): Removed.
(sreal::signedless_plus): Removed.
(sreal::debug): const keyword is added.
* sreal.h (sreal::operator<): New implementation
for int64_t as m_sig.
* ipa-inline.c (recursive_inlining): LONG_MIN is replaced
with sreal::min ().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218579 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR ipa/63909
marxin [Wed, 10 Dec 2014 14:07:47 +0000 (14:07 +0000)]
PR ipa/63909

        * gimple-iterator.h (gsi_start_bb_nondebug): New function.
* ipa-icf-gimple.c (func_checker::compare_bb): Correct iteration
replaces loop based on precomputed number of non-debug statements.
* gcc.dg/ipa/pr63909.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218578 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
kyukhin [Wed, 10 Dec 2014 13:49:19 +0000 (13:49 +0000)]
gcc/
* config/linux.c (linux_has_ifunc_p): Remove.
* config/linux.h (TARGET_HAS_IFUNC_P): Use default version.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218577 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agolibgomp/
kyukhin [Wed, 10 Dec 2014 13:42:20 +0000 (13:42 +0000)]
libgomp/
        * config.h.in: Regenerate.
        * configure: Regenerate.
        * configure.ac: Add GCC_CHECK_EMUTLS.
        * libgomp.h: Add check for USE_EMUTLS: this case
        is equal to HAVE_TLS.
        * team.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218576 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agocheck_GNU_style.sh "80 characters exceeded" error fix
alalaw01 [Wed, 10 Dec 2014 11:46:08 +0000 (11:46 +0000)]
check_GNU_style.sh "80 characters exceeded" error fix

2014-12-10  Mantas Mikaitis  <mantas.mikaitis@arm.com>

* contrib/check_GNU_style.sh (col): Got rid of cut operation
from the pipe chain and instead added cut inside awk command.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218575 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/64127
ktietz [Wed, 10 Dec 2014 11:32:00 +0000 (11:32 +0000)]
PR c++/64127
* g++.dg/cpp/pr64127.C: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218574 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/64127
ktietz [Wed, 10 Dec 2014 11:29:22 +0000 (11:29 +0000)]
PR c++/64127
* parser.c (cp_parser_diagnose_invalid_type_name): Check id
for being an identifier before accessing it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218573 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/64100
ktietz [Wed, 10 Dec 2014 11:26:47 +0000 (11:26 +0000)]
PR c++/64100
* g++.dg/template/pr64100.C: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218572 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/64100
ktietz [Wed, 10 Dec 2014 11:22:34 +0000 (11:22 +0000)]
PR c++/64100
* typeck.c (lookup_destructor): Handle incomplete type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218571 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoChangeLog fix for r218307
mpf [Wed, 10 Dec 2014 10:40:41 +0000 (10:40 +0000)]
ChangeLog fix for r218307

Remove entry from ChangeLog.
Insert entry into appropriate location of gcc/ChangeLog.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218570 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-10 Richard Biener <rguenther@suse.de>
rguenth [Wed, 10 Dec 2014 09:29:05 +0000 (09:29 +0000)]
2014-12-10  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64191
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not
mark clobbers as necessary.
(eliminate_unnecessary_stmts): Keep clobbers live if we can.

* g++.dg/pr64191.C: Make sure we can DCE empty loops with
indirect clobbers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218566 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/63594
jakub [Wed, 10 Dec 2014 09:00:50 +0000 (09:00 +0000)]
PR target/63594
* config/i386/sse.md (vec_dupv4sf): Move after
<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name> pattern.
(*vec_dupv4si, *vec_dupv2di): Likewise.
(<mask_codefor><avx512>_vec_dup_mem<mode><mask_name>): Merge into ...
(<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>): ... this
pattern.
(*vec_dup<mode> AVX2_VEC_DUP_MODE splitter): Disable for
TARGET_AVX512VL (for QI/HI scalar modes only if TARGET_AVX512BW
is set too).
* config/i386/i386.c (enum ix86_builtins): Remove
IX86_BUILTIN_PBROADCASTQ256_MEM_MASK,
IX86_BUILTIN_PBROADCASTQ128_MEM_MASK and
IX86_BUILTIN_PBROADCASTQ512_MEM.
(bdesc_args): Use __builtin_ia32_pbroadcastq512_gpr_mask,
__builtin_ia32_pbroadcastq256_gpr_mask and
__builtin_ia32_pbroadcastq128_gpr_mask instead of *_mem_mask
regardless of OPTION_MASK_ISA_64BIT.
* config/i386/avx512fintrin.h (_mm512_set1_epi64,
_mm512_mask_set1_epi64, _mm512_maskz_set1_epi64): Use *_gpr_mask
builtins regardless of whether TARGET_64BIT is defined or not.
* config/i386/avx512vlintrin.h (_mm256_mask_set1_epi64,
_mm256_maskz_set1_epi64, _mm_mask_set1_epi64, _mm_maskz_set1_epi64):
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218565 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/sse.md (*mov<mode>_internal, *avx512f_gatherdi<mode>_2):
jakub [Wed, 10 Dec 2014 08:44:46 +0000 (08:44 +0000)]
* config/i386/sse.md (*mov<mode>_internal, *avx512f_gatherdi<mode>_2):
Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218564 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
olegendo [Wed, 10 Dec 2014 08:31:32 +0000 (08:31 +0000)]
gcc/
PR target/53513
* doc/extend.texi (__builtin_sh_set_fpscr): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218563 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/61686
mpolacek [Wed, 10 Dec 2014 08:20:43 +0000 (08:20 +0000)]
PR tree-optimization/61686
* tree-ssa-reassoc.c (range_entry_cmp): Use q->high instead of
p->high.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218560 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * doc/libgcc.texi: Update text to match implementation in
jasonwucj [Wed, 10 Dec 2014 05:43:53 +0000 (05:43 +0000)]
* doc/libgcc.texi: Update text to match implementation in
libgcc/libgcc2.c

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218559 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove gengtype support for param_is use_param, if_marked and splay tree allocators
tbsaunde [Wed, 10 Dec 2014 03:45:40 +0000 (03:45 +0000)]
remove gengtype support for param_is use_param, if_marked and splay tree allocators

gcc/

* plugin.c, plugin.def, ggc.h, ggc-common.c, gengtype.h, gengtype.c,
gengtype-state.c, gengtype-parse.c, gentype-lex.l, gcc-plugin.h,
doc/plugins.texi, doc/gty.texi: Remove support for if_marked and
param_is.

include/

* hashtab.h, splay-tree.h: Remove GTY markers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218558 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/64129
jason [Wed, 10 Dec 2014 02:51:03 +0000 (02:51 +0000)]
PR c++/64129
* decl.c (grokdeclarator): Recover from variable template
specialization declared as function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218557 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/64222
jason [Wed, 10 Dec 2014 02:50:54 +0000 (02:50 +0000)]
PR c++/64222
* parser.c (cp_parser_unqualified_id): Don't declare fname while
parsing function parms.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218556 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoImplement LWG DR 2329 and DR 2332.
redi [Wed, 10 Dec 2014 01:37:37 +0000 (01:37 +0000)]
Implement LWG DR 2329 and DR 2332.

* include/bits/regex.h (regex_match, regex_search): LWG DR 2329,
add deleted overloads for rvalue strings.
(regex_iterator, regex_token_iterator): LWG DR 2332, add deleted
constructors for rvalue regexes.
* testsuite/28_regex/algorithms/regex_match/dr2329_neg.cc: New.
* testsuite/28_regex/algorithms/regex_search/dr2329_neg.cc: New.
* testsuite/28_regex/iterators/regex_iterator/ctors/char/dr2332_neg.cc:
New.
* testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
dr2332_neg.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218555 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agocompiler: Don't track fields in compiler-generated hash and eq funcs.
ian [Wed, 10 Dec 2014 00:56:00 +0000 (00:56 +0000)]
compiler: Don't track fields in compiler-generated hash and eq funcs.

Also, lower field tracking calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218554 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * include/std/future (__future_base::_Setter::operator(),
redi [Wed, 10 Dec 2014 00:39:37 +0000 (00:39 +0000)]
* include/std/future (__future_base::_Setter::operator(),
__future_base::_Task_setter::operator()): Make call operators const.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218553 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * include/bits/locale_facets.tcc (numpunct::_M_cache): Avoid calling
redi [Wed, 10 Dec 2014 00:21:37 +0000 (00:21 +0000)]
* include/bits/locale_facets.tcc (numpunct::_M_cache): Avoid calling
virtual functions twice. Only update _M_allocated after all
allocations have succeeded.
* include/bits/locale_facets_nonio.tcc (moneypunct::_M_cache):
Likewise.
* include/bits/locale_facets_nonio.h (__timepunct::_M_cache): Remove
unused declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218552 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
olegendo [Wed, 10 Dec 2014 00:21:36 +0000 (00:21 +0000)]
gcc/
PR target/53513
* doc/extend.texi (__builtin_sh_get_fpscr, __builtin_sh_get_fpscr):
Document it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218551 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Wed, 10 Dec 2014 00:16:28 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218550 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Tue, 9 Dec 2014 23:02:06 +0000 (23:02 +0000)]
2014-12-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR middle-end/64225
* tree-ssa-reassoc.c (acceptable_pow_call): Disable transformation
for BUILT_IN_POW when flag_errno_math is present.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218546 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
iverbin [Tue, 9 Dec 2014 22:44:16 +0000 (22:44 +0000)]
gcc/
* lto-wrapper.c (compile_offload_image): Start processing in_argv
from 0 instead of 1.
(run_gcc): Put offload objects into offload_argv, put LTO objects and
possible preceding arguments into lto_argv.
Pass offload_argv to compile_images_for_offload_targets instead of argv.
Use lto_argv for LTO recompilation instead of argv.
lto-plugin/
* lto-plugin.c (offload_files, num_offload_files): New static variables.
(free_1): Use arguments instead of global variables.
(free_2): Free offload_files.
(all_symbols_read_handler): Add names from offload_files to lto-wrapper
arguments.
(claim_file_handler): Do not add file to claimed_files if it contains
offload sections without LTO sections.  Add it to offload_files instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218543 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix date in change log entry.
olegendo [Tue, 9 Dec 2014 22:44:12 +0000 (22:44 +0000)]
Fix date in change log entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218542 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd missing link to PR in change log entry.
olegendo [Tue, 9 Dec 2014 22:40:20 +0000 (22:40 +0000)]
Add missing link to PR in change log entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218541 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agotoyvm.c: use correct path in debuginfo
dmalcolm [Tue, 9 Dec 2014 20:55:18 +0000 (20:55 +0000)]
toyvm.c: use correct path in debuginfo

gcc/jit/ChangeLog:
* docs/examples/tut04-toyvm/toyvm.c (toyvm_function_compile): Move
logic for determine "funcname" to new function...
(get_function_name): ...here, adding logic to skip any leading
path from the filename.
(toyvm_function_parse): Use the filename for fn_filename, rather
than "name", so that the debugger can locate the source .toy
file.
(toyvm_function_parse): Don't fclose a NULL FILE *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218540 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-09 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
dje [Tue, 9 Dec 2014 20:48:48 +0000 (20:48 +0000)]
2014-12-09  Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>

        (libgcc_s) Optional filename-based shared library versioning on AIX.
        * gcc/doc/install.texi: Describe --with-aix-soname option.
        * Makefile.in (with_aix_soname): Define.
        * config/rs6000/t-slibgcc-aix: Act upon --with-aix-soname option.
        * configure.ac: Accept --with-aix-soname=aix|svr4|both option.
        * configure: Recreate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218539 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR jit/63854: Document how to run the jit testsuite under valgrind
dmalcolm [Tue, 9 Dec 2014 20:46:33 +0000 (20:46 +0000)]
PR jit/63854: Document how to run the jit testsuite under valgrind

gcc/jit/ChangeLog:
PR jit/63854
* docs/internals/index.rst (Running under valgrind): New
subsection.
(docs/_build/texinfo/libgccjit.texi): Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218538 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64]Remove aarch64_get_lanedi, unused
alalaw01 [Tue, 9 Dec 2014 20:28:44 +0000 (20:28 +0000)]
[AArch64]Remove aarch64_get_lanedi, unused

* config/aarch64/aarch64-simd.md (aarch64_get_lanedi): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218537 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64]Remove be_checked_get_lane, check bounds with __builtin_aarch64_im_lane_boundsi.
alalaw01 [Tue, 9 Dec 2014 20:23:36 +0000 (20:23 +0000)]
[AArch64]Remove be_checked_get_lane, check bounds with __builtin_aarch64_im_lane_boundsi.

gcc/:

PR target/63870
* config/aarch64/aarch64-simd-builtins.def (be_checked_get_lane):
Delete.
* config/aarch64/aarch64-simd.md (aarch64_be_checked_get_lane<mode\>):
Delete.
* config/aarch64/arm_neon.h (aarch64_vget_lane_any): Use GCC
vector extensions, __aarch64_lane, __builtin_aarch64_im_lane_boundsi.
(__aarch64_vget_lane_f32, __aarch64_vget_lane_f64,
__aarch64_vget_lane_p8, __aarch64_vget_lane_p16,
__aarch64_vget_lane_s8, __aarch64_vget_lane_s16,
__aarch64_vget_lane_s32, __aarch64_vget_lane_s64,
__aarch64_vget_lane_u8, __aarch64_vget_lane_u16,
__aarch64_vget_lane_u32, __aarch64_vget_lane_u64,
__aarch64_vgetq_lane_f32, __aarch64_vgetq_lane_f64,
__aarch64_vgetq_lane_p8, __aarch64_vgetq_lane_p16,
__aarch64_vgetq_lane_s8, __aarch64_vgetq_lane_s16,
__aarch64_vgetq_lane_s32, __aarch64_vgetq_lane_s64,
__aarch64_vgetq_lane_u8, __aarch64_vgetq_lane_u16,
__aarch64_vgetq_lane_u32, __aarch64_vgetq_lane_u64): Delete.
(__aarch64_vdup_lane_any): Use __aarch64_vget_lane_any, remove
'q2' argument.
(__aarch64_vdup_lane_f32, __aarch64_vdup_lane_f64,
__aarch64_vdup_lane_p8, __aarch64_vdup_lane_p16,
__aarch64_vdup_lane_s8, __aarch64_vdup_lane_s16,
__aarch64_vdup_lane_s32, __aarch64_vdup_lane_s64,
__aarch64_vdup_lane_u8, __aarch64_vdup_lane_u16,
__aarch64_vdup_lane_u32, __aarch64_vdup_lane_u64,
__aarch64_vdup_laneq_f32, __aarch64_vdup_laneq_f64,
__aarch64_vdup_laneq_p8, __aarch64_vdup_laneq_p16,
__aarch64_vdup_laneq_s8, __aarch64_vdup_laneq_s16,
__aarch64_vdup_laneq_s32, __aarch64_vdup_laneq_s64,
__aarch64_vdup_laneq_u8, __aarch64_vdup_laneq_u16,
__aarch64_vdup_laneq_u32, __aarch64_vdup_laneq_u64): Remove argument
to __aarch64_vdup_lane_any.
(vget_lane_f32, vget_lane_f64, vget_lane_p8, vget_lane_p16,
vget_lane_s8, vget_lane_s16, vget_lane_s32, vget_lane_s64,
vget_lane_u8, vget_lane_u16, vget_lane_u32, vget_lane_u64,
vgetq_lane_f32, vgetq_lane_f64, vgetq_lane_p8, vgetq_lane_p16,
vgetq_lane_s8, vgetq_lane_s16, vgetq_lane_s32, vgetq_lane_s64,
vgetq_lane_u8, vgetq_lane_u16, vgetq_lane_u32, vgetq_lane_u64,
vdupb_lane_p8, vdupb_lane_s8, vdupb_lane_u8, vduph_lane_p16,
vduph_lane_s16, vduph_lane_u16, vdups_lane_f32, vdups_lane_s32,
vdups_lane_u32, vdupb_laneq_p8, vdupb_laneq_s8, vdupb_laneq_u8,
vduph_laneq_p16, vduph_laneq_s16, vduph_laneq_u16, vdups_laneq_f32,
vdups_laneq_s32, vdups_laneq_u32, vdupd_laneq_f64, vdupd_laneq_s64,
vdupd_laneq_u64, vfmas_lane_f32, vfma_laneq_f64, vfmad_laneq_f64,
vfmas_laneq_f32, vfmss_lane_f32, vfms_laneq_f64, vfmsd_laneq_f64,
vfmss_laneq_f32, vmla_lane_f32, vmla_lane_s16, vmla_lane_s32,
vmla_lane_u16, vmla_lane_u32, vmla_laneq_f32, vmla_laneq_s16,
vmla_laneq_s32, vmla_laneq_u16, vmla_laneq_u32, vmlaq_lane_f32,
vmlaq_lane_s16, vmlaq_lane_s32, vmlaq_lane_u16, vmlaq_lane_u32,
vmlaq_laneq_f32, vmlaq_laneq_s16, vmlaq_laneq_s32, vmlaq_laneq_u16,
vmlaq_laneq_u32, vmls_lane_f32, vmls_lane_s16, vmls_lane_s32,
vmls_lane_u16, vmls_lane_u32, vmls_laneq_f32, vmls_laneq_s16,
vmls_laneq_s32, vmls_laneq_u16, vmls_laneq_u32, vmlsq_lane_f32,
vmlsq_lane_s16, vmlsq_lane_s32, vmlsq_lane_u16, vmlsq_lane_u32,
vmlsq_laneq_f32, vmlsq_laneq_s16, vmlsq_laneq_s32, vmlsq_laneq_u16,
vmlsq_laneq_u32, vmul_lane_f32, vmul_lane_s16, vmul_lane_s32,
vmul_lane_u16, vmul_lane_u32, vmuld_lane_f64, vmuld_laneq_f64,
vmuls_lane_f32, vmuls_laneq_f32, vmul_laneq_f32, vmul_laneq_f64,
vmul_laneq_s16, vmul_laneq_s32, vmul_laneq_u16, vmul_laneq_u32,
vmulq_lane_f32, vmulq_lane_s16, vmulq_lane_s32, vmulq_lane_u16,
vmulq_lane_u32, vmulq_laneq_f32, vmulq_laneq_f64, vmulq_laneq_s16,
vmulq_laneq_s32, vmulq_laneq_u16, vmulq_laneq_u32) : Use
__aarch64_vget_lane_any.

gcc/testsuite/:

* gcc.target/aarch64/simd/vget_lane_f32_indices_1.c: New test.
* gcc.target/aarch64/simd/vget_lane_f64_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vget_lane_p16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vget_lane_p8_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vget_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vget_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vget_lane_s64_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vget_lane_s8_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vget_lane_u16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vget_lane_u32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vget_lane_u64_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vget_lane_u8_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vgetq_lane_f32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vgetq_lane_f64_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vgetq_lane_p16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vgetq_lane_p8_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vgetq_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vgetq_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vgetq_lane_s8_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vgetq_lane_u16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vgetq_lane_u32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vgetq_lane_u64_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vgetq_lane_u8_indices_1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218536 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd missing PR numbers to ChangeLog. Too late?
alalaw01 [Tue, 9 Dec 2014 20:13:52 +0000 (20:13 +0000)]
Add missing PR numbers to ChangeLog. Too late?

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218535 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64]Improve error message for non-constant immediates
alalaw01 [Tue, 9 Dec 2014 20:08:39 +0000 (20:08 +0000)]
[AArch64]Improve error message for non-constant immediates

gcc/:

* gcc/config/aarch64-builtins.c (aarch64_simd_expand_args): Update error
message for SIMD_ARG_CONSTANT.

gcc/testsuite/:

* gcc.target/aarch64/arg-type-diagnostics-1.c: Call intrinsic, update
expected error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218534 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd jit-tempdir.{c|h}
dmalcolm [Tue, 9 Dec 2014 20:00:07 +0000 (20:00 +0000)]
Add jit-tempdir.{c|h}

gcc/jit/ChangeLog:
        PR jit/64206
* Make-lang.in (jit_OBJS): Add jit/jit-tempdir.o.
* jit-common.h (gcc::jit::tempdir): New forward decl.
* jit-playback.c: Include jit-tempdir.h.
(gcc::jit::playback::context::context): Initialize m_tempdir.
(gcc::jit::playback::context::~context): Move tempdir
cleanup to new file jit-tempdir.c
(make_tempdir_path_template): Move to new file jit-tempdir.c.
(gcc::jit::playback::context::compile): Move tempdir creation
to new tempdir object in new file jit-tempdir.c.
(gcc::jit::playback::context::make_fake_args): Get path from
tempdir object rather than from member data.
(gcc::jit::playback::context::convert_to_dso): Likewise.
(gcc::jit::playback::context::dlopen_built_dso): Likewise.
(gcc::jit::playback::context::dump_generated_code): Likewise.
(gcc::jit::playback::context::get_path_c_file): New function.
(gcc::jit::playback::context::get_path_s_file): New function.
(gcc::jit::playback::context::get_path_so_file): New function.
* jit-playback.h (gcc::jit::playback::context::get_path_c_file):
New function.
(gcc::jit::playback::context::get_path_s_file): New function.
(gcc::jit::playback::context::get_path_so_file): New function.
(gcc::jit::playback::context): Move fields "m_path_template",
"m_path_tempdir", "m_path_c_file", "m_path_s_file",
"m_path_so_file" to new jit::tempdir class; add field "m_tempdir".
* jit-tempdir.c: New file.
* jit-tempdir.h: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218533 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Fix ICE on non-constant indices to __builtin_aarch64_im_lane_boundsi
alalaw01 [Tue, 9 Dec 2014 19:52:22 +0000 (19:52 +0000)]
[AArch64] Fix ICE on non-constant indices to __builtin_aarch64_im_lane_boundsi

gcc/:

* config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
TYPES_BINOPV): Delete.
(enum aarch64_builtins): Add AARCH64_BUILTIN_SIMD_LANE_CHECK and
AARCH64_SIMD_PATTERN_START.
(aarch64_init_simd_builtins): Register
__builtin_aarch64_im_lane_boundsi; use  AARCH64_SIMD_PATTERN_START.
(aarch64_simd_expand_builtin): Handle AARCH64_BUILTIN_LANE_CHECK; use
AARCH64_SIMD_PATTERN_START.

* config/aarch64/aarch64-simd.md (aarch64_im_lane_boundsi): Delete.
* config/aarch64/aarch64-simd-builtins.def (im_lane_bound): Delete.

* config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK): New.
(__aarch64_vget_lane_f64, __aarch64_vget_lane_s64,
__aarch64_vget_lane_u64, __aarch64_vset_lane_any, vdupd_lane_f64,
vdupd_lane_s64, vdupd_lane_u64, vext_f32, vext_f64, vext_p8, vext_p16,
vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
vextq_u64, vmulq_lane_f64): Use __AARCH64_LANE_CHECK.

gcc/testsuite/:

* gcc.target/aarch64/simd/vset_lane_s16_const_1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218532 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64]Fix ICE at -O0 on vld1_lane intrinsics
alalaw01 [Tue, 9 Dec 2014 19:37:18 +0000 (19:37 +0000)]
[AArch64]Fix ICE at -O0 on vld1_lane intrinsics

gcc/:

* config/aarch64/arm_neon.h (__AARCH64_NUM_LANES, __aarch64_lane *2):
New.
(aarch64_vset_lane_any): Redefine using previous, same for BE + LE.
(vset_lane_f32, vset_lane_f64, vset_lane_p8, vset_lane_p16,
vset_lane_s8, vset_lane_s16, vset_lane_s32, vset_lane_s64,
vset_lane_u8, vset_lane_u16, vset_lane_u32, vset_lane_u64): Remove
number of lanes.
(vld1_lane_f32, vld1_lane_f64, vld1_lane_p8, vld1_lane_p16,
vld1_lane_s8, vld1_lane_s16, vld1_lane_s32, vld1_lane_s64,
vld1_lane_u8, vld1_lane_u16, vld1_lane_u32, vld1_lane_u64): Call
__aarch64_vset_lane_any rather than vset_lane_xxx.

gcc/testsuite/:

* gcc.target/aarch64/vld1_lane-o0.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218531 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite/:
alalaw01 [Tue, 9 Dec 2014 19:19:54 +0000 (19:19 +0000)]
gcc/testsuite/:

        * gcc.target/aarch64/vabs_intrinsic_2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218530 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix bogus ChangeLog entry from r218521
dmalcolm [Tue, 9 Dec 2014 19:03:19 +0000 (19:03 +0000)]
Fix bogus ChangeLog entry from r218521

In r218521 I erroneously added the entries meant for gcc/jit/ChangeLog
to gcc/ChangeLog instead.

Move them to the correct ChangeLog file.

Sorry for the noise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218529 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoGuard less code with the JIT mutex
dmalcolm [Tue, 9 Dec 2014 18:51:04 +0000 (18:51 +0000)]
Guard less code with the JIT mutex

gcc/jit/ChangeLog:
* jit-playback.c (gcc::jit::playback::context::compile): Acquire the
mutex here, immediately before using toplev, and release it here, on
each exit path after acquisition.
(jit_mutex): Move this variable here, from jit-recording.c.
(gcc::jit::playback::context::acquire_mutex): New function, based on
code in jit-recording.c.
(gcc::jit::playback::context::release_mutex): Likewise.
* jit-playback.h (gcc::jit::playback::context::acquire_mutex): New
function.
(gcc::jit::playback::context::release_mutex): New function.
* jit-recording.c (jit_mutex): Move this variable to jit-playback.c.
(gcc::jit::recording::context::compile): Move mutex-handling from
here into jit-playback.c's gcc::jit::playback::context::compile.
* notes.txt: Update to show the new locations of ACQUIRE_MUTEX
and RELEASE_MUTEX.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218528 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agojit-playback.c: Move dlopen code into a new function
dmalcolm [Tue, 9 Dec 2014 18:40:40 +0000 (18:40 +0000)]
jit-playback.c: Move dlopen code into a new function

gcc/jit/ChangeLog:
* jit-playback.c (gcc::jit::playback::context::compile): Move the
dlopen code into...
(gcc::jit::playback::context::dlopen_built_dso): ...this new
function.
* jit-playback.h (gcc::jit::playback::context::dlopen_built_dso):
New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218527 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Add TARGET_SCHED_REASSOCIATION_WIDTH
jiwang [Tue, 9 Dec 2014 18:26:04 +0000 (18:26 +0000)]
[AArch64] Add TARGET_SCHED_REASSOCIATION_WIDTH

2014-12-09  Wilco Dijkstra  <wilco.dijkstra@arm.com>

* gcc/config/aarch64/aarch64-protos.h (tune-params): Add reasociation
tuning parameters.
* gcc/config/aarch64/aarch64.c (TARGET_SCHED_REASSOCIATION_WIDTH):
Define.
(aarch64_reassociation_width): New function.
(generic_tunings): Add reassociation tuning parameters.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(thunderx_tunings): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218526 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AARCH64][5/5] Add macro fusion support for cmp/b.X for ThunderX
ktkachov [Tue, 9 Dec 2014 17:32:58 +0000 (17:32 +0000)]
[AARCH64][5/5] Add macro fusion support for cmp/b.X for ThunderX

* config/aarch64/aarch64.c (AARCH64_FUSE_CMP_BRANCH): New define.
(thunderx_tunings): Add AARCH64_FUSE_CMP_BRANCH to fuseable_ops.
(aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_CMP_BRANCH.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218525 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agojit: Add new testcase missing from r218521
dmalcolm [Tue, 9 Dec 2014 15:52:48 +0000 (15:52 +0000)]
jit: Add new testcase missing from r218521

I intended for r218521 to contain this file:

gcc/testsuite/ChangeLog:
* jit.dg/test-error-unrecognized-dump.c: New file.

Add it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218522 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR jit/64166: Add API entrypoint gcc_jit_context_enable_dump
dmalcolm [Tue, 9 Dec 2014 15:35:39 +0000 (15:35 +0000)]
PR jit/64166: Add API entrypoint gcc_jit_context_enable_dump

gcc/jit/ChangeLog:
PR jit/64166
* docs/topics/contexts.rst (Debugging): Add description of
gcc_jit_context_enable_dump.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
* jit-playback.c: Include context.h.
(class auto_argvec): New class.
(auto_argvec::~auto_argvec): New function.
(gcc::jit::playback::context::compile): Convert fake_args to be
an auto_argvec, so that it can contain dynamically-allocated
strings.   Construct a vec of all requested dumps, and pass it to
make_fake_args.  Extract requested dumps between the calls to
toplev::main and toplev::finalize.
(gcc::jit::playback::context::make_fake_args): Convert param
"argvec" to be a vec <char *>, and gain a "requested_dumps"
param.  Convert to dynamically-allocated arg strings by converting
ADD_ARG to take a copy of the arg, and add ADD_ARG_TAKE_OWNERSHIP
for args that are already a copy.  Add args for all requested dumps.
(gcc::jit::playback::context::extract_any_requested_dumps): New
function.
(gcc::jit::playback::context::read_dump_file): New function.
* jit-playback.h (gcc::jit::playback::context::make_fake_args):
Convert param "argvec" to be a vec <char *>, and gain a
"requested_dumps" param.
(gcc::jit::playback::context::extract_any_requested_dumps): New
function.
(gcc::jit::playback::context::read_dump_file): New function.
* jit-recording.c (gcc::jit::recording::context::enable_dump): New
function.
(gcc::jit::recording::context::get_all_requested_dumps): New
function.
* jit-recording.h (gcc::jit::recording::requested_dump): New
struct.
(gcc::jit::recording::context::enable_dump): New function.
(gcc::jit::recording::context::get_all_requested_dumps): New
function.
(gcc::jit::recording::context::m_requested_dumps): New field.
* libgccjit.c (gcc_jit_context_enable_dump): New API entrypoint.
* libgccjit.h (gcc_jit_context_enable_dump): New API entrypoint.
* libgccjit.map (gcc_jit_context_enable_dump): New API entrypoint.

gcc/testsuite/ChangeLog:
PR jit/64166
PR jit/64020
* jit.dg/harness.h (CHECK_STRING_CONTAINS): New macro.
(check_string_contains): New function.
* jit.dg/test-error-unrecognized-dump.c: New file.
* jit.dg/test-functions.c (trig_sincos_dump): New variable.
(trig_statistics_dump): New variable.
(create_test_of_builtin_trig): Enable dumping of "sincos" and
"statistics" into "trig_sincos_dump" and "trig_statistics_dump".
(verify_test_of_builtin_trig): Verify the sincos and statistics
dumps.
* jit.dg/test-sum-of-squares.c (dump_vrp1): New variable.
(create_code): Enable dumping of "tree-vrp1" into dump_vrp1.
(verify_code): Verify the tree-vrp1 dump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218521 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR jit/64166: Add methods to gcc::dump_manager needed by JIT testing
dmalcolm [Tue, 9 Dec 2014 15:25:11 +0000 (15:25 +0000)]
PR jit/64166: Add methods to gcc::dump_manager needed by JIT testing

gcc/ChangeLog:
PR jit/64166
* dumpfile.c (gcc::dump_manager::get_dump_file_info_by_switch):
New function.
(gcc::dump_manager::get_dump_file_name): Split out bulk of
implementation into a new overloaded variant taking a
dump_file_info *.
* dumpfile.h (gcc::dump_manager::get_dump_file_info_by_switch):
New function.
(gcc::dump_manager::get_dump_file_name): New overloaded variant of
this function, taking a dump_file_info *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218520 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR bootstrap/64213
uros [Tue, 9 Dec 2014 14:34:32 +0000 (14:34 +0000)]
PR bootstrap/64213
Revert:
2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>

PR rtl-optimization/64037
* combine.c (setup_incoming_promotions): Pass the argument
before any promotions happen to promote_function_mode.

testsuite/ChangeLog:

PR bootstrap/64213
Revert:
2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>

PR rtl-optimization/64037
* g++.dg/pr64037.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218516 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-09 Richard Biener <rguenther@suse.de>
rguenth [Tue, 9 Dec 2014 14:25:09 +0000 (14:25 +0000)]
2014-12-09  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64193
* tree-ssa-alias.c (walk_non_aliased_vuses): Add valueize parameter
and valueize the VUSE before looking up the def stmt.
* tree-ssa-alias.h (walk_non_aliased_vuses): Adjust prototype.
* tree-ssa-sccvn.c (vn_reference_lookup_pieces): Pass vn_valueize
to walk_non_aliased_vuses.
(vn_reference_lookup): Likewise.
* tree-ssa-dom.c (lookup_avail_expr): Pass NULL as valueize
callback to walk_non_aliased_vuses.

* gcc.dg/tree-ssa/ssa-fre-43.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218515 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoLocal Vim config with GNU formatting.
ygribov [Tue, 9 Dec 2014 13:45:47 +0000 (13:45 +0000)]
Local Vim config with GNU formatting.

2014-12-09  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
    Yury Gribov  <y.gribov@samsung.com>

/
* .gitignore: Added .local.vimrc and .lvimrc.
* Makefile.tpl (vimrc, .lvimrc, .local.vimrc): New targets.
* Makefile.in: Regenerate.

contrib/
* vimrc: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218514 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-09 Richard Biener <rguenther@suse.de>
rguenth [Tue, 9 Dec 2014 11:58:51 +0000 (11:58 +0000)]
2014-12-09  Richard Biener  <rguenther@suse.de>

PR middle-end/64199
* fold-const.c (fold_binary_loc): Use TREE_OVERFLOW_P.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218513 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR libstdc++/64203
redi [Tue, 9 Dec 2014 11:03:57 +0000 (11:03 +0000)]
PR libstdc++/64203
* include/std/shared_mutex: Fix preprocessor conditions.
* testsuite/experimental/feat-cxx14.cc: Check conditions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218511 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-09 Richard Biener <rguenther@suse.de>
rguenth [Tue, 9 Dec 2014 09:13:18 +0000 (09:13 +0000)]
2014-12-09  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64191
* tree-vect-stmts.c (vect_stmt_relevant_p): Clobbers are
not relevant (nor are their uses).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218509 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
ienkovich [Tue, 9 Dec 2014 08:00:52 +0000 (08:00 +0000)]
gcc/

* lto/lto-partition.c (privatize_symbol_name): Correctly
privatize instrumentation clones.

gcc/testsuite/

* gcc.dg/lto/lto.exp: Load mpx-dg.exp.
* gcc.dg/lto/chkp-privatize_0.c: New.
* gcc.dg/lto/chkp-privatize_1.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218508 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * lto-cgraph.c (input_cgraph_1): Don't break existing
ienkovich [Tue, 9 Dec 2014 07:56:26 +0000 (07:56 +0000)]
* lto-cgraph.c (input_cgraph_1): Don't break existing
instrumentation clone references.
* lto/lto-symtab.c (lto_cgraph_replace_node): Redirect
instrumented_version references appropriately.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218507 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
ienkovich [Tue, 9 Dec 2014 07:53:17 +0000 (07:53 +0000)]
gcc/

PR bootstrap/63995
* tree-chkp.c (chkp_make_static_bounds): Share bounds var
between nodes sharing assembler name.

gcc/testsuite/

PR bootstrap/63995
* g++.dg/dg.exp: Add mpx-dg.exp.
* g++.dg/pr63995-1.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218506 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-08 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Tue, 9 Dec 2014 03:56:28 +0000 (03:56 +0000)]
2014-12-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/64204
* config/rs6000/rs6000.c (rs6000_emit_move): Do not split TFmode
constant moves if -mupper-regs-df.

* config/rs6000/rs6000.md (mov<mode>_64bit_dm): Optimize moving
0.0L to TFmode.
(movtd_64bit_nodm): Likewise.
(mov<mode>_32bit, FMOVE128 case): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218505 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-08 Sandra Loosemore <sandra@codesourcery.com>
sandra [Tue, 9 Dec 2014 02:53:00 +0000 (02:53 +0000)]
2014-12-08  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* simplify-rtx.c (simplify_relational_operation_1): Handle
simplification identities for BICS patterns.

gcc/testsuite/
* gcc.target/aarch64/bics_4.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218503 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agomove gimple_canonical_types htab out of gc memory
tbsaunde [Tue, 9 Dec 2014 02:30:13 +0000 (02:30 +0000)]
move gimple_canonical_types htab out of gc memory

lto/

* lto.c (read_cgraph_and_symbols): allocate gimple_canonical_types
htab with malloc instead of ggc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218502 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove param_is from nvptx
tbsaunde [Tue, 9 Dec 2014 02:30:06 +0000 (02:30 +0000)]
remove param_is from nvptx

gcc/

* config/nvptx/nvptx.c: Convert htabs to hash_table.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218501 138bc75d-0d04-0410-961f-82ee72b054a4