Commit Graph

132471 Commits

Author SHA1 Message Date
Fritz Reese
03e46144fa re PR fortran/62309 (-fno-automatic with -finit-local prevents initialization of automatics in recursive functions)
2014-08-31  Fritz Reese  <Reese-Fritz@zai.com>

        PR fortran/62309
        * resolve.c (apply_default_init_local): Don't treat variables
        in RECURSIVE procedures as saved.

2014-08-31  Fritz Reese  <Reese-Fritz@zai.com>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/62309
        * gcc/testsuite/gfortran.dg/auto_save_2.f90: New.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r214771
2014-09-01 00:28:30 +02:00
Jason Merrill
cbb4d6a4b9 re PR c++/62302 (Change in the comdat used for constructors)
PR c++/62302
	* optimize.c (cdtor_comdat_group): Just look at the
	DECL_ASSEMBLER_NAME of the 'tors.

From-SVN: r214770
2014-08-31 17:06:08 -04:00
Gerald Pfeifer
a3e3f1166f Fix typo.
From-SVN: r214769
2014-08-31 19:29:13 +00:00
Gerald Pfeifer
30fb31afb7 * doc/generic.texi (Deficiencies): Add note on exemplary mistakes.
From-SVN: r214768
2014-08-31 19:28:04 +00:00
Tobias Burnus
93e2e0465e trans-decl.c (gfc_build_builtin_function_decls): Add may_require_tmp dummy argument.
2014-08-31  Tobias Burnus  <burnus@net-b.de>

gcc/fortran/
        * trans-decl.c (gfc_build_builtin_function_decls): Add
        may_require_tmp dummy argument.
        * trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
        conv_caf_send): Handle may_require_tmp argument.
        (gfc_conv_intrinsic_function): Update call.
        * gfortran.texi (_gfortran_caf_send, _gfortran_caf_get,
        _gfortran_caf_sendget): Update interface description.

gcc/testsuite/
        * gfortran.dg/coarray_lib_comm_1.f90: New.

libgfortran/
        * caf/libcaf.h (_gfortran_caf_send, _gfortran_caf_get,
        _gfortran_caf_sendget): Update prototype.
        * caf/single.c (_gfortran_caf_send, _gfortran_caf_get,
        _gfortran_caf_sendget): Handle may_require_tmp.

From-SVN: r214764
2014-08-31 08:32:06 +02:00
GCC Administrator
5c535ce216 Daily bump.
From-SVN: r214763
2014-08-31 00:17:14 +00:00
Andrew Pinski
e4b8a41013 20140828-1.c: New testcase.
2014-08-30  Andrew Pinski  <apinski@cavium.com>

        * gcc.c-torture/execute/20140828-1.c: New testcase.

From-SVN: r214760
2014-08-30 15:35:43 -07:00
Tobias Burnus
695326ef6e Add missing ChangeLog items for Rev. 214758.
From-SVN: r214759
2014-08-30 20:48:42 +02:00
Tobias Burnus
2c69df3ba0 trans.h (gfc_caf_get_image_index, [...]): New prototypes.
2014-08-30  Tobias Burnus  <burnus@net-b.de>

        * trans.h (gfc_caf_get_image_index,
        gfc_get_caf_token_offset): New prototypes.
        * trans-expr.c (gfc_caf_get_image_index): Moved from
        trans-intrinsic.c and renamed.
        (gfc_get_caf_token_offset) Ditto; support offset = NULL
        with early return.
        * trans-intrinsic.c (get_caf_token_offset, caf_get_image_index):
        Moved to trans-expr.
        (gfc_conv_intrinsic_caf_get, conv_caf_send,
        conv_intrinsic_atomic_op, conv_intrinsic_atomic_ref,
        conv_intrinsic_atomic_cas): Update callers.

From-SVN: r214758
2014-08-30 20:47:40 +02:00
Tobias Burnus
e284dec53b re PR fortran/62278 (gfc_check_dependency should also check for TARGET attribute)
2014-08-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/62278
        PR fortran/44735
        PR fortran/60593
        * dependency.c (gfc_check_dependency): Allow for optimizations
        in the pointer-alias check.

From-SVN: r214757
2014-08-30 20:47:04 +02:00
John David Anglin
ef71990174 pa.c (pa_assemble_integer): Don't add PLABEL relocation prefix to function labels when...
* config/pa/pa.c (pa_assemble_integer): Don't add PLABEL relocation
	prefix to function labels when generating fast indirect calls.

From-SVN: r214754
2014-08-30 15:24:59 +00:00
John David Anglin
79c702321e baseline_symbols.txt: Update.
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r214753
2014-08-30 15:10:20 +00:00
David Malcolm
c3f14d55e8 re PR bootstrap/62304 (ICE in follow_jumps, find_dead_or_set_registers)
PR bootstrap/62304

	* gcc/reorg.c (skip_consecutive_labels): Convert return type and
	param back from rtx_insn * to rtx.  Rename param from "label" to
	"label_or_return", reintroducing "label" as an rtx_insn * after
	we've ensured it's not a RETURN.
	(first_active_target_insn): Likewise for return type and param;
	add a checked cast to rtx_insn * once we've ensured "insn" is not
	a RETURN.
	(steal_delay_list_from_target): Convert param "pnew_thread" back
	from rtx_insn ** to rtx *.  Replace use of JUMP_LABEL_AS_INSN
	with JUMP_LABEL.
	(own_thread_p): Convert param "thread" back from an rtx_insn * to
	an rtx.  Introduce local rtx_insn * "thread_insn" with a checked
	cast once we've established we're not dealing with a RETURN,
	renaming subsequent uses of "thread" to "thread_insn".
	(fill_simple_delay_slots): Convert uses of JUMP_LABEL_AS_INSN back
	to JUMP_LABEL.
	(follow_jumps): Convert return type and param "label" from
	rtx_insn * back to rtx.  Move initialization of "value" to after
	the handling for ANY_RETURN_P, adding a checked cast there to
	rtx_insn *.  Convert local rtx_insn * "this_label" to an rtx and
	rename to "this_label_or_return", reintroducing "this_label" as
	an rtx_insn * once we've handled the case where it could be an
	ANY_RETURN_P.
	(fill_slots_from_thread): Rename param "thread" to
	"thread_or_return", converting from an rtx_insn * back to an rtx.
	Reintroduce name "thread" as an rtx_insn * local with a checked
	cast once we've handled the case of it being an ANY_RETURN_P.
	Convert local "new_thread" from an rtx_insn * back to an rtx.
	Add a checked cast when assigning to "trial" from "new_thread".
	Convert use of JUMP_LABEL_AS_INSN back to JUMP_LABEL.  Add a
	checked cast to rtx_insn * from "new_thread" when invoking
	get_label_before.
	(fill_eager_delay_slots): Convert locals "target_label",
	"insn_at_target" from rtx_insn * back to rtx.
	Convert uses of JUMP_LABEL_AS_INSN back to JUMP_LABEL.
	(relax_delay_slots): Convert locals "trial", "target_label" from
	rtx_insn * back to rtx.  Convert uses of JUMP_LABEL_AS_INSN back
	to JUMP_LABEL.  Add a checked cast to rtx_insn * on "trial" when
	invoking update_block.
	(dbr_schedule): Convert use of JUMP_LABEL_AS_INSN back to
	JUMP_LABEL; this removes all JUMP_LABEL_AS_INSN from reorg.c.

	* resource.h (mark_target_live_regs): Undo erroneous conversion
	of second param of r214693, converting it back from rtx_insn * to
	rtx, since it could be a RETURN.

	* resource.c (find_dead_or_set_registers): Similarly, convert
	param "jump_target" back from an rtx_insn ** to an rtx *, as we
	could be writing back a RETURN.  Rename local rtx_insn * "next" to
	"next_insn", and introduce "lab_or_return" as a local rtx,
	handling the case where JUMP_LABEL (this_jump_insn) is a RETURN.
	(mark_target_live_regs): Undo erroneous conversion
	of second param of r214693, converting it back from rtx_insn * to
	rtx, since it could be a RETURN.  Rename it from "target" to
	"target_maybe_return", reintroducing the name "target" as a local
	rtx_insn * with a checked cast, after we've handled the case of
	ANY_RETURN_P.

From-SVN: r214752
2014-08-30 14:34:02 +00:00
GCC Administrator
124aeea179 Daily bump.
From-SVN: r214751
2014-08-30 00:16:50 +00:00
DJ Delorie
50b6ee8b71 cppbuiltin.c (define_builtin_macros_for_type_sizes): Round pointer size up to a power of two.
* cppbuiltin.c (define_builtin_macros_for_type_sizes): Round
pointer size up to a power of two.
* defaults.h (DWARF2_ADDR_SIZE): Round up.
(POINTER_SIZE_UNITS): New, rounded up value.
* dwarf2asm.c (size_of_encoded_value): Use it.
(dw2_output_indirect_constant_1): Likewise.
* expmed.c (init_expmed_one_conv): We now know the sizes of
partial int modes.
* loop-iv.c (iv_number_of_iterations): Use precision, not size.
* optabs.c (expand_float): Use precision, not size.
(expand_fix): Likewise.
* simplify-rtx (simplify_unary_operation_1): Likewise.
* tree-dfa.c (get_ref_base_and_extent): Likewise.
* varasm.c (assemble_addr_to_section): Round up pointer sizes.
(default_assemble_integer) Likewise.
(dump_tm_clone_pairs): Likewise.
* dwarf2out.c (mem_loc_descriptor): Allow partial-int modes also.
* var-tracking.c (adjust_mems): Allow partial-int modes also.
(prepare_call_arguments): Likewise.
* stor-layout.c (finalize_type_size): Preserve precision.
(layout_type): Use precision, not size.

From-SVN: r214748
2014-08-29 19:35:12 -04:00
DJ Delorie
aea3d681ec expr.c (convert_move): If the target has an explicit converter, use it.
* expr.c (convert_move): If the target has an explicit converter,
use it.

From-SVN: r214747
2014-08-29 19:19:42 -04:00
DJ Delorie
4c90724737 target-supports.exp (check_effective_target_size32plus): Increase size to avoid false positives on 24-bit address spaces.
* lib/target-supports.exp (check_effective_target_size32plus):
Increase size to avoid false positives on 24-bit address spaces.
* gcc.c-torture/compile/limits-stringlit.c: Skip if msp430.
* gcc.dg/lto/pr54709_1.c: Fix memcpy prototype.
* gcc.dg/torture/pta-ptrarith-3.c: Use __SIZE_TYPE__ instead of "int".
* gcc.dg/torture/pr36373-10.c: Use __SIZE_TYPE__ if present.
* gcc.dg/torture/pr57864.c: Use __SIZE_TYPE__.
* gcc.dg/torture/pr26763-2.c: Use __SIZE_TYPE__ instead of "int".
* gcc.dg/tree-ssa/isolate-3.c: Use __SIZE_TYPE__ instead of "long unsigned int".
* gcc.dg/pr52549.c: Use __SIZE_TYPE__ if present.

From-SVN: r214746
2014-08-29 19:16:29 -04:00
Janne Blomqvist
fdf96aa323 Use ISO C remove() instead of POSIX unlink()
2014-08-30  Janne Blomqvist  <jb@gcc.gnu.org>

	* module.c (gfc_dump_module): Use ISO C remove() instead of POSIX
	unlink().

From-SVN: r214744
2014-08-30 00:17:34 +03:00
Jeffrey Armstrong
70103202db PR 62215 Reinstate unlinking old module file before renaming.
2014-08-29  Jeffrey Armstrong  <jeffrey.armstrong@approximatrix.com>

	PR fortran/62215
	* module.c (gfc_dump_module): Unlink old module file before
	renaming new one.

From-SVN: r214742
2014-08-29 23:46:15 +03:00
David Malcolm
08216dfb85 gdbinit.in: Skip various inline functions in rtl.h when stepping
gcc/
2014-08-29  David Malcolm  <dmalcolm@redhat.com>

	* gdbinit.in: Skip various inline functions in rtl.h when
	stepping.

From-SVN: r214741
2014-08-29 20:20:17 +00:00
Andrew Burgess
606f9e78c6 cp-demangle.c (d_dump): Only access field from s_fixed part of the union for DEMANGLE_COMPONENT_FIXED_TYPE.
* cp-demangle.c (d_dump): Only access field from s_fixed part of
	the union for DEMANGLE_COMPONENT_FIXED_TYPE.
	(d_count_templates_scopes): Likewise.

From-SVN: r214740
2014-08-29 15:30:10 -04:00
Jonathan Wakely
fa794dc63e complex (complex): Define copy constructor and assignment operator as defaulted.
* include/std/complex (complex): Define copy constructor and
	assignment operator as defaulted. Improve Doxygen comments.

From-SVN: r214736
2014-08-29 17:28:19 +01:00
Manuel López-Ibáñez
81b5d104e9 directives.c (check_eol_1): New.
libcpp/ChangeLog:

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

	* directives.c (check_eol_1): New.
	(check_eol_endif_labels): New.
	(check_eol): Call check_eol_1.
	(do_else,do_endif): Call check_eol_endif_labels.

gcc/c-family/ChangeLog:

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

	* c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
	Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
	Wundef): Use CPP, Var and Init.
	* c-opts.c (c_common_handle_option): Do not handle the above flags here.

From-SVN: r214735
2014-08-29 16:06:19 +00:00
Paolo Carlini
f71f9d3fb6 re PR c++/54002 ([C++0x] Initializing constexpr static member using constexpr static method fails)
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54002
	* g++.dg/cpp0x/constexpr-54002.C: New.

From-SVN: r214734
2014-08-29 15:58:26 +00:00
Richard Sandiford
21cfc3a51d re PR bootstrap/62301 (PowerPC bootstrap broken since r214654)
gcc/
	PR bootstrap/62301
	* rtlanal.c (rtx_referenced_p): Fix typo in LABEL_P call.

From-SVN: r214733
2014-08-29 15:51:13 +00:00
Manuel López-Ibáñez
b753b37bd6 macro.c (warn_of_redefinition): Suppress warnings for builtins that lack the NODE_WARN flag...
libcpp/ChangeLog:

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

	* macro.c (warn_of_redefinition): Suppress warnings for builtins
	that lack the NODE_WARN flag, unless Wbuiltin-macro-redefined.
	(_cpp_create_definition): Use Wbuiltin-macro-redefined for
	builtins that lack the NODE_WARN flag.
	* directives.c (do_undef): Likewise.
	* init.c (cpp_init_special_builtins): Do not change flags
	depending on Wbuiltin-macro-redefined.


gcc/c-family/ChangeLog:

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

	* c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
	* c-opts.c (c_common_handle_option): Do not handle here.

From-SVN: r214730
2014-08-29 15:28:45 +00:00
Paolo Carlini
ef0981b8ae re PR c++/56991 (constexpr std::initializer_list rejects too complex initialization)
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56991
	* g++.dg/cpp0x/constexpr-56991.C: New.

From-SVN: r214729
2014-08-29 13:12:02 +00:00
Paolo Carlini
6a06deb4d6 re PR c++/57764 (class static constexpr variables cannot be references)
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57764
	* g++.dg/cpp0x/constexpr-57764.C: New.

From-SVN: r214728
2014-08-29 12:47:19 +00:00
Richard Biener
dee29e84ed re PR tree-optimization/62291 (PRE uses too much memory and compile-time)
2014-08-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/62291
	* tree-ssa-pre.c (sorted_array_from_bitmap_set): Reserve
	exactly the vector size needed and use quick_push.
	(phi_translate_1): Adjust comment.
	(valid_in_sets): Remove block argument and remove pointless
	checking of NAMEs.
	(dependent_clean): Adjust for removal of block argument.
	(clean): Likewise.
	(compute_antic_aux): Likewise.
	(compute_partial_antic_aux): Likewise.

From-SVN: r214727
2014-08-29 12:39:50 +00:00
Alexander Ivchenko
8cb0a27f93 AVX-512. Add SI/DI masked interleave.
gcc/
	* config/i386/sse.md
	(define_insn "avx2_interleave_highv4di<mask_name>"): Add masking.
	(define_insn "vec_interleave_highv2di<mask_name>"): Ditto.
	(define_insn "avx2_interleave_lowv4di<mask_name>"): Ditto.
	(define_insn "vec_interleave_lowv2di<mask_name>"): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r214726
2014-08-29 12:32:39 +00:00
Alexander Ivchenko
4a90ee35f9 AVX-512. Add narrowing vpmov.
gcc/
	* config/i386/i386-modes.def: Add V12QI, V14QI, V6HI modes.
	* config/i386/sse.md
	(define_mode_iterator VI4_128_8_256): New.
	(define_mode_iterator VI2_128_4_256): Ditto.
	(define_mode_iterator PMOV_DST_MODE): Rename into
	(define_mode_iterator PMOV_DST_MODE_1): this.
	(define_insn "*avx512f_<code><pmov_src_lower><mode>2"):
	Use PMOV_DST_MODE_1 mode iterator.
	(define_insn "avx512f_<code><pmov_src_lower><mode>2_mask"):
	Ditto.
	(define_insn "avx512f_<code><pmov_src_lower><mode>2_mask"):
	Ditto.
	(define_insn "*avx512bw_<code>v32hiv32qi2"): New.
	(define_insn "avx512bw_<code>v32hiv32qi2_mask"): Ditto.
	(define_expand "avx512bw_<code>v32hiv32qi2_store_mask"): Ditto.
	(define_mode_iterator PMOV_DST_MODE_2): New.
	(define_insn "*avx512vl_<code><ssedoublemodelower><mode>2"): Ditto.
	(define_insn "<avx512>_<code><ssedoublemodelower><mode>2_mask"): Ditto.
	(define_expand "<avx512>_<code><ssedoublemodelower><mode>2_store_mask"):
	Ditto.
	(define_mode_iterator PMOV_SRC_MODE_3): Ditto.
	(define_mode_attr pmov_dst_3): Ditto.
	(define_mode_attr pmov_dst_zeroed_3): Ditto.
	(define_mode_attr pmov_suff_3): Ditto.
	(define_insn "*avx512vl_<code><mode>v<ssescalarnum>qi2"): Ditto.
	(define_insn "*avx512vl_<code>v2div2qi2_store"): Ditto.
	(define_insn "avx512vl_<code>v2div2qi2_mask"): Ditto.
	(define_insn "avx512vl_<code>v2div2qi2_store_mask"): Ditto.
	(define_insn "*avx512vl_<code><mode>v4qi2_store"): Ditto.
	(define_insn "avx512vl_<code><mode>v4qi2_mask"): Ditto.
	(define_insn "avx512vl_<code><mode>v4qi2_store_mask"): Ditto.
	(define_insn "*avx512vl_<code><mode>v8qi2_store"): Ditto.
	(define_insn "avx512vl_<code><mode>v8qi2_mask"): Ditto.
	(define_insn "avx512vl_<code><mode>v8qi2_store_mask"): Ditto.
	(define_mode_iterator PMOV_SRC_MODE_4): Ditto.
	(define_mode_attr pmov_dst_4): Ditto.
	(define_mode_attr pmov_dst_zeroed_4): Ditto.
	(define_mode_attr pmov_suff_4): Ditto.
	(define_insn "*avx512vl_<code><mode>v<ssescalarnum>hi2"): Ditto.
	(define_insn "*avx512vl_<code><mode>v4hi2_store"): Ditto.
	(define_insn "avx512vl_<code><mode>v4hi2_mask"): Ditto.
	(define_insn "avx512vl_<code><mode>v4hi2_store_mask"): Ditto.
	(define_insn "*avx512vl_<code>v2div2hi2_store"): Ditto.
	(define_insn "avx512vl_<code>v2div2hi2_mask"): Ditto.
	(define_insn "avx512vl_<code>v2div2hi2_store_mask"): Ditto.
	(define_insn "*avx512vl_<code>v2div2si2"): Ditto.
	(define_insn "*avx512vl_<code>v2div2si2_store"): Ditto.
	(define_insn "avx512vl_<code>v2div2si2_mask"): Ditto.
	(define_insn "avx512vl_<code>v2div2si2_store_mask"): Ditto.



Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r214725
2014-08-29 12:31:18 +00:00
Paolo Carlini
ee5ff8845f re PR c++/59938 ([C++11] Bogus "... is not a constant expression")
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59938
	* g++.dg/cpp0x/constexpr-59938.C: New.

From-SVN: r214724
2014-08-29 12:24:17 +00:00
Paolo Carlini
a4506f7bd8 re PR c++/61484 ([C++11] can't initialize constexpr multi-dimentional array of a literal type)
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61484
	* g++.dg/cpp0x/constexpr-61484.C: New.

From-SVN: r214718
2014-08-29 08:41:16 +00:00
Richard Biener
197b240a0f tree-cfg.c (verify_gimple_assign_unary): Do not allow NON_LVALUE_EXPR in gimple.
2014-08-29  Richard Biener  <rguenther@suse.de>

	* tree-cfg.c (verify_gimple_assign_unary): Do not allow
	NON_LVALUE_EXPR in gimple.

From-SVN: r214717
2014-08-29 08:13:21 +00:00
Richard Biener
1579e1f8ad re PR middle-end/62292 (FAIL: (geterrorname|getmethodname) run)
2014-08-29  Richard Biener  <rguenther@suse.de>

	PR middle-end/62292
	* gimple-fold.c (gimple_fold_builtin_strcpy): Fix error
	from previous refactoring.
	(gimple_fold_builtin_strncpy): Likewise.

From-SVN: r214716
2014-08-29 08:11:57 +00:00
David Malcolm
a11899b21b re PR bootstrap/62300 (internal compiler error: in as_a, at is-a.h:192)
PR bootstrap/62300
	* function.c (assign_parm_setup_reg): Remove erroneous checked
	cast to rtx_insn * on result of gen_extend_insn in favor of
	introducing a new local rtx "pat".

From-SVN: r214714
2014-08-29 03:12:01 +00:00
Ian Lance Taylor
6c23308e70 compiler: Fix comparison of struct/array with interface.
The compiler used to crash when the struct/array was not
addressable.

The test case is https://codereview.appspot.com/135170043 .

This fixes http://golang.org/issue/8612 .

From-SVN: r214713
2014-08-29 03:06:15 +00:00
Jan-Benedict Glaw
bbbf5d5ab4 This patch silences two warnings in the mep-elf target, fixing the config-list.mk build
First one:
~~~~~~~~~~
g++ -c  -DIN_GCC_FRONTEND -DIN_GCC_FRONTEND -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include  -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -DCLOOG_INT_GMP  -DCLOOG_INT_GMP   -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include  -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -DCLOOG_INT_GMP  -DCLOOG_INT_GMP  ../../../gcc/gcc/config/mep/mep-pragma.c
../../../gcc/gcc/config/mep/mep-pragma.c: In function ‘void mep_pragma_coprocessor(cpp_reader*)’:
../../../gcc/gcc/config/mep/mep-pragma.c:271:18: error: ‘rclass’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
   enum reg_class rclass;
                  ^
cc1plus: all warnings being treated as errors
make[2]: *** [mep-pragma.o] Error 1

This is actually a misbehavior of current GCC, the code itself looks 100% okay
to me.  Shall I report that as a bug, too?

Second one:
~~~~~~~~~~~
g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include  -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace    -o mep.o -MT mep.o -MMD -MP -MF ./.deps/mep.TPo ../../../gcc/gcc/config/mep/mep.c
../../../gcc/gcc/config/mep/mep.c:3448:0: error: "VECTOR_TYPE_P" redefined [-Werror]
 #define VECTOR_TYPE_P(t) (TREE_CODE(t) == VECTOR_TYPE)
 ^
In file included from ../../../gcc/gcc/config/mep/mep.c:26:0:
../../../gcc/gcc/tree.h:474:0: note: this is the location of the previous definition
 #define VECTOR_TYPE_P(TYPE) (TREE_CODE (TYPE) == VECTOR_TYPE)
 ^
cc1plus: all warnings being treated as errors
make[2]: *** [mep.o] Error 1

2014-08-28  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/mep/mep-pragma.c (mep_pragma_coprocessor_subclass): Rework
	to silence warning.
	* config/mep/mep.c (VECTOR_TYPE_P): Remove duplicate definition.

From-SVN: r214710
2014-08-29 01:44:42 +00:00
David Malcolm
e79c0ea8ef END OF PATCHES: Delete rtx-classes-status.txt
/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

	* rtx-classes-status.txt: Delete.

From-SVN: r214709
2014-08-29 00:20:28 +00:00
David Malcolm
4ce524a1c1 Make next_insn and previous_insn require an rtx_insn *
gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (previous_insn): Strengthen param from rtx to rtx_insn *.
	(next_insn): Likewise.
	* emit-rtl.c (next_insn): Likewise.
	(previous_insn): Likewise.
	* config/pa/pa.c (remove_useless_addtr_insns): Strenghten locals
	"insn" and "next" from rtx to rtx_insn *.
	* config/picochip/picochip.c (picochip_reorg): Likewise for locals
	"insn", "insn1", "vliw_start",  "prologue_end_note",
	"last_insn_in_packet".

From-SVN: r214708
2014-08-29 00:17:58 +00:00
GCC Administrator
4f09818188 Daily bump.
From-SVN: r214707
2014-08-29 00:16:27 +00:00
David Malcolm
ffd80b4348 Strengthen params to active_insn_between
gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

	* shrink-wrap.h (active_insn_between): Strengthen both params from
	rtx to rtx_insn *.
	* function.c (active_insn_between): Likewise.

From-SVN: r214704
2014-08-29 00:14:43 +00:00
David Malcolm
cbba639cdd dfa_clear_single_insn_cache takes an rtx_insn
gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

	* genattr.c (main): When writing out insn-attr.h, strengthen param
	of dfa_clear_single_insn_cache from rtx to rtx_insn *.
	* genautomata.c (output_dfa_clean_insn_cache_func): Likewise when
	writing out the definition of dfa_clear_single_insn_cache to the
	generated insn-automata.c

From-SVN: r214703
2014-08-29 00:12:44 +00:00
David Malcolm
a79b674bd5 Use rtx_insn in various places in resource.[ch]
gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

	* resource.h (clear_hashed_info_for_insn): Strengthen param from
	rtx to rtx_insn *.
	(incr_ticks_for_insn): Likewise.
	(init_resource_info): Likewise.

	* resource.c (init_resource_info): Likewise.
	(clear_hashed_info_for_insn): Likewise.
	(incr_ticks_for_insn): Likewise.

	* reorg.c (delete_scheduled_jump): Strengthen param "insn" from
	rtx to rtx_insn *.
	(steal_delay_list_from_target): Use methods of "seq".
	(try_merge_delay_insns): Use methods of "merged_insns".
	(update_block): Strengthen param "insn" from rtx to rtx_insn *.
	(reorg_redirect_jump): Likewise for param "jump".

From-SVN: r214702
2014-08-29 00:09:39 +00:00
David Malcolm
17f385d8da Make insn_addresses_new require an rtx_insn
gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

	* insn-addr.h (insn_addresses_new): Strengthen param "insn" from
	rtx to rtx_insn *.
	* config/s390/s390.c (s390_split_branches): Eliminate top-level
	local rtx "tmp", in favor of new local rtx "mem" and rtx_insn *
	"set_insn".
	(s390_mainpool_finish): In three places, split out a local rtx
	"insn" into a local rtx - "set" or "pat" - and a rtx_insn *
	"insn".  Strengthen local "pool_end" from rtx to rtx_code_label *
	 and split another local rtx "insn" out into rtx "pat" and
	rtx_insn * "insn".
	* config/sh/sh.c (output_branchy_insn): Rather than working
	directly on operands[9], introduce local rtx_code_label *
	variables named "lab" in two places, working on them, and then
	assigning them to operands[9], so that the intervening operations
	are known by the type system to be on insns.

From-SVN: r214701
2014-08-29 00:07:51 +00:00
David Malcolm
3064b94272 Make INSN_HAS_LOCATION require an rtx_insn
gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (INSN_HAS_LOCATION): Strengthen param from const_rtx to
	const rtx_insn *.

	* print-rtl.c (print_rtx): Add checked cast to const rtx_insn *
	in invocation of INSN_HAS_LOCATION.

From-SVN: r214700
2014-08-29 00:02:25 +00:00
Bill Schmidt
2ccdda1997 altivec.h (vec_xl): New #define.
[gcc]

2014-08-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.h (vec_xl): New #define.
	(vec_xst): Likewise.
	* config/rs6000/rs6000-builtin.def (XXSPLTD_V2DF): New built-in.
	(XXSPLTD_V2DI): Likewise.
	(DIV_V2DI): Likewise.
	(UDIV_V2DI): Likewise.
	(MUL_V2DI): Likewise.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
	entries for VSX_BUILTIN_XVRDPI, VSX_BUILTIN_DIV_V2DI,
	VSX_BUILTIN_UDIV_V2DI, VSX_BUILTIN_MUL_V2DI,
	VSX_BUILTIN_XXSPLTD_V2DF, and VSX_BUILTIN_XXSPLTD_V2DI).
	* config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTD): New unspec.
	(UNSPEC_VSX_DIVSD): Likewise.
	(UNSPEC_VSX_DIVUD): Likewise.
	(UNSPEC_VSX_MULSD): Likewise.
	(vsx_mul_v2di): New insn-and-split.
	(vsx_div_v2di): Likewise.
	(vsx_udiv_v2di): Likewise.
	(vsx_xxspltd_<mode>): New insn.

[gcc/testsuite]

2014-08-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/builtins-1.c: Add tests for vec_xl, vec_xst,
	vec_round, vec_splat, vec_div, and vec_mul.
	* gcc.target/powerpc/builtins-2.c: New test.

From-SVN: r214699
2014-08-28 21:50:51 +00:00
David Malcolm
b32d518945 NEXT_INSN and PREV_INSN take a const rtx_insn
gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (RTX_PREV): Added checked casts to uses of PREV_INSN and
	NEXT_INSN.
	(PREV_INSN): Strengthen param from const_rtx to const rtx_insn *.
	(NEXT_INSN): Likewise.
	(JUMP_LABEL_AS_INSN): Add a "const" modifier to param.
	(reg_used_between_p): Strengthen params 2 and 3 from const_rtx to
	const rtx_insn *.
	(no_labels_between_p): Likewise for both params.

	* config/aarch64/aarch64.c (aarch64_output_casesi): Add a checked
	cast when using NEXT_INSN on operands[2].
	* config/alpha/alpha.c (alpha_set_memflags): Strengthen local
	"insn" from rtx to rtx_insn *, adding a checked cast.
	(alpha_handle_trap_shadows): Strengthen locals "i", "n" from rtx to
	rtx_insn *.
	* config/arc/arc-protos.h (arc_ccfsm_record_condition): Likewise
	for third param.
	(arc_text_label): Likewise for param "insn".
	* config/arc/arc.c (arc_expand_epilogue): Likewise for local
	"insn".
	(arc_ccfsm_record_condition): Likewise for param "jump".
	(arc_text_label): Likewise for local "label".
	* config/arc/arc.md (doloop_begin_i): Likewise for local "scan".
	Introduce a local "seq" via a dyn_cast to rtx_sequence *, and use
	a method for typesafety.  Add a checked cast.
	* config/arc/constraints.md (Clb): Add a checked cast when getting
	the CODE_LABEL from a LABEL_REF.
	* config/arm/arm.c (require_pic_register): Strengthen locals
	"seq", "insn" from rtx to rtx_insn *.
	(create_fix_barrier): Likewise for locals "selected", "next".
	(thumb1_reorg): Likewise for locals "prev", "insn".
	(arm_expand_prologue): Likewise for local "last".
	(thumb1_output_casesi): Add a checked cast when using NEXT_INSN on
	operands[0].
	(thumb2_output_casesi): Likewise for operands[2].
	* config/avr/avr-log.c (avr_log_vadump): Within 'L' case,
	strengthen local "insn" from rtx to rtx_insn *.
	* config/bfin/bfin.c (find_next_insn_start): Likewise for return
	type and param "insn".
	(find_prev_insn_start): Likewise.
	(hwloop_optimize): Likewise for locals "insn", "last_insn",
	"prev".
	(gen_one_bundle): Likewise for loal "t".
	(find_load): Likewise for param "insn".
	(workaround_speculation): Likewise for locals "insn", "next",
	"target", "next_tgt".
	* config/c6x/c6x.c (assign_reservations): Likewise for both params
	and for locals "insn", "within", "last".
	(count_unit_reqs): Likewise for params "head", "tail" and local
	"insn".
	(try_rename_operands): Likewise for params "head", "tail".
	(reshuffle_units): Likewise for locals "head", "tail", "insn".
	(struct c6x_sched_context): Likewise for fields
	"last_scheduled_insn", "last_scheduled_iter0".
	(init_sched_state): Replace NULL_RTX with NULL.
	(reorg_split_calls): Strengthen local "new_cycle_first" from rtx
	to rtx_insn *.
	(undo_split_delayed_nonbranch): Likewise for param and for local
	"prev".
	(conditionalize_after_sched): Likewise for local "insn".
	(bb_earliest_end_cycle): Likewise.
	(filter_insns_above): Likewise for locals "insn", "next".
	(hwloop_optimize): Remove redundant checked cast.
	(hwloop_fail): Strengthen local "t" from rtx to rtx_insn *.
	* config/cris/cris.c (cris_initial_frame_pointer_offset): Replace
	NULL_RTX with NULL.
	(cris_simple_epilogue): Likewise.
	(cris_expand_prologue): Likewise.
	(cris_expand_epilogue): Likewise.
	* config/frv/frv.c (frv_function_contains_far_jump): Strengthen
	local "insn" from rtx to rtx_insn *.
	(frv_ifcvt_modify_tests): Likewise for locals "last_insn", "insn".
	(struct frv_packet_group): Likewise for the elements within array
	fields "insns", "sorted", and for field "nop".
	(frv_packet): Likewise for the elements within array field
	"insns".
	(frv_add_insn_to_packet): Likewise for param "insn".
	(frv_insert_nop_in_packet): Likewise for param "insn" and local
	"last".
	(frv_for_each_packet): Likewise for locals "insn", "next_insn".
	(frv_sort_insn_group_1): Likewise for local "insn".
	(frv_optimize_membar_local): Likewise.
	(frv_align_label): Likewise for locals "x", "last", "barrier",
	"label".
	* config/ia64/ia64.c (last_scheduled_insn): Likewise for this
	local.
	(ia64_sched_init): Likewise for local "insn".
	(scheduled_good_insn): Likewise for param "last".
	(struct _ia64_sched_context): Likewise for field
	"last_scheduled_insn".
	(ia64_init_sched_context): Replace NULL_RTX with NULL.
	(struct bundle_state): Likewise for field "insn".
	(issue_nops_and_insn): Likewise for param "insn".
	(get_next_important_insn): Likewise for return type and both
	params.
	(ia64_add_bundle_selector_before): Likewise for param "insn".
	(bundling): Likewise for params "prev_head_insn", "tail" and
	locals "insn", "next_insn", "b".  Eliminate top-level local rtx
	"nop" in favor of new locals rtx "nop_pat" and rtx_insn *nop;
	* config/iq2000/iq2000-protos.h (iq2000_fill_delay_slot):
	Strengthen final param from rtx to rtx_insn *.
	(iq2000_move_1word): Likewise for second param.
	* config/iq2000/iq2000.c (iq2000_fill_delay_slot): Likewise for
	param "cur_insn" and local "next_insn".
	(iq2000_move_1word): Likewise for param "insn".
	* config/iq2000/iq2000.md (insn before ADDR_DIFF_VEC): Add checked
	casts when using NEXT_INSN on operands[1].
	* config/m32c/m32c.c (m32c_function_needs_enter): Strengthen local
	"insn" from rtx to rtx_insn *.
	* config/m68k/m68k.c (m68k_jump_table_ref_p): Split out uses of
	"x", introducing local rtx_insn * "insn" for when working with the
	CODE_LABEL of the LABEL_REF.
	(m68k_sched_md_init_global): Strengthen local "insn" from rtx to
	rtx_insn *.
	* config/mcore/mcore-protos.h (mcore_is_dead): Likewise for first
	param.
	* config/mcore/mcore.c (emit_new_cond_insn): Likewise for return
	type.
	(conditionalize_block): Likewise for return type and param.
	(mcore_is_dead): Likewise for param "first" and local "insn".
	(emit_new_cond_insn): Likewise for return type.
	(conditionalize_block): Likewise for return type, param, and
	locals "insn", "blk_1_br", "end_blk_2_insn", "start_blk_3_lab",
	"newinsn".
	(conditionalize_optimization): Likewise for local "insn".
	* config/mep/mep.c (mep_jmp_return_reorg): Add checked cast when
	using NEXT_INSN.
	* config/microblaze/microblaze.md: Add checked casts when using
	NEXT_INSN.
	* config/mips/mips.c (mips_expand_prologue): Eliminate top-level
	rtx "insn" in favor of various more tightly-scoped rtx "insn" and
	and rtx_insn * "insn".
	* config/mips/mips.md (casesi_internal_mips16_<mode>): Add a
	checked cast when using NEXT_INSN on operands[2].
	* config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Strengthen
	local "insn" from rtx to rtx_insn *.
	* config/nds32/nds32-fp-as-gp.c (nds32_fp_as_gp_check_available):
	Likewise.
	* config/nds32/nds32-md-auxiliary.c (nds32_output_casesi_pc_relative):
	Add a checked cast when using NEXT_INSN on operands[1].
	* config/pa/pa-protos.h (pa_following_call): Strengthen param from
	rtx to rtx_insn *.
	(pa_output_cbranch): Likewise for final param.
	(pa_output_lbranch): Likewise for second param.
	(pa_output_bb): Likewise for third param.
	(pa_output_bvb): Likewise.
	(pa_output_dbra): Likewise for second param.
	(pa_output_movb): Likewise.
	(pa_output_parallel_movb): Likewise.
	(pa_output_parallel_addb): Likewise.
	(pa_output_millicode_call): Likewise for first param.
	(pa_output_mul_insn): Likewise for second param.
	(pa_output_div_insn): Likewise for third param.
	(pa_output_mod_insn): Likewise for second param.
	(pa_jump_in_call_delay): Likewise for param.
	* config/pa/pa.c (pa_output_mul_insn): Likewise for param "insn".
	(pa_output_div_insn): Likewise.
	(pa_output_mod_insn): Likewise.
	(pa_output_cbranch): Likewise.
	(pa_output_lbranch): Likewise.
	(pa_output_bb): Likewise.
	(pa_output_bvb): Likewise.
	(pa_output_dbra): Likewise.
	(pa_output_movb): Likewise.
	(pa_output_millicode_call): Likewise; use method of rtx_sequence *
	to simplify and for typesafety.
	(pa_output_call): Use method of rtx_sequence *.
	(forward_branch_p): Strengthen param "insn" from rtx to rtx_insn *.
	(pa_jump_in_call_delay): Likewise.
	(pa_output_parallel_movb): Likewise.
	(pa_output_parallel_addb): Likewise.
	(pa_following_call): Likewise.
	(pa_combine_instructions): Likewise for locals "anchor",
	"floater".
	(pa_can_combine_p): Likewise for params "anchor", "floater" and
	locals "start", "end".
	* config/picochip/picochip.c (picochip_reset_vliw): Likewise for
	param "insn" and local "local_insn".
	(picochip_final_prescan_insn): Likewise for local "local_insn".
	* config/rs6000/rs6000.c (compute_save_world_info): Likewise for
	local "insn".
	(uses_TOC): Likewise.
	* config/s390/s390.c (get_some_local_dynamic_name): Likewise.
	(s390_mainpool_finish): Eliminate top-level local rtx "insn",
	splitting out to more tightly-scoped locals, 3 as rtx and one as
	rtx_insn *.
	(s390_optimize_nonescaping_tx): Strengthen local "tmp" from rtx
	to rtx_insn *.
	(s390_emit_prologue): Introduce a local "insn" to be an rtx_insn *
	where needed.
	* config/sh/sh-protos.h (barrier_align): Strenghten param from rtx
	to rtx_insn *.
	(fixup_addr_diff_vecs): Likewise.
	(reg_unused_after): Likewise for param 2.
	(sh_can_redirect_branch): Likewise for both params.
	(check_use_sfunc_addr): Likewise for param 1.
	* config/sh/sh.c (fixup_mova): Likewise for local "worker".
	(find_barrier): Likewise for local "last_got".
	(gen_block_redirect): Likewise for return type, param "jump" and
	locals "prev", "scan", "next", "insn".
	(struct far_branch): Likewise for fields "near_label",
	"insert_place", "far_label".
	(gen_far_branch): Likewise for local "jump".
	(fixup_addr_diff_vecs): Likewise for param "first" and locals
	"insn", "prev".
	(barrier_align): Likewise for param and for locals "prev", "x".
	Introduce local rtx_sequence * "prev_seq" and use insn method for
	typesafety and clarity.
	(sh_reorg): Strengthen local "scan" from rtx to rtx_insn *.
	(get_dest_uid): Likewise for local "dest".
	(split_branches): Likewise for locals "next", "beyond", "label",
	"block", "far_label".  Add checked casts when assigning to
	bp->far_label and "far_label".
	(reg_unused_after): Strengthen param "scan" from rtx to rtx_insn *.
	(sequence_insn_p): Likewise.
	(mark_constant_pool_use): Likewise for locals "insn", "lab".  Add a
	more loop-scoped rtx "insn" when walking LABEL_REFS.
	(sh_can_redirect_branch): Strengthen both params from rtx to
	rtx_insn *.
	(check_use_sfunc_addr): Likewise for param "insn".  Introduce a
	new local rtx_sequence * "seq" via a dyn_cast, and use a method
	for clarity and typesafety.
	* config/sh/sh.md (define_expand "epilogue"): Strengthen local
	"insn" from rtx to rtx_insn *.
	(define_insn "casesi_worker_1"): Add a checked cast to rtx_insn *
	when using NEXT_INSN on the CODE_LABEL in operands[2].
	(define_insn "casesi_worker_2"): Likewise.
	(define_insn "casesi_shift_media"): Likewise.
	(define_insn "casesi_load_media"): Likewise for the CODE_LABEL in
	operands[3].
	* config/sh/sh_optimize_sett_clrt.cc (struct ccreg_value):
	Strengthen field "insn" from rtx to rtx_insn *.
	(sh_optimize_sett_clrt::execute): Likewise for locals "next_i", "i".
	(sh_optimize_sett_clrt::find_last_ccreg_values): Likewise for
	param "start_insn" and local "start_insn".
	* config/sh/sh_treg_combine.cc (struct set_of_reg): Likewise for
	field "insn".
	(find_set_of_reg_bb): Likewise for param "insn".
	(trace_reg_uses_1): Likewise for param "start_insn" and local "i".
	(trace_reg_uses): Likewise for param "start_insn".
	(sh_treg_combine::cbranch_trace): Likewise for field
	"cbranch_insn".
	(sh_treg_combine::cbranch_trace::cbranch_trace): Likewise for
	param "insn".
	(sh_treg_combine::record_set_of_reg): Likewise for param
	"start_insn" and local "i".
	(sh_treg_combine::can_remove_cstore): Likewise for local
	"prev_insn".
	(sh_treg_combine::try_optimize_cbranch): Likewise for param
	"insn".
	(sh_treg_combine::execute): Likewise for local "i".
	* config/sparc/sparc-protos.h (empty_delay_slot): Likewise for
	param.
	(sparc_check_64): Likewise for second param.
	* config/sparc/sparc.c (sparc_do_work_around_errata): Likewise for
	locals "insn", "next".  Introduce local rtx_sequence * "seq" via a
	dyn_cast, using its insn method for typesafety and clarity.
	(empty_delay_slot): Strengthen param "insn" from rtx to
	rtx_insn *.
	(set_extends): Likewise.
	(sparc_check_64): Likewise.
	* config/stormy16/stormy16.c (xstormy16_split_cbranch): Likewise
	for locals "seq", "last_insn".
	(combine_bnp): Likewise for param "insn".
	(xstormy16_reorg): Likewise for local "insn".
	* config/v850/v850.c (substitute_ep_register): Likewise for params
	"first_insn", "last_insn" and local "insn".
	(v850_reorg): Likewise for fields "first_insn", "last_insn" within
	elements of "regs" array, and local "insn".
	* except.c (emit_note_eh_region_end): Likewise for param "insn".
	* final.c (final_sequence): Strengthen this global from rtx to
	rtx_sequence *.
	(shorten_branches): Strenthen locals "rel_lab", "prev" from rtx to
	rtx_insn *.
	(final_scan_insn): Update assignment to "final_sequence" to be
	from "seq", the cast version of "body", for type-safety.
	* function.c (assign_parm_setup_reg): Strengthen locals "insn",
	"insns" from rtx to rtx_insn *.
	(thread_prologue_and_epilogue_insns): Likewise for local "seq".
	* genattr.c (main): When writing out generated insn-attr.h,
	strengthen params 1 and 3 of eligible_for_delay,
	eligible_for_annul_true, eligible_for_annul_false from rtx to
	rtx_insn *.
	* genattrtab.c (write_eligible_delay): Likewise when writing out
	generated insn-attrtab.c; also local "insn" the generated
	functions.
	* hw-doloop.c (discover_loops): Strengthen local "insn" from rtx
	to rtx_insn *.
	* hw-doloop.h (struct GTY hwloop_info_d): Strengthen field
	"start_label" from rtx to rtx_insn *.
	* ira.c (decrease_live_ranges_number): Likewise for local "p".
	(ira_update_equiv_info_by_shuffle_insn): Likewise for param
	"insns" and local "insn".
	(validate_equiv_mem): Likewise for param "start" and local "insn".
	(memref_used_between_p): Likewise for params "start", "end" and
	local "insn".
	* ira.h (ira_update_equiv_info_by_shuffle_insn): Likewise for
	final param.
	* loop-doloop.c (doloop_optimize): Within region guarded by
	INSN_P (doloop_pat), introduce a new local rtx_insn *
	"doloop_insn" via a checked cast, and use it for typesafety,
	eventually writing the value back into doloop_pat.
	* output.h (final_sequence): Strengthen this global from rtx to
	rtx_sequence *.
	* recog.c (peep2_attempt): Rename param "insn" to "uncast_insn",
	reintroducing "insn" as an rtx_insn * via a checked cast.
	Strengthen param "attempt" and local "new_insn"from rtx to
	rtx_insn *.
	(peephole2_optimize): Strengthen locals "insn", "attempt" from rtx
	to rtx_insn *.
	* ree.c (emit_note_eh_region_end): Likewise for local "insn".
	* reload1.c (reload_as_needed): Eliminate top-level locals "x" and
	"p" in favor of more tightly-scoped replacements, sometimes rtx
	and sometimes rtx_insn *, as appropriate.
	(delete_output_reload): Eliminate top-level rtx "i1", splitting
	into two loop-scoped locals, one an rtx, the other an rtx_insn *.
	* reorg.c (delete_scheduled_jump): Add checked cast.  Strengthen
	local "trial" from rtx to rtx_insn *.
	(redirect_with_delay_slots_safe_p): Strengthen param "jump" from
	rtx to rtx_insn *.  Strenghten local "pat" from rtx to
	rtx_sequence * and use methods for clarity and typesafety.
	(redirect_with_delay_list_safe_p): Strengthen param "jump" from
	rtx to rtx_insn *.  Strenghten local "li" from rtx to
	rtx_insn_list * and use its methods for clarity and typesafety.
	(steal_delay_list_from_target): Strengthen param "insn" from rtx
	to rtx_insn *.
	(steal_delay_list_from_fallthrough): Likewise.
	(try_merge_delay_insns): Likewise for param "thread" and locals
	"trial", "next_trial", "delay_insn".
	(redundant_insn): Likewise for param "target" and local "trial".
	(own_thread_p): Likewise for param "thread" and locals
	"active_insn", "insn".
	(get_label_before): Likewise for param "insn".
	(fill_simple_delay_slots): Likewise for local "new_label"; use
	JUMP_LABEL_AS_INSN as necessary when calling own_thread_p.
	(label_before_next_insn): Strengthen return type and local "insn"
	from rtx to rtx_insn *.
	(relax_delay_slots): Likewise for locals "other", "tmp".
	(make_return_insns): Likewise for param "first" and locals "insn",
	"jump_insn", "prev".  Move declaration of "pat" to its assignment
	and strengthen from rtx to rtx_sequence *.  Use its methods for
	clarity and typesafety.
	* rtlanal.c (no_labels_between_p): Strengthen params from
	const_rtx to const rtx_insn *.  Strengthen local "p" from rtx to
	rtx_insn *.
	(reg_used_between_p): Strengthen params "from_insn", "to_insn"
	from const_rtx to const rtx_insn *.
	(reg_set_between_p): Rename param "from_insn" to
	"uncast_from_insn", and reintroduce "from_insn" as a
	const rtx_insn * via a checked cast.
	(modified_between_p): Likewise for param "start" as "uncast_start".
	(tablejump_p): Add a cast when invoking NEXT_INSN on "label".
	* sel-sched-ir.c (get_seqno_by_preds): Strengthen param and locals
	"tmp", head" from rtx to rtx_insn *.
	(recompute_rev_top_order): Likewise for local "insn".
	* sel-sched-ir.h (get_seqno_by_preds): Likewise for param.
	* store-motion.c (build_store_vectors): Likewise for local "insn".
	Strengthen local "st" from rtx to rtx_insn_list * and use methods
	for clarity and typesafety.
	* tree-ssa-loop-ivopts.c (seq_cost): Strengthen param "seq" from
	rtx to rtx_insn *.
	(computation_cost): Likewise for local "seq".
	(get_address_cost): Likewise.

/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

	* rtx-classes-status.txt (TODO): NEXT_INSN/PREV_INSN are done.

From-SVN: r214698
2014-08-28 21:29:38 +00:00
David Malcolm
c5241a21a3 tablejump_p takes an rtx_insn
gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (tablejump_p): Strengthen first param from const_rtx to
	const rtx_insn *.
	(label_is_jump_target_p): Likewise for second param.

	* rtlanal.c (tablejump_p): Likewise for param "insn".
	(label_is_jump_target_p): Likewise for param "jump_insn".

From-SVN: r214696
2014-08-28 20:51:33 +00:00
David Malcolm
9321cf00db find_first_parameter_load params and return type
gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (find_first_parameter_load): Strengthen return type and
	both params from rtx to rtx_insn *.
	* rtlanal.c (find_first_parameter_load): Strengthen return type,
	both params and locals "before", "first_set" from rtx to
	rtx_insn *.  Remove now-redundant cast.
	* except.c (sjlj_mark_call_sites): Use NULL rather than NULL_RTX.

From-SVN: r214695
2014-08-28 20:49:58 +00:00