Commit Graph

135161 Commits

Author SHA1 Message Date
Richard Biener
d17271de7f re PR tree-optimization/42108 (50% performance regression)
2014-12-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/42108
	* trans-stmt.c (gfc_trans_do): Execute the division computing
	countm1 before the loop entry check.

	* gfortran.dg/pr42108.f90: Amend.

From-SVN: r218630
2014-12-11 15:52:47 +00:00
Paolo Carlini
b214b73391 typeck.c (maybe_warn_about_useless_cast): Remove unnecessary conditional.
2014-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* typeck.c (maybe_warn_about_useless_cast): Remove unnecessary
	conditional.

From-SVN: r218629
2014-12-11 15:45:32 +00:00
Manuel López-Ibáñez
4011a145dc do_iterator.f90: Remove bogus dg-warning.
gcc/testsuite/ChangeLog:

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

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

From-SVN: r218628
2014-12-11 15:28:27 +00:00
Manuel López-Ibáñez
c4100eaea3 re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
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/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.

From-SVN: r218627
2014-12-11 15:13:33 +00:00
Kyrylo Tkachov
217d0904fa [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.

From-SVN: r218626
2014-12-11 15:09:01 +00:00
Andrew MacLeod
b61d924dce gen-mul-tables.cc: Add insn-codes.h to include list for generator file.
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.

From-SVN: r218624
2014-12-11 14:57:00 +00:00
Segher Boessenkool
08e39a5406 combine.c (try_combine): Do not allow combining a PARALLEL I2 with a register move I3 if that I2 is an asm.
* combine.c (try_combine): Do not allow combining a PARALLEL I2
	with a register move I3 if that I2 is an asm.

From-SVN: r218623
2014-12-11 15:29:14 +01:00
Kyrylo Tkachov
26a4d424e1 [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.

From-SVN: r218622
2014-12-11 13:34:22 +00:00
Marek Polacek
20bd649ae4 fold-const.c (fold_negate_expr): Add ANY_INTEGRAL_TYPE_P check.
* 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.

From-SVN: r218621
2014-12-11 11:07:58 +00:00
Kyrylo Tkachov
f63950e561 [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.

From-SVN: r218620
2014-12-11 09:43:53 +00:00
Tobias Burnus
c9db45aaf4 diagnostic.c (get_terminal_width): Renamed from
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.


Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>

From-SVN: r218619
2014-12-11 09:20:24 +01:00
Uros Bizjak
01ca36af91 xvasprintf.c: New file.
* 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.


Co-Authored-By: Ben Elliston <bje@au.ibm.com>
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>

From-SVN: r218618
2014-12-11 09:15:37 +01:00
Ulrich Drepper
c168eab92c Minor interface cleanups of libgccjit
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.

From-SVN: r218617
2014-12-11 04:31:52 +00:00
GCC Administrator
67dab5e0a3 Daily bump.
From-SVN: r218616
2014-12-11 00:16:24 +00:00
Aldy Hernandez
53afce203b gdbhooks.py (class DWDieRefPrinter): New class.
* gdbhooks.py (class DWDieRefPrinter): New class.
	(build_pretty_printer): Register dw_die_ref's.

From-SVN: r218612
2014-12-10 23:16:42 +00:00
Ilya Tocar
52747219da 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.

From-SVN: r218610
2014-12-11 00:25:12 +03:00
Jan Hubicka
1e29e4d36f invoke.texi: (-devirtualize-at-ltrans): Document.
* 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.

From-SVN: r218609
2014-12-10 21:17:28 +00:00
David Edelsohn
a06478dd6c Commit missing part of patch.
From-SVN: r218608
2014-12-10 16:14:36 -05:00
Ilya Verbin
2354caecd9 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.

From-SVN: r218607
2014-12-10 20:52:10 +00:00
Ian Lance Taylor
c44f74e4cb re PR go/61316 (gccgo: spurious "incompatible types in assignment" error [GoSmith])
PR go/61316
compiler: Don't lower multi-valued arguments into temporaries.

From-SVN: r218606
2014-12-10 20:38:13 +00:00
Marc Glisse
1b457aa45d real.h (HONOR_NANS): Replace macro with 3 overloaded declarations.
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.

From-SVN: r218605
2014-12-10 20:26:05 +00:00
Jakub Jelinek
1c4967b998 re PR tree-optimization/62021 (ICE in verify_gimple_assign_single)
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.

From-SVN: r218603
2014-12-10 21:01:12 +01:00
Jakub Jelinek
3ec5dd98f0 re PR target/64252 (expand_vec_perm_pblendv caused miscompilation)
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.

Co-Authored-By: Evgeny Stupachenko <evstupac@gmail.com>

From-SVN: r218602
2014-12-10 20:59:57 +01:00
Ilya Enkovich
e90f3d6cfc chkp-privatize_0.c: Remove unneeded selector from target check.
* gcc.dg/lto/chkp-privatize_0.c: Remove unneeded selector
	from target check.

From-SVN: r218601
2014-12-10 19:08:57 +00:00
Paolo Carlini
bf79db5ad0 pr64127.C: Fix.
2014-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r218600
2014-12-10 19:05:56 +00:00
Paolo Carlini
9e10d54ac5 pr64127.C: Fix.
2014-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r218599
2014-12-10 19:05:43 +00:00
Segher Boessenkool
0ccf5264a3 * config/rs6000/rs6000.md (*add<mode>3): Remove condition.
From-SVN: r218598
2014-12-10 19:41:37 +01:00
Segher Boessenkool
f5ae5a23ac 40x.md (ppc403-compare): Remove "compare".
* 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".

From-SVN: r218597
2014-12-10 19:40:26 +01:00
Segher Boessenkool
823dc8bde7 rs6000.md (*anddi3_2rld_dot, [...]): Change type from "compare" to "two".
* config/rs6000/rs6000.md (*anddi3_2rld_dot, *anddi3_rld_dot2):
	Change type from "compare" to "two".

From-SVN: r218596
2014-12-10 19:39:14 +01:00
Segher Boessenkool
a935964dea re PR target/64180 (PowerPC carry bit improvements)
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.

From-SVN: r218595
2014-12-10 19:37:58 +01:00
Segher Boessenkool
969ce0b0a6 re PR target/64180 (PowerPC carry bit improvements)
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.

From-SVN: r218594
2014-12-10 19:36:18 +01:00
Segher Boessenkool
46121d60c5 re PR target/64180 (PowerPC carry bit improvements)
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.

From-SVN: r218593
2014-12-10 19:33:26 +01:00
Segher Boessenkool
d262c86cc9 re PR target/64180 (PowerPC carry bit improvements)
PR target/64180
	* config/rs6000/rs6000.md (*add<mode>3_internal1): Remove addic
	alternative.

From-SVN: r218592
2014-12-10 19:32:15 +01:00
Segher Boessenkool
79cdc851c5 re PR target/64180 (PowerPC carry bit improvements)
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.

From-SVN: r218591
2014-12-10 19:31:15 +01:00
Segher Boessenkool
76f93d9994 re PR target/64180 (PowerPC carry bit improvements)
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.

From-SVN: r218590
2014-12-10 19:30:07 +01:00
Segher Boessenkool
7b7817713f re PR target/64180 (PowerPC carry bit improvements)
PR target/64180
	* config/rs6000/rs6000.c (TARGET_MD_ASM_CLOBBERS): Define.
	(rs6000_md_asm_clobbers): New function.

From-SVN: r218589
2014-12-10 19:28:57 +01:00
David Malcolm
29df5715c0 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.

From-SVN: r218588
2014-12-10 18:25:58 +00:00
Richard Biener
e56e603b72 re PR testsuite/64048 (UNRESOLVED: gcc.dg/tree-prof/peel-1.c scan-rtl-dump loop2_unroll)
2014-12-10  Richard Biener  <rguenther@suse.de>

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

From-SVN: r218585
2014-12-10 15:47:30 +00:00
Bernd Edlinger
301375fdd5 re PR fortran/60718 (Test case gfortran.dg/select_type_4.f90 fails on ARM)
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.

From-SVN: r218584
2014-12-10 15:29:19 +00:00
Richard Biener
d7290d1cf4 forwprop-29.c: Add -fno-ipa-icf.
2014-12-10  Richard Biener  <rguenther@suse.de>

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

From-SVN: r218583
2014-12-10 15:23:34 +00:00
Felix Yang
e9ecbf4b1d aarch64-protos.h (aarch64_function_profiler): Remove declaration of removed function.
* config/aarch64/aarch64-protos.h (aarch64_function_profiler): Remove
        declaration of removed function.

From-SVN: r218582
2014-12-10 15:02:06 +00:00
Richard Biener
07faade69f 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.

From-SVN: r218580
2014-12-10 14:20:43 +00:00
Martin Liska
d170435892 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 ().

From-SVN: r218579
2014-12-10 14:10:21 +00:00
Martin Liska
42c0b54df5 re PR ipa/63909 (ICE: SIGSEGV in ipa_icf_gimple::func_checker::compare_bb())
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.

From-SVN: r218578
2014-12-10 14:07:47 +00:00
Alexander Ivchenko
ef9b7fad36 linux.c (linux_has_ifunc_p): Remove.
gcc/
	* config/linux.c (linux_has_ifunc_p): Remove.
	* config/linux.h (TARGET_HAS_IFUNC_P): Use default version.

From-SVN: r218577
2014-12-10 13:49:19 +00:00
Varvara Rainchik
f50eecba13 config.h.in: Regenerate.
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.

From-SVN: r218576
2014-12-10 13:42:20 +00:00
Mantas Mikaitis
d0d7c35782 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.

From-SVN: r218575
2014-12-10 11:46:08 +00:00
Kai Tietz
73d1736364 re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980)
PR c++/64127
	* g++.dg/cpp/pr64127.C: New file.

From-SVN: r218574
2014-12-10 12:32:00 +01:00
Kai Tietz
e6f2df09a5 re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980)
PR c++/64127
	* parser.c (cp_parser_diagnose_invalid_type_name): Check id
	for being an identifier before accessing it.

From-SVN: r218573
2014-12-10 12:29:22 +01:00
Kai Tietz
6cc92f7d80 re PR c++/64100 (A static assert using the the current class in a noexcept test leads to a segfault)
PR c++/64100
	* g++.dg/template/pr64100.C: New file.

From-SVN: r218572
2014-12-10 12:26:47 +01:00