Commit Graph

137929 Commits

Author SHA1 Message Date
Trevor Saunders
88bdcd3d65 cse_change_cc0_mode can take a rtx_insn *
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.

From-SVN: r222948
2015-05-09 04:16:49 +00:00
Trevor Saunders
3a6216b099 make emit_debug_insn_before take a rtx_insn *
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.c (emit_debug_insn_before): Change argument type to
	rtx_insn *.
	* rtl.h: Adjust.

From-SVN: r222947
2015-05-09 04:16:43 +00:00
Trevor Saunders
89b6250dd6 emit_note_before can take a rtx_insn *
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
	* rtl.h: Adjust.

From-SVN: r222946
2015-05-09 04:16:38 +00:00
Trevor Saunders
589e43f905 emit_note_after can take a rtx_insn *
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
	* rtl.h: Adjust.

From-SVN: r222945
2015-05-09 04:16:33 +00:00
Trevor Saunders
5c8db5b4bf prev_cc0_setter can take a rtx_insn *
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
	* rtl.h: Adjust.

From-SVN: r222944
2015-05-09 04:16:27 +00:00
Trevor Saunders
8a1b6388da make noop_move_p take a rtx_insn *
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
	* rtl.h: Adjust.

From-SVN: r222943
2015-05-09 04:16:19 +00:00
Trevor Saunders
9b8d3c60b6 make add_shallow_copy_of_reg_note take an rtx_insn *
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
	to rtx_insn *.
	* rtl.h: Adjust.

From-SVN: r222942
2015-05-09 04:16:13 +00:00
Trevor Saunders
4353459548 make remove_reg_equal_equiv_notes take an rtx_insn *
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
	to rtx_insn *.
	* rtl.h: Likewise.

From-SVN: r222941
2015-05-09 04:16:08 +00:00
Trevor Saunders
d8c1e9b62d can_nonlocal_goto can take a rtx_insn *
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* except.c (can_nonlocal_goto): Change type of argument to
	rtx_insn *.
	* rtl.h: Adjust.

From-SVN: r222940
2015-05-09 04:16:03 +00:00
Trevor Saunders
63bd63246e computed_jump_p takes a rtx_insn *
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
	* rtl.h: Adjust.

From-SVN: r222939
2015-05-09 04:15:57 +00:00
Trevor Saunders
0d53e74ecf change in_expr_list_p to in_insn_list_p
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
	* cfgrtl.c (can_delete_label_p): Adjust.
	* rtl.h: likewise.

From-SVN: r222938
2015-05-09 04:15:52 +00:00
Trevor Saunders
ecb44bc9a2 make stop_search_p take a rtx_insn *
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* reorg.c (stop_search_p): Change argument to rtx_insn *.

From-SVN: r222937
2015-05-09 04:15:46 +00:00
Trevor Saunders
84f16edb6a make make_reg_eh_region_note and friend take rtx_insn *
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* except.c (make_reg_eh_region_note): Change argument to
	rtx_insn *.
	(make_reg_eh_region_note_nothrow_nononlocal): Likewise.
	* except.h: Adjust.

From-SVN: r222936
2015-05-09 04:15:41 +00:00
Trevor Saunders
f4701c96bc use rtx_insn * as the type of a local variable in mode-switching.c
gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* mode-switching.c (commit_mode_sets): Change type of local
	variable from rtx to rtx_insn *.

From-SVN: r222935
2015-05-09 04:15:35 +00:00
Jason Merrill
613aba20e5 decl2.c (mangling_aliases): New variable.
* decl2.c (mangling_aliases): New variable.
	(note_mangling_alias, generate_mangling_aliases): New.
	(cp_write_global_declarations): Call generate_mangling_aliases.
	(generate_mangling_alias): Split out from...
	* mangle.c (mangle_decl): ...here.
	* cp-tree.h: Declare note_mangling_alias.

From-SVN: r222934
2015-05-09 03:28:52 +00:00
Aldy Hernandez
09c5f835e7 decl2.c (collect_candidates_for_java_method_aliases): Remove.
* decl2.c (collect_candidates_for_java_method_aliases): Remove.
	(build_java_method_aliases): Adapt to use create_same_body_alias
	instead of assemble_alias.  Move variable declarations to
	definition and tidy up.
	(cp_write_global_declarations): Call build_java_method_aliases
	instead of collecting candidates first.

From-SVN: r222933
2015-05-09 03:28:40 +00:00
GCC Administrator
9c330d029c Daily bump.
From-SVN: r222931
2015-05-09 00:16:19 +00:00
Jim Wilson
6fedd529b9 install.texi (--enable-languages): Add missing jit and lto info.
* doc/install.texi (--enable-languages): Add missing jit and lto info.
Add ^ to grep command.
* doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
arg to last gimple_simplify declaration.  Add missing gimple_build
declaration for built-in function case with four tree args.

From-SVN: r222923
2015-05-08 12:56:13 -07:00
Joel Brobecker
f5e7f5900b libiberty/mkstemps.c: Include <time.h> if <sys/time.h> not available.
libiberty/ChangeLog:

        * mkstemps.c: #include <time.h> if HAVE_TIME_H is defined
        but not HAVE_SYS_TIME_H.

(fixes a build failure on LynxOS-178)

From-SVN: r222918
2015-05-08 17:14:26 +00:00
Gregor Richards
6bc5949358 [PATCH 6/13] mips musl support
2015-05-08  Gregor Richards  <gregor.richards@uwaterloo.ca>
	    Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
	(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
	(GNU_USER_DYNAMIC_LINKERN32): Update.

Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>

From-SVN: r222915
2015-05-08 15:16:50 +00:00
Richard Biener
7b5fc413c1 re PR tree-optimization/66036 (strided group loads are not vectorized)
2015-05-08  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/66036
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
	Handle strided group loads.
	(vect_verify_datarefs_alignment): Likewise.
	(vect_enhance_data_refs_alignment): Likewise.
	(vect_analyze_group_access): Likewise.
	(vect_analyze_data_ref_access): Likewise.
	(vect_analyze_data_ref_accesses): Likewise.
	* tree-vect-stmts.c (vect_model_load_cost): Likewise.
	(vectorizable_load): Likewise.

	* gcc.dg/vect/slp-41.c: New testcase.

From-SVN: r222914
2015-05-08 15:13:55 +00:00
Mikael Morin
4a8108f0ab trans-array.c (gfc_walk_elemental_function_args): Don't skip the advance to the next dummy argument when...
gcc/fortran/
	* trans-array.c (gfc_walk_elemental_function_args):
	Don't skip the advance to the next dummy argument when skipping
	absent optional args.
gcc/testsuite/
	* gfortran.dg/elemental_optional_args_7.f90: New.

From-SVN: r222913
2015-05-08 14:53:20 +00:00
Segher Boessenkool
2a812183d6 rs6000.md: Require operand inequality in one of the peepholes.
* config/rs6000/rs6000.md: Require operand inequality in one
	of the peepholes.

From-SVN: r222912
2015-05-08 16:34:11 +02:00
Richard Sandiford
7d54bea5b9 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
gcc/
2015-05-08  Richard Sandiford  <richard.sandiford@arm.com>
	    Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
	from (set ...).
	* config/rx/rx.md (movdi, movdf): Likewise.
	Likewise for define_peephole2s.

Co-Authored-By: Franz Sirl <Franz.Sirl-kernel@lauterbach.com>

From-SVN: r222911
2015-05-08 14:04:12 +00:00
Alan Lawrence
a8105959bd [AArch64] Idiomatic 64x1 comparisons in arm_neon.h
gcc/:
 
	* config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
	vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
	vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
	vtst_u64): Rewrite using gcc vector extensions.

gcc/testsuite/:

	* gcc.target/aarch64/singleton_intrinsics_1.c: Generalize regex to
	allow cmlt or sshr.

From-SVN: r222909
2015-05-08 12:00:10 +00:00
Alan Lawrence
8b5190aba0 [AArch64] Add vcond(u?)didi pattern
* config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
	vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.

From-SVN: r222908
2015-05-08 11:49:02 +00:00
Alan Lawrence
938fb83d2c optabs.c: Make vector_compare_rtx cope with VOID mode constants (e.g. const0_rtx)
* optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.

From-SVN: r222907
2015-05-08 11:40:33 +00:00
Szabolcs Nagy
07ad804bfd [PATCH 0/13] Add musl support to GCC
2015-05-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/glibc-stdint.h (OPTION_MUSL): Define.
	(INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
	Change the definition based on OPTION_MUSL for 64 bit targets.
	* config/linux.h (OPTION_MUSL): Redefine.
	* config/alpha/linux.h (OPTION_MUSL): Redefine.
	* config/rs6000/linux.h (OPTION_MUSL): Redefine.
	* config/rs6000/linux64.h (OPTION_MUSL): Redefine.

From-SVN: r222905
2015-05-08 08:30:40 +00:00
Gregor Richards
755658a56b [PATCH 2/13] musl libc config
2015-05-08  Gregor Richards  <gregor.richards@uwaterloo.ca>
	    Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config.gcc (LIBC_MUSL): New tm_defines macro.
	* config/linux.h (OPTION_MUSL): Define.
	(MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
	(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
	(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
	(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
	(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
	* config/linux.opt (mmusl): New option.
	* doc/invoke.texi (GNU/Linux Options): Document -mmusl.
	* configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
	(gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
	* configure: Regenerate.

Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>

From-SVN: r222904
2015-05-08 08:25:47 +00:00
H.J. Lu
2a0e43c247 PR target/48904 x86_64-knetbsd-gnu missing defs
2015-05-08  H.J. Lu  <hongjiu.lu@intel.com>
            Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

        PR target/48904
        * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
        * config/i386/knetbsd-gnu64.h: New file.


Co-Authored-By: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>

From-SVN: r222903
2015-05-08 09:33:42 +02:00
Jason Merrill
90f11cf950 re PR c++/59012 (alignas does not support parameter pack expansions)
PR c++/59012
	* parser.c (cp_parser_std_attribute_list): Handle attribute expansion.
	(cp_parser_std_attribute_spec): Handle alignas pack expansion.
	* decl2.c (is_late_template_attribute): An attribute exp is dependent.
	* pt.c (make_pack_expansion): Allow TREE_LIST for attribute expansion.
	(apply_late_template_attributes): Handle attribute pack expansion.

From-SVN: r222902
2015-05-08 00:42:06 -04:00
GCC Administrator
d87333bcc8 Daily bump.
From-SVN: r222901
2015-05-08 00:16:15 +00:00
Marek Polacek
755e528f96 re PR c/64918 (invalid (?) warning when initializing structure)
PR c/64918
	* c.opt (Woverride-init-side-effects): New option.

	* c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
	(output_init_element): Likewise.

	* doc/invoke.texi: Document -Woverride-init-side-effects.

	* gcc.dg/Woverride-init-side-effects-1.c: New test.
	* gcc.dg/Woverride-init-side-effects-2.c: New test.

From-SVN: r222894
2015-05-07 22:14:27 +00:00
Marek Polacek
0173bd2a03 re PR c/65179 (Introduce new C warning: -Wshift-negative-value)
PR c/65179
	* c-common.c (c_fully_fold_internal): Warn when left shifting a
	negative value.
	* c.opt (Wshift-negative-value): New option.
	* c-opts.c (c_common_post_options): Set warn_shift_negative_value
	when -Wextra and C99/C++11 mode.

	* c-typeck.c (build_binary_op): Warn when left shifting a negative
	value.

	* typeck.c (cp_build_binary_op): Warn when left shifting a negative
	value.

	* doc/invoke.texi: Document -Wshift-negative-value.

	* c-c++-common/Wshift-negative-value-1.c: New test.
	* testsuite/c-c++-common/Wshift-negative-value-2.c: New test.
	* testsuite/c-c++-common/Wshift-negative-value-3.c: New test.
	* testsuite/c-c++-common/Wshift-negative-value-4.c: New test.
	* testsuite/c-c++-common/Wshift-negative-value-5.c: New test.
	* testsuite/c-c++-common/Wshift-negative-value-6.c: New test.
	* testsuite/gcc.dg/c90-left-shift-1.c: New test.
	* testsuite/gcc.dg/c99-const-expr-7.c: Add dg-error.
	* testsuite/gcc.dg/c99-left-shift-1.c: New test.

From-SVN: r222889
2015-05-07 19:36:31 +00:00
Aditya Kumar
d57c994589 gcov-tool.c (do_merge): Refactore to remove int ret.
* gcov-tool.c (do_merge): Refactore to remove int ret.
	* ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
	!type == FUNC to type != FUNC.
	* reload.h (struct target_reload): Changee to type of
	x_spill_indirect_levels from bool to unsigned char.

From-SVN: r222884
2015-05-07 19:57:11 +02:00
Richard Sandiford
f7df4a840c rtl.h (always_void_p): New function.
gcc/
	* rtl.h (always_void_p): New function.
	* gengenrtl.c (always_void_p): Likewise.
	(genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
	with code foo are always VOIDmode.
	* genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
	* builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
	compare-elim.c, config/aarch64/aarch64.c,
	config/aarch64/aarch64.md, config/alpha/alpha.c,
	config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
	config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
	config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
	config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
	config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
	config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
	config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
	config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
	config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
	config/ia64/vect.md, config/iq2000/iq2000.c,
	config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
	config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
	config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
	config/mep/mep.c, config/microblaze/microblaze.c,
	config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
	config/mn10300/mn10300.c, config/msp430/msp430.c,
	config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
	config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
	config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
	config/rs6000/altivec.md, config/rs6000/rs6000.c,
	config/rs6000/rs6000.md, config/rs6000/vector.md,
	config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
	config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
	config/sh/sh.md, config/sh/sh_treg_combine.cc,
	config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
	config/spu/spu.md, config/stormy16/stormy16.c,
	config/tilegx/tilegx.c, config/tilegx/tilegx.md,
	config/tilepro/tilepro.c, config/tilepro/tilepro.md,
	config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
	config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
	expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
	lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
	reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
	var-tracking.c: Update calls accordingly.

From-SVN: r222883
2015-05-07 16:58:46 +00:00
Jason Merrill
d5449acf6b DR 1467 PR c++/51747
DR 1467
	PR c++/51747
	* typeck2.c (digest_init_r): Fix single element list.

From-SVN: r222881
2015-05-07 12:46:49 -04:00
Segher Boessenkool
a3facd7c6c re PR middle-end/192 (String literals don't obey -fdata-sections)
PR middle-end/192
	PR middle-end/54303
	* varasm.c (function_mergeable_rodata_prefix): New function.
	(mergeable_string_section): Use it.
	(mergeable_constant_section): Use it.

gcc/testsuite/
	* gcc.dg/fdata-sections-2.c: New file.

From-SVN: r222880
2015-05-07 17:51:01 +02:00
Marek Polacek
302f83f948 re PR testsuite/66046 (UBSan output pattern tests fail on target ARM board.)
PR testsuite/66046
	* c-c++-common/ubsan/align-6.c: Don't match trailing newlines in the
	last dg-output.
	* c-c++-common/ubsan/align-7.c: Likewise.
	* c-c++-common/ubsan/bounds-8.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-9.c: Likewise.
	* c-c++-common/ubsan/load-bool-enum.c: Likewise.
	* c-c++-common/ubsan/null-1.c: Likewise.
	* c-c++-common/ubsan/null-10.c: Likewise.
	* c-c++-common/ubsan/null-11.c: Likewise.
	* c-c++-common/ubsan/null-2.c: Likewise.
	* c-c++-common/ubsan/null-3.c: Likewise.
	* c-c++-common/ubsan/null-4.c: Likewise.
	* c-c++-common/ubsan/null-5.c: Likewise.
	* c-c++-common/ubsan/null-6.c: Likewise.
	* c-c++-common/ubsan/null-7.c: Likewise.
	* c-c++-common/ubsan/null-8.c: Likewise.
	* c-c++-common/ubsan/null-9.c: Likewise.
	* c-c++-common/ubsan/object-size-1.c: Likewise.
	* c-c++-common/ubsan/object-size-10.c: Likewise.
	* c-c++-common/ubsan/object-size-4.c: Likewise.
	* c-c++-common/ubsan/object-size-5.c: Likewise.
	* c-c++-common/ubsan/object-size-7.c: Likewise.
	* c-c++-common/ubsan/object-size-8.c: Likewise.
	* c-c++-common/ubsan/object-size-9.c: Likewise.
	* c-c++-common/ubsan/overflow-add-2.c: Likewise.
	* c-c++-common/ubsan/overflow-int128.c: Likewise.
	* c-c++-common/ubsan/overflow-mul-2.c: Likewise.
	* c-c++-common/ubsan/overflow-mul-4.c: Likewise.
	* c-c++-common/ubsan/overflow-negate-1.c: Likewise.
	* c-c++-common/ubsan/overflow-negate-3.c: Likewise.
	* c-c++-common/ubsan/overflow-sub-2.c: Likewise.
	* c-c++-common/ubsan/overflow-sub-4.c: Likewise.
	* c-c++-common/ubsan/pr59333.c: Likewise.
	* c-c++-common/ubsan/pr59667.c: Likewise.
	* c-c++-common/ubsan/pr60613-2.c: Likewise.
	* c-c++-common/ubsan/pr60636.c: Likewise.
	* c-c++-common/ubsan/pr63802.c: Likewise.
	* c-c++-common/ubsan/recovery-1.c: Likewise.
	* c-c++-common/ubsan/recovery-3.c: Likewise.
	* c-c++-common/ubsan/shift-1.c: Likewise.
	* c-c++-common/ubsan/shift-2.c: Likewise.
	* c-c++-common/ubsan/shift-4.c: Likewise.
	* c-c++-common/ubsan/shift-7.c: Likewise.
	* c-c++-common/ubsan/undefined-2.c: Likewise.
	* c-c++-common/ubsan/vla-1.c: Likewise.
	* g++.dg/ubsan/null-1.C: Likewise.
	* g++.dg/ubsan/null-3.C: Likewise.
	* g++.dg/ubsan/null-4.C: Likewise.
	* g++.dg/ubsan/vptr-8.C: Likewise.
	* g++.dg/ubsan/vptr-9.C: Likewise.
	* gcc.dg/ubsan/bounds-2.c: Likewise.
	* gcc.dg/ubsan/object-size-9.c: Likewise.

From-SVN: r222878
2015-05-07 14:44:26 +00:00
Jeff Law
48451e8f3c match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New simplifier to narrow arithmetic.
* match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
	simplifier to narrow arithmetic.
	* generic-match-head.c: (types_match, single_use): New functions.
	* gimple-match-head.c: (types_match, single_use): New functions.

	* gcc.dg/tree-ssa/shorten-1.c: New test.

From-SVN: r222877
2015-05-07 07:18:07 -06:00
Venkataramanan Kumar
963ba1b266 combine.c (make_compound_operation): Remove checks for PLUS/MINUS rtx type.
2015-05-07  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
        rtx type.

From-SVN: r222874
2015-05-07 10:47:54 +00:00
Richard Biener
465770e439 re PR tree-optimization/66002 (paq8p benchmark 50% slower than clang on sandybridge)
2015-05-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66002
	* passes.def: Schedule another pass_merge_phi after ifcombine, right
	before phiopt.

	* gcc.dg/vect/vect-125.c: New testcase.

From-SVN: r222873
2015-05-07 09:52:38 +00:00
Marek Polacek
e0f0d3b9d2 c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting flexible member array-like members if...
* c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
	flexible member array-like members if SANITIZE_BOUNDS_STRICT.

	* doc/invoke.texi: Document -fsanitize=bounds-strict.
	* flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
	into SANITIZE_NONDEFAULT.
	* opts.c (common_handle_option): Handle -fsanitize=bounds-strict.

	* c-c++-common/ubsan/bounds-10.c: New test.

From-SVN: r222871
2015-05-07 08:08:57 +00:00
Uros Bizjak
ad2c39af63 re PR target/66015 (align directives not propagated after __attribute__ ((__optimize__ ("O2"))))
PR target/66015
	* config/alpha/alpha.c (alpha_override_options_after_change): New.
	(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
	(alpha_override_options): Move align_loops, align_jumps and
	align_functions handling into alpha_override_options_after_change.

From-SVN: r222870
2015-05-07 09:34:29 +02:00
GCC Administrator
06cb4b647a Daily bump.
From-SVN: r222869
2015-05-07 00:16:16 +00:00
Ian Lance Taylor
87bde062dd compiler: Analyze escape information of interface parameters.
When analyzing function calls with interface parameters, all arguments
related to an interface parameter were assumed to escape via the
function arguments.  Now, if an argument is related to a non-escaping
parameter with an interface type, the argument may be stack-allocated.

From-SVN: r222865
2015-05-06 22:59:54 +00:00
Thomas Koenig
f1abbf6901 re PR fortran/37131 (inline matmul for small matrix sizes)
2015-05-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/37131
	* gfortran.h (gfc_isym_id):  Add GFC_ISYM_FE_RUNTIME_ERROR.
	(gfc_intrinsic_sym):  Add vararg.
	* intrinsic.h (gfc_check_fe_runtime_error):  Add prototype.
	(gfc_resolve_re_runtime_error):  Likewise.
	Add prototype for gfc_is_reallocatable_lhs.
	* trans-array.h (gfc_is_reallocatable_lhs):  Remove prototype.
	* check.c (gfc_check_fe_runtime_error):  New function.
	* intrinsic.c (add_sym_1p):  New function.
	(make_vararg):  New function.
	(add_subroutines):  Add fe_runtime_error.
	(gfc_intrinsic_sub_interface): Skip sorting for variable number
	of arguments.
	* iresolve.c (gfc_resolve_fe_runtime_error):  New function.
	* lang.opt (inline-matmul-limit):  New option.
	(gfc_post_options): If no inline matmul limit has been set and
	BLAS is called externally, use the BLAS limit.
	* frontend-passes.c:  Include intrinsic.h.
	(var_num):  New global counter for naming temporary variablbles.
	(matrix_case):  Enum for differentiating the different matmul
	cases.
	(realloc_string_callback):  Add "trim" to the variable name.
	(create_var): Add optional argument vname as part of the name.
	Use var_num. Set dimension of result correctly. Split off block
	creation into
	(insert_block): New function.
	(cfe_expr_0): Use "fcn" as part of temporary variable name.
	(optimize_namesapce): Also set gfc_current_ns. Call
	inline_matmul_assign.
	(combine_array_constructor):  Use "constr" as part of
	temporary name.
	(get_array_inq_function):  New function.
	(build_logical_expr):  New function.
	(get_operand):  new function.
	(inline_limit_check):  New function.
	(runtime_error_ne):  New function.
	(matmul_lhs_realloc):  New function.
	(is_functino_or_op):  New function.
	(has_function_or_op):  New function.
	(freeze_expr):  New function.
	(freeze_references):  New function.
	(convert_to_index_kind):  New function.
	(create_do_loop):  New function.
	(get_size_m1):  New function.
	(scalarized_expr):  New function.
	(inline_matmul_assign):  New function.
	* simplify.c (simplify_bound):  Simplify the case of the
	lower bound of an assumed-shape argument.

2015-05-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/37131
	* gfortran.dg/dependency_26.f90: Add option to suppress inlining
	matmul.
	* gfortran.dg/function_optimize_1.f90:  Likewise.
	* gfortran.dg/function_optimize_2.f90:  Likewise.
	* gfortran.dg/function_optimize_5.f90:  Likewise.
	* gfortran.dg/function_optimize_7.f90:  Likewise.
	* gfortran.dg/inline_matmul_1.f90:  New test.
	* gfortran.dg/inline_matmul_2.f90:  New test.
	* gfortran.dg/inline_matmul_3.f90:  New test.
	* gfortran.dg/inline_matmul_4.f90:  New test.
	* gfortran.dg/inline_matmul_5.f90:  New test.
	* gfortran.dg/inline_matmul_6.f90:  New test.

From-SVN: r222864
2015-05-06 20:23:48 +00:00
David Malcolm
5631585aa6 jit: add test-benchmark.c
gcc/testsuite/ChangeLog:
	* jit.dg/harness.h (set_options): Wrap with
	#ifndef TEST_ESCHEWS_SET_OPTIONS.
	* jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer):
	Special-case test-benchmark.c as a negative.
	* jit.dg/test-benchmark.c: New file.

From-SVN: r222863
2015-05-06 20:13:50 +00:00
Julian Brown
d2463960a4 oacc-init.c (acc_device_lock): Add explanatory comment.
* oacc-init.c (acc_device_lock): Add explanatory comment.
	(resolve_device): Add comment about locking requirement.
	(acc_init_1, acc_shutdown_1): Likewise. Add locking around
	gomp_init_device and gomp_fini_device calls.
	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
	(acc_get_device_num, acc_set_device_num): Add locking around
	resolve_device and gomp_init_device calls.

From-SVN: r222862
2015-05-06 19:10:14 +00:00
Julian Brown
e38fdba42b oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for goacc_thread_lock on error paths.
* oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
	goacc_thread_lock on error paths.
	* oacc-mem.c (lookup_host): Remove locking from function. Note
	locking requirement for caller in function comment.
	(lookup_dev): Likewise.
	(acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
	(acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
	(update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
	Add locking.

From-SVN: r222860
2015-05-06 16:45:49 +00:00