1. 30 Aug, 2014 4 commits
    • pa.c (pa_assemble_integer): Don't add PLABEL relocation prefix to function labels when... · ef719901
      	* config/pa/pa.c (pa_assemble_integer): Don't add PLABEL relocation
      	prefix to function labels when generating fast indirect calls.
      
      From-SVN: r214754
      John David Anglin committed
    • baseline_symbols.txt: Update. · 79c70232
      	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
      
      From-SVN: r214753
      John David Anglin committed
    • re PR bootstrap/62304 (ICE in follow_jumps, find_dead_or_set_registers) · c3f14d55
      	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
      David Malcolm committed
    • Daily bump. · 124aeea1
      From-SVN: r214751
      GCC Administrator committed
  2. 29 Aug, 2014 32 commits
    • cppbuiltin.c (define_builtin_macros_for_type_sizes): Round pointer size up to a power of two. · 50b6ee8b
      * 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
      DJ Delorie committed
    • expr.c (convert_move): If the target has an explicit converter, use it. · aea3d681
      * expr.c (convert_move): If the target has an explicit converter,
      use it.
      
      From-SVN: r214747
      DJ Delorie committed
    • target-supports.exp (check_effective_target_size32plus): Increase size to avoid… · 4c907247
      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
      DJ Delorie committed
    • Use ISO C remove() instead of POSIX unlink() · fdf96aa3
      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
      Janne Blomqvist committed
    • PR 62215 Reinstate unlinking old module file before renaming. · 70103202
      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
      Jeffrey Armstrong committed
    • gdbinit.in: Skip various inline functions in rtl.h when stepping · 08216dfb
      gcc/
      2014-08-29  David Malcolm  <dmalcolm@redhat.com>
      
      	* gdbinit.in: Skip various inline functions in rtl.h when
      	stepping.
      
      From-SVN: r214741
      David Malcolm committed
    • cp-demangle.c (d_dump): Only access field from s_fixed part of the union for… · 606f9e78
      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
      Andrew Burgess committed
    • complex (complex): Define copy constructor and assignment operator as defaulted. · fa794dc6
      	* include/std/complex (complex): Define copy constructor and
      	assignment operator as defaulted. Improve Doxygen comments.
      
      From-SVN: r214736
      Jonathan Wakely committed
    • directives.c (check_eol_1): New. · 81b5d104
      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
      Manuel López-Ibáñez committed
    • re PR c++/54002 ([C++0x] Initializing constexpr static member using constexpr static method fails) · f71f9d3f
      2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/54002
      	* g++.dg/cpp0x/constexpr-54002.C: New.
      
      From-SVN: r214734
      Paolo Carlini committed
    • re PR bootstrap/62301 (PowerPC bootstrap broken since r214654) · 21cfc3a5
      gcc/
      	PR bootstrap/62301
      	* rtlanal.c (rtx_referenced_p): Fix typo in LABEL_P call.
      
      From-SVN: r214733
      Richard Sandiford committed
    • macro.c (warn_of_redefinition): Suppress warnings for builtins that lack the NODE_WARN flag... · b753b37b
      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
      Manuel López-Ibáñez committed
    • re PR c++/56991 (constexpr std::initializer_list rejects too complex initialization) · ef0981b8
      2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/56991
      	* g++.dg/cpp0x/constexpr-56991.C: New.
      
      From-SVN: r214729
      Paolo Carlini committed
    • re PR c++/57764 (class static constexpr variables cannot be references) · 6a06deb4
      2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57764
      	* g++.dg/cpp0x/constexpr-57764.C: New.
      
      From-SVN: r214728
      Paolo Carlini committed
    • re PR tree-optimization/62291 (PRE uses too much memory and compile-time) · dee29e84
      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
      Richard Biener committed
    • AVX-512. Add SI/DI masked interleave. · 8cb0a27f
      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
      Alexander Ivchenko committed
    • AVX-512. Add narrowing vpmov. · 4a90ee35
      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
      Alexander Ivchenko committed
    • re PR c++/59938 ([C++11] Bogus "... is not a constant expression") · ee5ff884
      2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/59938
      	* g++.dg/cpp0x/constexpr-59938.C: New.
      
      From-SVN: r214724
      Paolo Carlini committed
    • re PR c++/61484 ([C++11] can't initialize constexpr multi-dimentional array of a literal type) · a4506f7b
      2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/61484
      	* g++.dg/cpp0x/constexpr-61484.C: New.
      
      From-SVN: r214718
      Paolo Carlini committed
    • tree-cfg.c (verify_gimple_assign_unary): Do not allow NON_LVALUE_EXPR in gimple. · 197b240a
      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
      Richard Biener committed
    • re PR middle-end/62292 (FAIL: (geterrorname|getmethodname) run) · 1579e1f8
      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
      Richard Biener committed
    • re PR bootstrap/62300 (internal compiler error: in as_a, at is-a.h:192) · a11899b2
      	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
      David Malcolm committed
    • compiler: Fix comparison of struct/array with interface. · 6c23308e
      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
      Ian Lance Taylor committed
    • This patch silences two warnings in the mep-elf target, fixing the config-list.mk build · bbbf5d5a
      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
      Jan-Benedict Glaw committed
    • END OF PATCHES: Delete rtx-classes-status.txt · e79c0ea8
      /
      2014-08-28  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtx-classes-status.txt: Delete.
      
      From-SVN: r214709
      David Malcolm committed
    • Make next_insn and previous_insn require an rtx_insn * · 4ce524a1
      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
      David Malcolm committed
    • Daily bump. · 4f098181
      From-SVN: r214707
      GCC Administrator committed
    • Strengthen params to active_insn_between · ffd80b43
      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
      David Malcolm committed
    • dfa_clear_single_insn_cache takes an rtx_insn · cbba639c
      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
      David Malcolm committed
    • Use rtx_insn in various places in resource.[ch] · a79b674b
      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
      David Malcolm committed
    • Make insn_addresses_new require an rtx_insn · 17f385d8
      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
      David Malcolm committed
    • Make INSN_HAS_LOCATION require an rtx_insn · 3064b942
      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
      David Malcolm committed
  3. 28 Aug, 2014 4 commits
    • altivec.h (vec_xl): New #define. · 2ccdda19
      [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
      Bill Schmidt committed
    • NEXT_INSN and PREV_INSN take a const rtx_insn · b32d5189
      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
      David Malcolm committed
    • tablejump_p takes an rtx_insn · c5241a21
      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
      David Malcolm committed
    • find_first_parameter_load params and return type · 9321cf00
      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
      David Malcolm committed