platform/upstream/linaro-gcc.git
9 years ago * params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200.
uros [Sat, 22 Nov 2014 19:02:12 +0000 (19:02 +0000)]
* params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200.
* config/i386/i386.c (ix86_option_override_internal): Do not increase
PARAM_MAX_COMPLETELY_PEELED_INSNS.

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

9 years agogcc/
olegendo [Sat, 22 Nov 2014 15:50:10 +0000 (15:50 +0000)]
gcc/
PR target/63783
PR target/51244
* config/sh/sh_treg_combine.cc (sh_treg_combine::make_not_reg_insn):
Do not emit bitwise not insn.  Emit logical not insn sequence instead.
Adjust related comments throughout the file.

gcc/testsuite/
PR target/63783
PR target/51244
* gcc.target/sh/torture/pr63783-1.c: New.
* gcc.target/sh/torture/pr63783-2.c: New.
* gcc.target/sh/pr51244-20.c: Adjust.
* gcc.target/sh/pr51244-20-sh2a.c: Adjust.

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

9 years agogcc/
olegendo [Sat, 22 Nov 2014 15:06:34 +0000 (15:06 +0000)]
gcc/
PR target/63986
PR target/51244
* config/sh/sh.c (sh_is_logical_t_store_expr,
sh_try_omit_signzero_extend): Use rtx_insn* for insn argument.
(sh_split_movrt_negc_to_movt_xor): New function.
(sh_find_set_of_reg): Move to ...
* config/sh/sh-protos.h (sh_find_set_of_reg): ... here and convert
to template function.
(set_of_reg): Use rtx_insn* for insn member.
(sh_is_logical_t_store_expr, sh_try_omit_signzero_extend): Use
rtx_insn* for insn argument.
* config/sh/sh.md (movrt_negc, *movrt_negc): Split into movt-xor
sequence using new sh_split_movrt_negc_to_movt_xor function.
(movrt_xor): Allow also for SH2A.
(*movt_movrt): Delete insns and splits.

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

9 years ago2014-11-22 Marc Glisse <marc.glisse@inria.fr>
glisse [Sat, 22 Nov 2014 14:28:19 +0000 (14:28 +0000)]
2014-11-22  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/60770
* tree-sra.c (clobber_subtree): New function.
(sra_modify_constructor_assign): Call it.

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

9 years agogcc/fortran/
burnus [Sat, 22 Nov 2014 14:14:35 +0000 (14:14 +0000)]
gcc/fortran/
2014-11-22  Tobias Burnus  <burnus@net-b.de>

        * trans-expr.c (gfc_caf_get_image_index): Fix image calculation.

gcc/testsuite/
2014-11-22  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/cosubscript_1.f90: New.

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

9 years ago * gcc-interface/trans.c (Call_to_gnu): Strip unchecked conversions on
ebotcazou [Sat, 22 Nov 2014 12:23:47 +0000 (12:23 +0000)]
* gcc-interface/trans.c (Call_to_gnu): Strip unchecked conversions on
actuals of In parameters if the destination type is an unconstrained
composite type.

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

9 years ago * gcc-interface/trans.c (gnat_gimplify_expr): Add 'type' variable.
ebotcazou [Sat, 22 Nov 2014 12:15:53 +0000 (12:15 +0000)]
* gcc-interface/trans.c (gnat_gimplify_expr): Add 'type' variable.
<case NULL_EXPR>: Deal with unconstrained array types and use 'type'.
<case ADDR_EXPR>: Use 'type'.
<case DECL_EXPR>: Likewise.

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

9 years ago * gcc.dg/store-motion-fgcse-sm.c (dg-final): Cleanup
uros [Sat, 22 Nov 2014 08:26:06 +0000 (08:26 +0000)]
* gcc.dg/store-motion-fgcse-sm.c (dg-final): Cleanup
store_modtion rtl dump.
* gcc.dg/var-expand1.c (dg-final): Cleanup loop2_unroll rtl dump.
* gcc.dg/var-expand3.c (dg-final): Ditto.

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

9 years ago * gcc.target/i386/avx512vl-vpermb-2.c: Require avx512vbmi.
uros [Sat, 22 Nov 2014 08:19:33 +0000 (08:19 +0000)]
* gcc.target/i386/avx512vl-vpermb-2.c: Require avx512vbmi.
* gcc.target/i386/avx512vl-vpermi2b-2.c: Ditto.
* gcc.target/i386/avx512vl-vpermt2b-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaddhuq-2.c: Require avx512ifma.
* gcc.target/i386/avx512vl-vpmaddluq-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmultishiftqb-2.c: Ditto.

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

9 years ago PR c++/63657
jason [Sat, 22 Nov 2014 02:21:35 +0000 (02:21 +0000)]
PR c++/63657
PR c++/38958
* call.c (set_up_extended_ref_temp): Set TREE_USED on the reference
if the temporary has a non-trivial destructor.
* decl.c (poplevel): Don't look through references.

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

9 years ago * config/pa/linux-atomic.c (__kernel_cmpxchg2): New.
danglin [Sat, 22 Nov 2014 00:18:49 +0000 (00:18 +0000)]
* config/pa/linux-atomic.c (__kernel_cmpxchg2): New.
(FETCH_AND_OP_2): New.  Use for subword and double word operations.
(OP_AND_FETCH_2): Likewise.
(COMPARE_AND_SWAP_2): Likewise.
(SYNC_LOCK_TEST_AND_SET_2): Likewise.
(SYNC_LOCK_RELEASE_2): Likewise.
(SUBWORD_SYNC_OP): Remove.
(SUBWORD_VAL_CAS): Likewise.
(SUBWORD_BOOL_CAS): Likewise.
(FETCH_AND_OP_WORD): Update.
Consistently use signed types.

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

9 years agoDaily bump.
gccadmin [Sat, 22 Nov 2014 00:16:31 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago2014-11-21 Steve Ellcey <sellcey@imgtec.com>
sje [Fri, 21 Nov 2014 23:25:51 +0000 (23:25 +0000)]
2014-11-21  Steve Ellcey  <sellcey@imgtec.com>

* config/linux/mips/futex.h (SYS_futex): Define if not already done.

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

9 years ago PR c++/63942
jason [Fri, 21 Nov 2014 21:35:09 +0000 (21:35 +0000)]
PR c++/63942
* name-lookup.c (supplement_binding_1): Override a mangling alias.
* mangle.c (implicit_alias_p, remove_implicit_alias): New.
(mangle_decl): Avoid creating conflicting alias with
-fabi-compat-version=0, too.
* cp-tree.h: Adjust.

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

9 years ago PR c++/63849
jason [Fri, 21 Nov 2014 21:35:00 +0000 (21:35 +0000)]
PR c++/63849
* mangle.c (decl_mangling_context): Use template_type_parameter_p.

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

9 years ago PR c++/63588
jason [Fri, 21 Nov 2014 21:34:54 +0000 (21:34 +0000)]
PR c++/63588
* pt.c (uses_template_parms): Handle null argument.

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

9 years ago2014-11-21 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 21 Nov 2014 21:29:54 +0000 (21:29 +0000)]
2014-11-21  Vladimir Makarov  <vmakarov@redhat.com>

PR target/63897
* lra-lives.c (mark_regno_live, mark_regno_dead): Remove last
argument.
(process_bb_lives): Rename dead_insn_p on remove_p
and global_live_info_p on dead_insn_p.  Calculate local live info
unconditionally.  Remove last argument in calls mark_regno_live and
mark_regno_dead.  Reorganize body of EXECUTE_IF_SET_IN_BITMAP.
(lra_create_live_ranges): Rename to lra_create_live_ranges_1.
Return bool.  Rename global_live_info_p on dead_insn_p.  Return
flag of live info change.
(lra_create_live_ranges): New.

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

9 years ago PR target/63848
jakub [Fri, 21 Nov 2014 20:42:20 +0000 (20:42 +0000)]
PR target/63848
PR target/63975
* internal-fn.c (expand_arith_overflow_result_store,
expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow): Use
do_compare_rtx_and_jump instead of emit_cmp_and_jump_insns everywhere,
adjust arguments to those functions.  Use unsignedp = true for
EQ, NE, GEU, LEU, LTU and GTU comparisons.

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

9 years ago PR tree-optimization/64006
jakub [Fri, 21 Nov 2014 20:41:37 +0000 (20:41 +0000)]
PR tree-optimization/64006
* tree-vrp.c (stmt_interesting_for_vrp): Return true
for {ADD,SUB,MUL}_OVERFLOW internal calls.
(vrp_visit_assignment_or_call): For {ADD,SUB,MUL}_OVERFLOW
internal calls, check if any REALPART_EXPR/IMAGPART_EXPR
immediate uses would change their value ranges and return
SSA_PROP_INTERESTING if so, or SSA_PROP_NOT_INTERESTING
if there are some REALPART_EXPR/IMAGPART_EXPR immediate uses
interesting for vrp.

* gcc.c-torture/execute/pr64006.c: New test.

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

9 years ago * Makefile.in: Regenerate.
iverbin [Fri, 21 Nov 2014 19:37:10 +0000 (19:37 +0000)]
* Makefile.in: Regenerate.

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

9 years ago * go.test/go-test.exp (go-set-goarch): Add case for ppc64le goarch
ian [Fri, 21 Nov 2014 18:25:14 +0000 (18:25 +0000)]
* go.test/go-test.exp (go-set-goarch): Add case for ppc64le goarch
value for go testing.

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

9 years agoruntime: GOARCH values for ppc64 BE & LE
ian [Fri, 21 Nov 2014 18:22:05 +0000 (18:22 +0000)]
runtime: GOARCH values for ppc64 BE & LE

ppc64 for BE
ppc64le for LE
issue 8654

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

9 years ago2014-11-21 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Fri, 21 Nov 2014 18:03:09 +0000 (18:03 +0000)]
2014-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/63965
* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Do not set
Altivec & -16 mask if the type is not valid for Altivec registers.
(rs6000_secondary_reload_memory): Add support for ((reg + const) +
reg) that occurs during push_reload processing.

* config/rs6000/altivec.md (altivec_mov<mode>): Add instruction
alternative for moving constant vectors which are easy altivec
constants to GPRs.  Set the length attribute each of the
alternatives.

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

9 years agoRefine configure guard for MIPS .module availability
mpf [Fri, 21 Nov 2014 16:57:55 +0000 (16:57 +0000)]
Refine configure guard for MIPS .module availability

gcc/

* configure.ac: When checking for MIPS .module support ensure that
o32 FPXX is supported to avoid a second configure check.
* configure: Regenerate.

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

9 years ago[AArch64] Add vector pattern for __builtin_ctz
jiwang [Fri, 21 Nov 2014 16:56:21 +0000 (16:56 +0000)]
[AArch64] Add vector pattern for __builtin_ctz

  gcc/
    * config/aarch64/iterators.md (VS): New mode iterator.
    (vsi2qi): New mode attribute.
    (VSI2QI): Likewise.
    * config/aarch64/aarch64-simd-builtins.def: New entry for ctz.
    * config/aarch64/aarch64-simd.md (ctz<mode>2): New pattern for ctz.
    * config/aarch64/aarch64-builtins.c
    (aarch64_builtin_vectorized_function): Support BUILT_IN_CTZ.

  gcc/testsuite/
    * gcc.target/aarch64/vect_ctz_1.c: New testcase.

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

9 years agoAlways use PIC option with -shared in libtool
hjl [Fri, 21 Nov 2014 16:49:17 +0000 (16:49 +0000)]
Always use PIC option with -shared in libtool

Libtool needs to pass PIC option -shared when creating shared object to
link regular object files with slim-lto archive.

PR bootstrap/63784
* libtool.m4: Add $pic_flag with -shared.

boehm-gc/

PR bootstrap/63784
* configure: Regenerated.

gcc/

PR bootstrap/63784
* configure: Regenerated.

libatomic/

PR bootstrap/63784
* configure: Regenerated.

libbacktrace/

PR bootstrap/63784
* configure: Regenerated.

libcc1/

PR bootstrap/63784
* configure: Regenerated.

libcilkrts/

PR bootstrap/63784
* configure: Regenerated.

libffi/

PR bootstrap/63784
* configure: Regenerated.

libgfortran/

PR bootstrap/63784
* configure: Regenerated.

libgomp/

PR bootstrap/63784
* configure: Regenerated.

libitm/

PR bootstrap/63784
* configure: Regenerated.

libjava/

PR bootstrap/63784
* configure: Regenerated.

libjava/classpath/

PR bootstrap/63784
* configure: Regenerated.

libobjc/

PR bootstrap/63784
* configure: Regenerated.

libquadmath/

PR bootstrap/63784
* configure: Regenerated.

libsanitizer/

PR bootstrap/63784
* configure: Regenerated.

libssp/

PR bootstrap/63784
* configure: Regenerated.

libstdc++-v3/

PR bootstrap/63784
* configure: Regenerated.

libvtv/

PR bootstrap/63784
* configure: Regenerated.

lto-plugin/

PR bootstrap/63784
* configure: Regenerated.

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

9 years ago[AArch64] Implement vsqrt_f64 intrinsic
ktkachov [Fri, 21 Nov 2014 16:28:29 +0000 (16:28 +0000)]
[AArch64] Implement vsqrt_f64 intrinsic

* config/aarch64/arm_neon.h (vsqrt_f64): New intrinsic.

* gcc.target/aarch64/simd/vsqrt_f64_1.c

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

9 years agoAdd x86 pcommit instruction.
tocarip [Fri, 21 Nov 2014 16:04:20 +0000 (16:04 +0000)]
Add x86 pcommit instruction.

gcc/

* common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET,
OPTION_MASK_ISA_PCOMMIT_SET): New.
(ix86_handle_option): Handle OPT_mpcommit.
* config.gcc: Add pcommitintrin.h
* config/i386/pcommitintrin.h: New file.
* config/i386/cpuid.h (bit_PCOMMIT): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect pcommit.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__PCOMMIT__.
* config/i386/i386.c (ix86_target_string): Add -mpcommit.
(PTA_PCOMMIT): Define.
(ix86_option_override_internal): Handle new option.
(ix86_valid_target_attribute_inner_p): Add pcommit.
(ix86_builtins): Add IX86_BUILTIN_PCOMMIT.
(bdesc_special_args): Add __builtin_ia32_pcommit.
* config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Define.
* config/i386/i386.md (unspecv): Add UNSPECV_PCOMMIT.
(pcommit): New instruction.
* config/i386/i386.opt: Add mpcommit.
* config/i386/x86intrin.h: Include pcommitintrin.h.

gcc/testsuite/

* g++.dg/other/i386-2.C: Add -mpcommit.
* g++.dg/other/i386-3.C: Ditto.
* gcc.target/i386/pcommit-1.c: New test.
* gcc.target/i386/sse-12.c: Add new options.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.

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

9 years agoPR debug/38757 gcc does not emit DW_LANG_C99.
mark [Fri, 21 Nov 2014 16:00:06 +0000 (16:00 +0000)]
PR debug/38757 gcc does not emit DW_LANG_C99.

For C and C++ add the language standard version in use to lang_hooks.name.
Change users of lang_hook.name to check with new functions lang_GNU_C or
lang_GNU_CXX. In dwarf2out.c output the DW_LANG_C version from the
lang_hooks.name and merge any LTO TRANSLATION_UNIT_LANGUAGE found. Adds
two testcases to dwarf2.exp to check the right DWARF DW_AT_language is set
on the compile_unit depending on the -std=c89 or -std=c99 setting.

gcc/c-family/ChangeLog

PR debug/38757
* c-opts.c (set_std_c89): Set lang_hooks.name.
(set_std_c99): Likewise.
(set_std_c11): Likewise.
(set_std_cxx98): Likewise.
(set_std_cxx11): Likewise.
(set_std_cxx14): Likewise.
(set_std_cxx1z): Likewise.

gcc/ChangeLog

PR debug/38757
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use lang_GNU_C.
* config/darwin.c (darwin_file_end): Use lang_GNU_CXX.
(darwin_override_options): Likewise.
* config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
Likewise.
* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
Likewise.
* dbxout.c (get_lang_number): Likewise.
(dbxout_type): Likewise.
(dbxout_symbol_location): Likewise.
* dwarf2out.c (add_prototyped_attribute): Add DW_AT_prototype
also for DW_LANG_{C,C99,ObjC}.
(highest_c_language): New function.
(gen_compile_unit_die): Call highest_c_language to merge LTO
TRANSLATION_UNIT_LANGUAGE. Use strncmp language_string to
determine if DW_LANG_C99 or DW_LANG_C89 should be returned.
* fold-const.c (fold_cond_expr_with_comparison): Use lang_GNU_CXX.
* langhooks.h (struct lang_hooks): Add version comment to name.
(lang_GNU_C): New function declaration.
(lang_GNU_CXX): Likewise.
* langhooks.c (lang_GNU_C): New function.
(lang_GNU_CXX): Likewise.
* vmsdbgout.c (vmsdbgout_init): Use lang_GNU_C and lang_GNU_CXX.

gcc/testsuite/ChangeLog

PR debug/38757
* gcc.dg/debug/dwarf2/lang-c89.c: New test.
* gcc.dg/debug/dwarf2/lang-c99.c: Likewise.

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

9 years agoSupport clwb x86 instruction.
tocarip [Fri, 21 Nov 2014 15:52:49 +0000 (15:52 +0000)]
Support clwb x86 instruction.

gcc/
* common/config/i386/i386-common.c (OPTION_MASK_ISA_CLWB_UNSET,
OPTION_MASK_ISA_CLWB_SET): New.
(ix86_handle_option): Handle OPT_mclwb.
* config.gcc: Add clwbintrin.h.
* config/i386/clwbintrin.h: New file.
* config/i386/cpuid.h (bit_CLWB): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect clwb.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__CLWB__.
* config/i386/i386.c (ix86_target_string): Add -mclwb.
(PTA_CLWB): Define.
(ix86_option_override_internal): Handle new option.
(ix86_valid_target_attribute_inner_p): Add clwb.
(ix86_builtins): Add IX86_BUILTIN_CLWB.
(ix86_init_mmx_sse_builtins): Add __builtin_ia32_clwb.
(ix86_expand_builtin): Handle IX86_BUILTIN_CLWB.
* config/i386/i386.h (TARGET_CLWB, TARGET_CLWB_P): Define.
* config/i386/i386.md (unspecv): Add UNSPECV_CLWB.
(clwb): New instruction.
* config/i386/i386.opt: Add mclwb.
* config/i386/x86intrin.h: Include clwbintrin.h.

gcc/testsuite/

* g++.dg/other/i386-2.C: Add -mclwb.
* g++.dg/other/i386-3.C: Ditto.
* gcc.target/i386/clwb-1.c: New test.
* gcc.target/i386/sse-12.c: Add new options.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.

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

9 years agoAdd avx512vbmi instructions.
tocarip [Fri, 21 Nov 2014 15:44:37 +0000 (15:44 +0000)]
Add avx512vbmi instructions.

gcc/

* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET
OPTION_MASK_ISA_AVX512VBMI_UNSET): New.
(ix86_handle_option): Handle OPT_mavx512vbmi.
* config.gcc: Add avx512vbmiintrin.h, avx512vbmivlintrin.h.
* config/i386/avx512vbmiintrin.h: New file.
* config/i386/avx512vbmivlintrin.h: Ditto.
* config/i386/cpuid.h (bit_AVX512VBMI): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512vbmi.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__AVX512VBMI__.
* config/i386/i386.c (ix86_target_string): Add -mavx512vbmi.
(PTA_AVX512VBMI): Define.
(ix86_option_override_internal): Handle new options.
(ix86_valid_target_attribute_inner_p): Add avx512vbmi,
(ix86_builtins): Add IX86_BUILTIN_VPMULTISHIFTQB512,
IX86_BUILTIN_VPMULTISHIFTQB256, IX86_BUILTIN_VPMULTISHIFTQB128,
IX86_BUILTIN_VPERMVARQI512_MASK, IX86_BUILTIN_VPERMT2VARQI512,
IX86_BUILTIN_VPERMT2VARQI512_MASKZ, IX86_BUILTIN_VPERMI2VARQI512,
IX86_BUILTIN_VPERMVARQI256_MASK, IX86_BUILTIN_VPERMVARQI128_MASK,
IX86_BUILTIN_VPERMT2VARQI256, IX86_BUILTIN_VPERMT2VARQI256_MASKZ,
IX86_BUILTIN_VPERMT2VARQI128, IX86_BUILTIN_VPERMI2VARQI256,
IX86_BUILTIN_VPERMI2VARQI128.
(bdesc_special_args): Add __builtin_ia32_vpmultishiftqb512_mask,
__builtin_ia32_vpmultishiftqb256_mask,
__builtin_ia32_vpmultishiftqb128_mask,
__builtin_ia32_permvarqi512_mask, __builtin_ia32_vpermt2varqi512_mask,
__builtin_ia32_vpermt2varqi512_maskz,
__builtin_ia32_vpermi2varqi512_mask, __builtin_ia32_permvarqi256_mask,
__builtin_ia32_permvarqi128_mask, __builtin_ia32_vpermt2varqi256_mask,
__builtin_ia32_vpermt2varqi256_maskz,
__builtin_ia32_vpermt2varqi128_mask,
__builtin_ia32_vpermt2varqi128_maskz,
__builtin_ia32_vpermi2varqi256_mask,
__builtin_ia32_vpermi2varqi128_mask.
(ix86_hard_regno_mode_ok): Allow big masks for AVX512VBMI.
* config/i386/i386.h (TARGET_AVX512VBMI, TARGET_AVX512VBMI_P): Define.
* config/i386/i386.opt: Add mavx512vbmi.
* config/i386/immintrin.h: Include avx512vbmiintrin.h,
avx512vbmivlintrin.h.
* config/i386/sse.md (unspec): Add UNSPEC_VPMULTISHIFT.
(VI1_AVX512VL): New iterator.
(<avx512>_permvar<mode><mask_name>): Use it.
(<avx512>_vpermi2var<mode>3_maskz): Ditto.
(<avx512>_vpermi2var<mode>3<sd_maskz_name>): Ditto.
(<avx512>_vpermi2var<mode>3_mask): Ditto.
(<avx512>_vpermt2var<mode>3_maskz): Ditto.
(<avx512>_vpermt2var<mode>3<sd_maskz_name>): Ditto.
(<avx512>_vpermt2var<mode>3_mask): Ditto.
(vpmultishiftqb<mode><mask_name>): Ditto.

gcc/testsuite/

* g++.dg/other/i386-2.C: Add -mavx512vbmi.
* g++.dg/other/i386-3.C: Ditto.
* gcc.target/i386/avx512f-helper.h: Add avx512vbmi-check.h.
* gcc.target/i386/avx512vbmi-check.h: Ditto.
* gcc.target/i386/avx512vbmi-vpermb-1.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermb-2.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermi2b-1.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermi2b-2.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermt2b-1.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermt2b-2.c: Ditto.
* gcc.target/i386/avx512vbmi-vpmultishiftqb-1.c: Ditto.
* gcc.target/i386/avx512vbmi-vpmultishiftqb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpermb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpermi2b-2.c: Ditto.
* gcc.target/i386/avx512vl-vpermt2b-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaddhuq-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaddluq-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmultishiftqb-2.c: Ditto.
* gcc.target/i386/i386.exp (check_effective_target_avx512vbmi): New.
* gcc.target/i386/sse-12.c: Add new options.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.

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

9 years ago PR rtl-optimization/63952
uweigand [Fri, 21 Nov 2014 15:33:27 +0000 (15:33 +0000)]
PR rtl-optimization/63952
* optabs.c (prepare_cmp_insn): Do not call can_compare_p for CCmode.
* config/s390/s390.md ("cbranchcc4"): Accept any s390_comparison.
Remove incorrect TARGET_HARD_FLOAT check and no-op expander code.

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

9 years agoAdd avx512ifma instructions.
tocarip [Fri, 21 Nov 2014 15:28:24 +0000 (15:28 +0000)]
Add avx512ifma instructions.

gcc/
* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512IFMA_SET,
OPTION_MASK_ISA_AVX512IFMA_UNSET): New.
(ix86_handle_option): Handle OPT_mavx512ifma.
* config.gcc: Add avx512ifmaintrin.h, avx512ifmavlintrin.h.
* config/i386/avx512ifmaintrin.h: New file.
* config/i386/avx512ifmaivlntrin.h: Ditto.
* config/i386/cpuid.h (bit_AVX512IFMA): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
avx512ifma.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__AVX512IFMA__.
* config/i386/i386.c (ix86_target_string): Add -mavx512ifma.
(PTA_AVX512IFMA): Define.
(ix86_option_override_internal): Handle new options.
(ix86_valid_target_attribute_inner_p): Add avx512ifma.
(ix86_builtins): Add IX86_BUILTIN_VPMADD52LUQ512,
IX86_BUILTIN_VPMADD52HUQ512, IX86_BUILTIN_VPMADD52LUQ256,
IX86_BUILTIN_VPMADD52HUQ256, IX86_BUILTIN_VPMADD52LUQ128,
IX86_BUILTIN_VPMADD52HUQ128, IX86_BUILTIN_VPMADD52LUQ512_MASKZ,
IX86_BUILTIN_VPMADD52HUQ512_MASKZ, IX86_BUILTIN_VPMADD52LUQ256_MASKZ,
IX86_BUILTIN_VPMADD52HUQ256_MASKZ, IX86_BUILTIN_VPMADD52LUQ128_MASKZ,
IX86_BUILTIN_VPMADD52HUQ128_MASKZ.
(bdesc_special_args): Add __builtin_ia32_vpmadd52luq512_mask,
__builtin_ia32_vpmadd52luq512_maskz,
__builtin_ia32_vpmadd52huq512_mask,
__builtin_ia32_vpmadd52huq512_maskx,
__builtin_ia32_vpmadd52luq256_mask,
__builtin_ia32_vpmadd52luq256_maskz,
__builtin_ia32_vpmadd52huq256_mask,
__builtin_ia32_vpmadd52huq256_maskz,
__builtin_ia32_vpmadd52luq128_mask,
__builtin_ia32_vpmadd52luq128_maskz,
__builtin_ia32_vpmadd52huq128_mask,
__builtin_ia32_vpmadd52huq128_maskz,
* config/i386/i386.h (TARGET_AVX512IFMA, TARGET_AVX512IFMA_P): Define.
* config/i386/i386.opt: Add mavx512ifma.
* config/i386/immintrin.h: Include avx512ifmaintrin.h,
avx512ifmavlintrin.h.
* config/i386/sse.md (unspec): Add UNSPEC_VPMADD52LUQ,
UNSPEC_VPMADD52HUQ.
(VPMADD52): New iterator.
(vpmadd52type): New attribute.
(vpamdd52huq<mode>_maskz): New.
(vpamdd52luq<mode>_maskz): Ditto.
(vpamdd52<vpmadd52type><mode><sd_maskz_name>): Ditto.
(vpamdd52<vpmadd52type><mode>_mask): Ditto.

gcc/testsuite/

* g++.dg/other/i386-2.C: Add -mavx512ifma.
* g++.dg/other/i386-3.C: Ditto.
* gcc.target/i386/avx512f-helper.h: Add avx512ifma-check.h.
* gcc.target/i386/avx512ifma-check.h: New.
* gcc.target/i386/avx512ifma-vpmaddhuq-1.c: Ditto.
* gcc.target/i386/avx512ifma-vpmaddhuq-2.c: Ditto.
* gcc.target/i386/avx512ifma-vpmaddluq-1.c: Ditto.
* gcc.target/i386/avx512ifma-vpmaddluq-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaddhuq-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaddluq-2.c: Ditto.
* gcc.target/i386/i386.exp (check_effective_target_avx512ifma): New.
* gcc.target/i386/sse-12.c: Add new options.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.

2014-11-21  Georg-Johann Lay  <avr@gjlay.de>

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

9 years agoRevert: Workaround following [PATCH] Pul all constants last in tree_swap_operands_p
alalaw01 [Fri, 21 Nov 2014 14:44:31 +0000 (14:44 +0000)]
Revert: Workaround following [PATCH] Pul all constants last in tree_swap_operands_p

https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01509.html
2014-09-22  Alan Lawrence  <alan.lawrence@arm.com>
gcc/:
         * fold-const.c (tree_swap_operands_p): Strip only sign-preserving NOPs.

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

9 years ago[MIPS] If using branch likelies in MIPS sync code fill the delay slot
abennett [Fri, 21 Nov 2014 14:34:55 +0000 (14:34 +0000)]
[MIPS] If using branch likelies in MIPS sync code fill the delay slot
with a nop.

gcc/
* config/mips/mips.c (mips_process_sync_loop): Place a
nop in the delay slot of the branch likely instruction.
(mips_output_sync_loop): Ensure mips_branch_likely is
set before calling mips_output_sync_loop.
(mips_sync_loop_insns): Likewise.

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

9 years agomissing ChangeLog entry
wschmidt [Fri, 21 Nov 2014 14:20:42 +0000 (14:20 +0000)]
missing ChangeLog entry

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

9 years ago2014-11-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Fri, 21 Nov 2014 14:10:27 +0000 (14:10 +0000)]
2014-11-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR/target 63673
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Allow
the base pointer of vec_vsx_ld and vec_vsx_st to take a pointer to
double.

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

9 years agoAdd ChangeLog entry
gjl [Fri, 21 Nov 2014 14:05:32 +0000 (14:05 +0000)]
Add ChangeLog entry

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

9 years agogcc/
gjl [Fri, 21 Nov 2014 14:04:25 +0000 (14:04 +0000)]
gcc/
Forward-port from 2014-10-30 4_9-branch r216934
PR target/63633
* config/avr/avr-protos.h (regmask): New inline function.
(avr_fix_inputs, avr_emit3_fix_outputs): New protos.
* config/avr/avr.c (avr_fix_operands, avr_move_fixed_operands)
(avr_fix_inputs, avr_emit3_fix_outputs): New functions.
* config/avr/avr-fixed.md (mulqq3_nomul, muluqq3_nomul)
(mul<ALL2QA>3, mul<ALL4A>3, <usdiv><ALL1Q>3, <usdiv><ALL2QA>3)
(<usdiv><ALL4A>3, round<ALL124QA>3): Fix input operands.
* config/avr/avr-dimode.md (add<ALL8>3, sub<ALL8>3)
(<ss_addsub><ALL8S>3, <us_addsub><ALL8U>3, cbranch<ALL8>4)
(<di_shifts><ALL8>3, <any_extend>mulsidi3): Fix input operands.
* config/avr/avr.md (mulqi3_call, mulhi3_call, mulsi3, mulpsi3)
(mulu<QIHI>si3, muls<QIHI>si3, mulohisi3, <any_extend>mulhisi3)
(usmulhisi3, <any_extend>mulhi3_highpart, mulsqipsi3)
(fmul, fmuls, fmulsu): Fix operands.  Turn insn into expander as
needed.

gcc/testsuite/
Forward-port from 2014-10-30 4_9-branch r216934
PR target/63633
* gcc.target/avr/torture/pr63633-ice-mult.c: New test.

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

9 years ago PR sanitizer/64013
jakub [Fri, 21 Nov 2014 14:03:37 +0000 (14:03 +0000)]
PR sanitizer/64013
* sanitizer_common/sanitizer_linux.cc (FileExists): Cherry pick
upstream r222532.

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

9 years ago PR debug/63239
fxcoudert [Fri, 21 Nov 2014 13:32:08 +0000 (13:32 +0000)]
PR debug/63239
* g++.dg/debug/dwarf2/deleted-member-function.C: Pass
-gno-strict-dwarf.

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

9 years ago PR target/61137
jakub [Fri, 21 Nov 2014 13:28:58 +0000 (13:28 +0000)]
PR target/61137
* config/ia64/ia64.c (ia64_attribute_takes_identifier_p): New function.
(TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Redefine to it.

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

9 years ago PR debug/63239
fxcoudert [Fri, 21 Nov 2014 13:27:57 +0000 (13:27 +0000)]
PR debug/63239
* g++.dg/debug/dwarf2/deleted-member-function.C: Pass
-gno-strict-dwarf on darwin.

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

9 years ago[AArch64, Obvious] Fix formatting of SHLL and friends
jgreenhalgh [Fri, 21 Nov 2014 12:29:26 +0000 (12:29 +0000)]
[AArch64, Obvious] Fix formatting of SHLL and friends

gcc/

* config/aarch64/aarch64-simd.md
(aarch64_<ANY_EXTEND:su><ADDSUB:optab>l<mode>): Add a tab between
output mnemonic and operands.
(aarch64_simd_vec_unpack<su>_lo_<mode>): Likewise.
(aarch64_simd_vec_unpack<su>_hi_<mode>): Likewise.

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

9 years agoAdd fgcse-sm test with scan-rtl-dump
vries [Fri, 21 Nov 2014 12:26:11 +0000 (12:26 +0000)]
Add fgcse-sm test with scan-rtl-dump

2014-11-21  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/store-motion-fgcse-sm.c: New test.

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

9 years ago2014-11-21 Renlin Li <Renlin.Li@arm.com>
renlin [Fri, 21 Nov 2014 12:01:32 +0000 (12:01 +0000)]
2014-11-21  Renlin Li  <Renlin.Li@arm.com>

        * MAINTAINERS (Write After Approval): Add myself.

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

9 years ago * config/i386/i386.c (ix86_option_override_internal): Increase
ienkovich [Fri, 21 Nov 2014 11:50:37 +0000 (11:50 +0000)]
* config/i386/i386.c (ix86_option_override_internal): Increase
PARAM_MAX_COMPLETELY_PEELED_INSNS.

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

9 years agogcc/testsuite
ienkovich [Fri, 21 Nov 2014 11:13:37 +0000 (11:13 +0000)]
gcc/testsuite

PR target/60451
* gcc.target/i386/pr60451.c: New.

gcc/
PR target/60451
* config/i386/i386.c (expand_vec_perm_even_odd_pack): New.
(expand_vec_perm_even_odd_1): Add new expand for V8HI mode,
replace for V16QI, V16HI and V32QI modes.
(ix86_expand_vec_perm_const_1): Add new expand.

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

9 years ago2014-11-20 Alex Velenko <Alex.Velenko@arm.com>
avelenko [Fri, 21 Nov 2014 10:41:25 +0000 (10:41 +0000)]
2014-11-20  Alex Velenko  <Alex.Velenko@arm.com>

* MAINTAINERS (write-after-approval): Add myself.

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

9 years ago * config/rl78/rl78-real.md (movqi_from_es): New pattern.
nickc [Fri, 21 Nov 2014 10:32:06 +0000 (10:32 +0000)]
* config/rl78/rl78-real.md (movqi_from_es): New pattern.
* config/rl78/rl78.c (struct machine_function): Add uses_es field.
(rl78_expand_prologue): Save the ES register in interrupt handlers
that use it.
(rl78_expand_epilogue): Restore the ES register if necessary.
(rl78_start_function): Mention if the function uses the ES
register.
(rl78_lo16): Record the use of the ES register.
(transcode_memory_rtx): Likewise.

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

9 years ago PR tree-optimization/61773
jakub [Fri, 21 Nov 2014 09:27:19 +0000 (09:27 +0000)]
PR tree-optimization/61773
* tree-ssa-strlen.c (get_string_length): Don't assert
stpcpy has been prototyped if si->stmt is BUILT_IN_MALLOC.

* gcc.dg/pr61773.c: New test.

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

9 years ago PR target/63764
jakub [Fri, 21 Nov 2014 09:25:51 +0000 (09:25 +0000)]
PR target/63764
c-family/
* c-common.h (convert_vector_to_pointer_for_subscript): Change
return type to bool.
* c-common.c: Include gimple-expr.c.
(convert_vector_to_pointer_for_subscript): Change return type to
bool.  If *vecp is not lvalue_p and has VECTOR_TYPE, return true
and copy it into a TARGET_EXPR and use that instead of *vecp
directly.
c/
* c-typeck.c (build_array_ref): Adjust
convert_vector_to_pointer_for_subscript caller.  If it returns true,
call non_lvalue_loc on the result.
cp/
* typeck.c (cp_build_array_ref): Adjust
convert_vector_to_pointer_for_subscript caller.  If it returns true,
call non_lvalue_loc on the result.
testsuite/
* c-c++-common/pr63764-1.c: New test.
* c-c++-common/pr63764-2.c: New test.

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

9 years ago PR target/63910
jakub [Fri, 21 Nov 2014 09:23:26 +0000 (09:23 +0000)]
PR target/63910
* simplify-rtx.c (simplify_immed_subreg): Return NULL for integer
modes wider than MAX_BITSIZE_MODE_ANY_INT.  If not using
CONST_WIDE_INT, make sure r fits into CONST_DOUBLE.

* gcc.target/i386/pr63910.c: New test.

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

9 years ago PR lto/63998
fxcoudert [Fri, 21 Nov 2014 08:38:41 +0000 (08:38 +0000)]
PR lto/63998
* gcc.dg/lto/pr60820_0.c: Skip on darwin.

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

9 years agors6000: Fix compiler warning
trippels [Fri, 21 Nov 2014 06:50:47 +0000 (06:50 +0000)]
rs6000: Fix compiler warning

2014-11-20  Markus Trippelsdorf  <markus@trippelsdorf.de>

* config/rs6000/rs6000.c (includes_rldic_lshift_p): Use
HOST_WIDE_INT_M1U instead of ~0.
(includes_rldicr_lshift_p): Likewise.

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

9 years ago[NDS32] Look into LO_SUM's operand to determine whether it is a valid address.
jasonwucj [Fri, 21 Nov 2014 05:51:12 +0000 (05:51 +0000)]
[NDS32] Look into LO_SUM's operand to determine whether it is a valid address.

gcc/
* config/nds32/nds32.c (nds32_legitimate_address_p): For LO_SUM,
we need to look into its operand to determine whether it is a valid
address.

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

9 years ago[NDS32] Create correct CFI info for variadic function arguments.
jasonwucj [Fri, 21 Nov 2014 05:32:51 +0000 (05:32 +0000)]
[NDS32] Create correct CFI info for variadic function arguments.

gcc/
* config/nds32/nds32.c (nds32_emit_stack_push_multiple): Add new
vaarg_p argument and create correct CFI info.
(nds32_expand_prologue): Pass true or false to
nds32_emit_stack_push_multiple function.

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

9 years ago[NDS32] Add missing RTX_FRAME_RELATED_P to set fp_adjust_insn rtx.
jasonwucj [Fri, 21 Nov 2014 05:19:00 +0000 (05:19 +0000)]
[NDS32] Add missing RTX_FRAME_RELATED_P to set fp_adjust_insn rtx.

gcc/
* config/nds32/nds32.c (nds32_expand_prologue): Set fp_adjust_insn
as RTX_FRAME_RELATED_P rtx.

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

9 years ago[NDS32] Complete -march= option design so that it can display available items in...
jasonwucj [Fri, 21 Nov 2014 05:13:44 +0000 (05:13 +0000)]
[NDS32] Complete -march= option design so that it can display available items in --target-help message.

gcc/
* config/nds32/nds32.opt (march): Add help message.

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

9 years ago PR c++/63658
jason [Fri, 21 Nov 2014 00:47:50 +0000 (00:47 +0000)]
PR c++/63658
* pt.c (convert_nontype_argument): Call convert_from_reference.
(check_instantiated_arg): Don't be confused by reference refs.
(unify): Look through reference refs on the arg, too.
* mangle.c (write_template_arg): Look through reference refs.

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

9 years ago * error.c (dump_expr): Avoid printing (*&i) for references.
jason [Fri, 21 Nov 2014 00:47:45 +0000 (00:47 +0000)]
* error.c (dump_expr): Avoid printing (*&i) for references.

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

9 years agoDaily bump.
gccadmin [Fri, 21 Nov 2014 00:16:19 +0000 (00:16 +0000)]
Daily bump.

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

9 years agoDisable an unsafe VRP transformation when -fno-strict-overflow is set
ppalka [Thu, 20 Nov 2014 22:25:35 +0000 (22:25 +0000)]
Disable an unsafe VRP transformation when -fno-strict-overflow is set

gcc/
* tree-vrp.c (test_for_singularity): New parameter
strict_overflow_p.  Set *strict_overflow_p to true if signed
overflow must be undefined for the return value to satisfy the
conditional.
(simplify_cond_using_ranges): Don't perform the simplification
if it violates overflow rules.

gcc/testsuite/
* gcc.dg/no-strict-overflow-8.c: New test.

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

9 years ago PR c++/63959
jason [Thu, 20 Nov 2014 21:51:04 +0000 (21:51 +0000)]
PR c++/63959
* tree.c (trivially_copyable_p): Check for CP_TYPE_VOLATILE_P.

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

9 years ago * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Fix typo.
mpolacek [Thu, 20 Nov 2014 20:56:23 +0000 (20:56 +0000)]
* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Fix typo.

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

9 years agoWarn on undefined loop exit.
ams [Thu, 20 Nov 2014 20:22:54 +0000 (20:22 +0000)]
Warn on undefined loop exit.

2014-11-20  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
condition would be removed due to undefined behaviour.

gcc/testsuite/
* gcc.dg/undefined-loop-1.c: New file.
* gcc.dg/undefined-loop-2.c: New file.

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

9 years ago2014-11-20 Andrew Pinski <apinski@cavium.com>
pinskia [Thu, 20 Nov 2014 17:14:09 +0000 (17:14 +0000)]
2014-11-20  Andrew Pinski  <apinski@cavium.com>

        PR ipa/63981
        PR ipa/63982
        * ipa-polymorphic-call.c (possible_placement_new):
        Use POINTER_SIZE instead of GET_MODE_BITSIZE (Pmode).
        (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
        (extr_type_from_vtbl_ptr_store): Likewise.

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

9 years ago2014-11-20 Andrew Pinski <apinski@cavium.com>
pinskia [Thu, 20 Nov 2014 17:12:02 +0000 (17:12 +0000)]
2014-11-20  Andrew Pinski  <apinski@cavium.com>

        PR ipa/63981
        * ipa-polymorphic-call.c (possible_placement_new):
        Use POINTER_SIZE instead of GET_MODE_BITSIZE (Pmode).
        (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
        (extr_type_from_vtbl_ptr_store): Likewise.

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

9 years agoPR63426 Fix various signed integer overflows
trippels [Thu, 20 Nov 2014 16:36:14 +0000 (16:36 +0000)]
PR63426 Fix various signed integer overflows

Running the testsuite after bootstrap-ubsan on gcc112 shows several issues. See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63426 for the full list.

This patch fixes several of them.

2014-11-20  Markus Trippelsdorf  <markus@trippelsdorf.de>

* config/rs6000/constraints.md: Avoid signed integer overflows.
* config/rs6000/predicates.md: Likewise.
* config/rs6000/rs6000.c (num_insns_constant_wide): Likewise.
(includes_rldic_lshift_p): Likewise.
(includes_rldicr_lshift_p): Likewise.
* emit-rtl.c (const_wide_int_htab_hash): Likewise.
* loop-iv.c (determine_max_iter): Likewise.
(iv_number_of_iterations): Likewise.
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Likewise.
* varasm.c (get_section_anchor): Likewise.

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

9 years ago PR target/63870
cbaylis [Thu, 20 Nov 2014 16:26:54 +0000 (16:26 +0000)]
    PR target/63870
        * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Pass
        expression to aarch64_simd_lane_bounds.
        * config/aarch64/aarch64-protos.h (aarch64_simd_lane_bounds): Update
        prototype.
        * config/aarch64/aarch64-simd.md: (aarch64_combinez<mode>): Update
        call to aarch64_simd_lane_bounds.
        (aarch64_get_lanedi): Likewise.
        (aarch64_ld2_lane<mode>): Likewise.
        (aarch64_ld3_lane<mode>): Likewise.
        (aarch64_ld4_lane<mode>): Likewise.
        (aarch64_im_lane_boundsi): Likewise.
        * config/aarch64/aarch64.c (aarch64_simd_lane_bounds): Add exp
        parameter. Report calling function in error message if exp is non-NULL.

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

9 years ago PR ada/63931
charlet [Thu, 20 Nov 2014 16:17:12 +0000 (16:17 +0000)]
PR ada/63931
* gnatvsn.ads (Library_Version): Switch to "5".

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

9 years ago2014-11-20 Segher Boessenkool <segher@kernel.crashing.org>
segher [Thu, 20 Nov 2014 16:03:16 +0000 (16:03 +0000)]
2014-11-20  Segher Boessenkool  <segher@kernel.crashing.org>

PR target/60111
* config/sh/sh.c: Use signed char for signed field.

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

9 years ago2014-11-20 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 20 Nov 2014 15:59:01 +0000 (15:59 +0000)]
2014-11-20  Thomas Quinot  <quinot@adacore.com>

* freeze.adb (Freeze_Entity): Do not reset Is_True_Constant
for aliased constant objects.

2014-11-20  Robert Dewar  <dewar@adacore.com>

* exp_util.adb (Following_Address_Clause): Use new Name_Table
boolean flag set by parser to avoid the search if there is no
address clause anywhere for the name.
* namet.adb (Name_Enter): Initialize Boolean_Info flag
(Name_Find): ditto (Reinitialize): ditto (Get_Name_Table_Boolean):
New function (Set_Name_Table_Boolean): New procedure
* namet.ads: Add and document new Boolean field in name table
(Get_Name_Table_Boolean): New function.
(Set_Name_Table_Boolean): New procedure.
* par-ch13.adb (P_Representation_Clause): Set Name_Table boolean
flag for an identifier name if we detect an address clause or
use-at clause for the identifier.
* sem_ch3.adb (Analyze_Object_Declaration): Remove comment about
Following_Address_Clause since this function is now optimized
and is not a performance concern.
* sem_prag.adb (Analyze_Pragma, case Elaborate): In SPARK
mode, pragma Elaborate is now allowed, but does not suppress
elaboration checking.

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

9 years ago2014-11-20 Jerome Lambourg <lambourg@adacore.com>
charlet [Thu, 20 Nov 2014 15:57:55 +0000 (15:57 +0000)]
2014-11-20  Jerome Lambourg  <lambourg@adacore.com>

* gcc-interface/Makefile.in: Add some support for VxWorks7.

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

9 years ago2014-11-20 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 20 Nov 2014 15:54:31 +0000 (15:54 +0000)]
2014-11-20  Thomas Quinot  <quinot@adacore.com>

* sem_ch13.adb, freeze.adb: Minor reformatting.
* gnat_rm.texi: Minor editing.

2014-11-20  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma): Minor reformatting.
(Process_Suppress_Unsuppress): Ignore suppress Elaboration_Check
in SPARK.

2014-11-20  Bob Duff  <duff@adacore.com>

* gnat_rm.texi: Correction to documentation of
'Unrestricted_Access in case of access to unconstrained array.
* a-cofove.adb (Capacity): Fix bug -- was always
returning Capacity_Range'Last.
(Is_Sorted): Fix bug -- was always returning True, because
Container.Last = Last. That test isn't even needed, because the
loop will go around zero times in that case, so deleted that
test rather than fixing it.
(Reverse_Elements): Make sure to use the correct array bounds.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Analyze_Associations): In GNATProve mode, build
wrappers for functions and operators that are actuals only if
expander is enabled. Wrappers play no role within a generic unit.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_util.adb (Policy_In_Effect): Use the
configuration level assertion flag.

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

9 years ago2014-11-20 Arnaud Charlet <charlet@adacore.com>
charlet [Thu, 20 Nov 2014 15:50:29 +0000 (15:50 +0000)]
2014-11-20  Arnaud Charlet  <charlet@adacore.com>

* s-parame-ae653.ads: Update comments.

2014-11-20  Robert Dewar  <dewar@adacore.com>

* types.ads, einfo.ads: Minor reformatting.
* sem_elab.adb (Check_A_Call): Add guard for reference to Alias
for variable case.

2014-11-20  Bob Duff  <duff@adacore.com>

* a-cofove.adb (Elems,Elemsc): Use access-to-constrained arrays
instead of access-to-unconstrained, because the latter doesn't
work with 'Unrestricted_Access when the result is returned from
a function.
* a-cofove.ads (Vector): Move the discriminant-dependent array
after the other components for efficiency. Otherwise the compiler
will generate a lot of code to calculate the offset of the other
components every time they're accessed.

2014-11-20  Olivier Hainque  <hainque@adacore.com>

* opt.ads: Fix comment on Generate_SCO_Instance_Table wrt when
it is set to true.

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

9 years ago2014-11-20 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 20 Nov 2014 15:47:33 +0000 (15:47 +0000)]
2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* exp_ch3.adb (Expand_N_Object_Declaration): Handle properly
a type invariant check on an object with default initialization
and an address clause.

2014-11-20  Robert Dewar  <dewar@adacore.com>

* sem_elab.adb (Check_A_Call): Handle variable ref case in
SPARK (Check_Elab_Call): ditto (Find_Elab_Reference): ditto
(Get_Referenced_Ent): ditto.
* sem_elab.ads: Comment fixes to account for the fact that we
now deal with variable references in SPARK mode.
* sem_res.adb (Resolve_Entity_Name): In SPARK_Mode Call
Check_Elab_Call for variable.

2014-11-20  Yannick Moy  <moy@adacore.com>

* a-cofove.ads (Copy): Fix precondition, which should allow
Capacity = 0.
(First_To_Previous, Current_To_Last): Add necessary preconditions.

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

9 years ago2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 20 Nov 2014 15:46:20 +0000 (15:46 +0000)]
2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Build_Initialization_Call): Reimplement the
circuitry which extraacts the [underlying] full view of a
private type to handle a case where the private type acts as a
generic actual.
* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Inherit the
loop label form the original loop regardless of whether it came
from source.
* sem_attr.adb (Analyze_Attribute): When taking 'Access of an
expression function with a generated body that has not been
analyzed yet, analyze the body to freeze the expression.
* sem_util.adb (Set_Public_Status_Of): New routine.
(Transfer_Entities): Handle the case where a private type with
an internally generated full view is being transfered and update
its full view.

2014-11-20  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Check_Object): If a unit is in a multi-source
file, its object file is never the same as any other unit.

2014-11-20  Bob Duff  <duff@adacore.com>

* s-taskin.adb (Initialize_ATCB): Take into
account the fact that the domain of the activator can be null
if we're initializing a foreign task.

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

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 15:43:06 +0000 (15:43 +0000)]
2014-11-20  Robert Dewar  <dewar@adacore.com>

* sem_ch12.adb: Minor reformatting.

2014-11-20  Jerome Lambourg  <lambourg@adacore.com>

* s-osinte-vxworks.ads: Add comments. Minor reformatting.

2014-11-20  Yannick Moy  <moy@adacore.com>

* sem_prag.adb, sem_elab.adb: Minor rewording of error message in
SPARK mode, for consistency.

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

9 years ago2014-11-20 Vasiliy Fofanov <fofanov@adacore.com>
charlet [Thu, 20 Nov 2014 15:41:27 +0000 (15:41 +0000)]
2014-11-20  Vasiliy Fofanov  <fofanov@adacore.com>

* gnat_ugn.texi: New section on gnattest stubbing. Minor
reformatting.

2014-11-20  Jerome Lambourg  <lambourg@adacore.com>

* s-taprop-vxworks.adb (Create_Task): Fix thread comparison.
Minor reformatting.

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

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 15:17:47 +0000 (15:17 +0000)]
2014-11-20  Robert Dewar  <dewar@adacore.com>

* s-tassta.adb, exp_aggr.adb, s-taskin.adb, exp_strm.adb: Minor
reformatting.
* comperr.adb (Compiler_Abort): New wording for bug box.
* par-ch13.adb: Minor reformatting.
* par-ch3.adb (P_Identifier_Declarations): Handle aspect
specifications given before initialization expression in object
declaration cleanly.
* gnat1drv.adb (Adjust_Global_Switches): Make sure static
elaboration mode is set if we are operating in SPARK mode.
* sem_ch12.adb (Analyze_Package_Instantiation): Make
sure static elab mode is set if we are in SPARK mode.
(Analyze_Subprogram_Instantiation): ditto.
(Set_Instance_Env): ditto.
* sem_elab.adb (Check_A_Call): In SPARK mode, we require
Elaborate_All in the case of a call during elaboration to a
subprogram in another unit.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* inline.adb (Can_Split_Unconstrained_Function,
Build_Procedure): Copy parameter type rather than creating
reference to the entity, to capture class-wide reference, whose
name is not retrieved by visibility.

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

9 years ago2014-11-20 Arnaud Charlet <charlet@adacore.com>
charlet [Thu, 20 Nov 2014 15:13:59 +0000 (15:13 +0000)]
2014-11-20  Arnaud Charlet  <charlet@adacore.com>

* s-taspri-solaris.ads: Replace 64 by long_long_integer'size.

2014-11-20  Olivier Hainque  <hainque@adacore.com>

* init.c (__gnat_map_signal for VxWorks): Use a common mapping
scheme for VxWorks version >= 6, instead of falling back to the
vx5 scheme for versions > 6.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Use
base type when constructing subtype indication for constrained
target object.

2014-11-20  Jose Ruiz  <ruiz@adacore.com>

* projects.texi: Minor spelling fix.

2014-11-20  Bob Duff  <duff@adacore.com>

* gnat_ugn.texi: Add doc for --split-line-before-op switch in gnatpp.

2014-11-20  Vincent Celier  <celier@adacore.com>

* prj-attr.adb (Register_New_Package): Allow the registration
of an already unknown package and make it known.

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

9 years agoconvert trans-mem to hash_table
tbsaunde [Thu, 20 Nov 2014 15:10:56 +0000 (15:10 +0000)]
convert trans-mem to hash_table

gcc/

* cfgexpand.c, gimple-ssa.h, trans-mem.c: Replace htab with
hash_table.

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

9 years agoremove more ggc htabs
tbsaunde [Thu, 20 Nov 2014 15:10:49 +0000 (15:10 +0000)]
remove more ggc htabs

gcc/

* ipa-utils.c, lto-section-in.c, lto-streamer.h,
tree-scalar-evolution.c: Replace htab with hash_table.

lto/

* lto.c: Replace htab with hash_table.

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

9 years agouse vec in lto_tree_ref_table
tbsaunde [Thu, 20 Nov 2014 15:10:42 +0000 (15:10 +0000)]
use vec in lto_tree_ref_table

gcc/ChangeLog:

2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>

* lto-section-in.c (lto_delete_in_decl_state): Adjust.
(lto_free_function_in_decl_state): Likewise.
* lto-streamer-out.c (copy_function_or_variable): Likewise.
* lto-streamer.h (lto_file_decl_data_get_ ## name): Likewise.
(lto_file_decl_data_num_ ## name ## s): Likewise.
(struct lto_tree_ref_table): Remove.
(struct lto_in_decl_state): Replace lto_tree_ref_table with vec<tree>.

gcc/lto/ChangeLog:

2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>

* lto.c (lto_read_in_decl_state): Adjust.
(lto_fixup_state): Likewise.

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

9 years agoremove param1_is usage
tbsaunde [Thu, 20 Nov 2014 15:10:33 +0000 (15:10 +0000)]
remove param1_is usage

gcc/

* hash-map.h (hash_map::iterator): New class.
(hash_map::begin): New method.
(hash_map::end): Likewise.
* alias.c, config/alpha/alpha.c, dwarf2asm.c, omp-low.c, tree.h:
replace splay_tree with hash_map.

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

9 years agofix hash_table when empty elements are not 0
tbsaunde [Thu, 20 Nov 2014 15:10:26 +0000 (15:10 +0000)]
fix hash_table when empty elements are not 0

gcc/ChangeLog:

2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>

* hash-table.h (hash_table::hash_table): Call alloc_entries.
(hash_table::alloc_entries): new method.
(hash_table::expand): Call alloc_entries.
(hash_table::empty): Likewise.

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

9 years ago convert many if_marked htab to hash_table
tbsaunde [Thu, 20 Nov 2014 15:10:19 +0000 (15:10 +0000)]
 convert many if_marked htab to hash_table

ada/

* gcc-interface/decl.c, gcc-interface/utils.c: replace htab with
hash_table.

cp/

* cp-objcp-common.c: Use hash_table instead of htab.

gcc/

* config/i386/i386.c, function.c, trans-mem.c, tree-core.h,
tree.c, tree.h, ubsan.c, varasm.c: Use hash_table instead of htab.

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

9 years agoimplement a replacement for if_marked
tbsaunde [Thu, 20 Nov 2014 15:10:11 +0000 (15:10 +0000)]
implement a replacement for if_marked

gcc/ChangeLog:

2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>

* doc/gty.texi: Document the new cache gty attribute.
* gengtype.c (finish_cache_funcs): New function.
(write_roots): Call gt_clear_cache on global variables with the cache
gty attribute.
* ggc-common.c (ggc_mark_roots): Call gt_clear_caches.
* ggc.h (gt_clear_caches): New declaration.
* hash-table.h (struct ggc_cache_hasher): New hasher for caches in gc
memory.
(gt_cleare_cache): New function.
* emit-rtl.c, rtl.h, tree.c: Use hash_table instead of htab.

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

9 years ago * combine.c (try_combine): Prefer to delete dead SETs inside
segher [Thu, 20 Nov 2014 14:56:29 +0000 (14:56 +0000)]
* combine.c (try_combine): Prefer to delete dead SETs inside
a PARALLEL over keeping them.

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

9 years ago * combine.c (combine_validate_cost): Always print the insn costs
segher [Thu, 20 Nov 2014 14:54:56 +0000 (14:54 +0000)]
* combine.c (combine_validate_cost): Always print the insn costs
to the dump file.

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

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 14:47:19 +0000 (14:47 +0000)]
2014-11-20  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Elaborate): Forbid pragma
Elaborate in SPARK mode.

2014-11-20  Bob Duff  <duff@adacore.com>

* s-taskin.adb, s-tassta.adb (Initialize_ATCB): If Domain
is null, then initialize T.Common.Domain to that of the
activating task (not the parent task!), as required by RM-D.16.1.
T.Common.Domain should never be null; so Assert. Remove similar
code from Create_Task in s-tassta.adb.
* s-mudido-affinity.adb: Remove checks for Domain = null,
because it can't be null.
* s-taskin.ads, s-taspri-dummy.ads, s-taspri-mingw.ads,
s-taspri-posix.ads, s-taspri-posix-noaltstack.ads,
s-taspri-solaris.ads, s-taspri-vxworks.ads: Mark limited types as
explicitly limited for clarity.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Init_Hidden_Discriminants): Code clean up.

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

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 14:41:49 +0000 (14:41 +0000)]
2014-11-20  Robert Dewar  <dewar@adacore.com>

* errout.adb (Error_Msg): Don't suppress continuation msgs for
run-time files.
* sem_prag.adb (Analyze_Pragma, case Elaborate): Forbid pragma
Elaborate in SPARK mode.

2014-11-20  Yannick Moy  <moy@adacore.com>

* gnat_rm.texi: Update GNAT RM with rule about expressions in
Update attribute.

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

9 years ago2014-11-20 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 20 Nov 2014 14:37:41 +0000 (14:37 +0000)]
2014-11-20  Thomas Quinot  <quinot@adacore.com>

* g-socket.adb (To_Host_Entry): Guard against case of a
non-AF_INET entry.

2014-11-20  Vadim Godunko  <godunko@adacore.com>

* a-strunb-shared.adb (To_Unbounded_String): Use shared empty
object to construct return value when source string is empty or
requested length is zero.
* a-stwiun-shared.adb (To_Unbounded_Wide_String): Likewise.
* a-stzunb-shared.adb (To_Unbounded_Wide_Wide_String): Likewise.

2014-11-20  Yannick Moy  <moy@adacore.com>

* a-cfhase.adb, a-cfinve.adb, a-cforma.adb, a-cfhama.adb, a-cforse.adb,
a-cofove.adb: Skip CodePeer analysis on body of all formal containers.

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

* adaint.c: Fix typo.
* exp_util.adb (Make_Subtype_From_Expr): Complete previous change,
generate constant values.
* sem_eval.adb (Decompose_Expr): Fix latent bug leading to a wrong
evaluation to '0' of some unknown values.

2014-11-20  Robert Dewar  <dewar@adacore.com>

* repinfo.adb (List_Record_Info): Do not list discriminant in
unchecked union.
* sem_ch13.adb (Has_Good_Profile): Minor reformatting
(Analyze_Stream_TSS_Definition): Minor reformatting
(Analyze_Record_Representation_Clause): Do not issue warning
for missing rep clause for discriminant in unchecked union.

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

9 years ago2014-11-20 Vadim Godunko <godunko@adacore.com>
charlet [Thu, 20 Nov 2014 14:32:50 +0000 (14:32 +0000)]
2014-11-20  Vadim Godunko  <godunko@adacore.com>

* a-strunb-shared.adb, a-stwiun-shared.adb, a-stzunb-shared.adb
("&") Use already computed value of data length to call allocation
subprogram.

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

9 years ago2014-11-20 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 20 Nov 2014 14:31:35 +0000 (14:31 +0000)]
2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Expand_Call, Inlined_Subprogram): Do not suppress
debugging information for a call to a predefined unit, if the
call comes from source and the unit is in the Ada hierarchy.

2014-11-20  Bob Duff  <duff@adacore.com>

* s-mudido.ads: Update signature of Create and Get_Last_CPU. Add
CPU_Set, another Create, and Get_CPU_Set.
* s-mudido.adb: Corresponding changes to the spec. New
operations just raise an exception.  Also minor cleanup: use
raise_expressions.
* s-mudido-affinity.adb: Implementations of new operations from
* s-mudido.ads, for the platforms that actually support processor
affinity. The new Create (which takes a set) now does all the
work; the old Create (which takes a range) now just calls the
new one. Change error messages to reflect the fact that it's an
arbitrary set, not just a range.

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

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 14:29:05 +0000 (14:29 +0000)]
2014-11-20  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb: Minor reformatting.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_util.adb (Make_Subtype_From_Expr): Capture the bounds of
all index constracts when the expression is of an array type.

2014-11-20  Bob Duff  <duff@adacore.com>

* s-taskin.ads: Minor comment improvements.

2014-11-20  Bob Duff  <duff@adacore.com>

* exp_ch9.adb: Minor comment fixes.
* s-taskin.adb (Initialize): Small simplification: pass System_Domain
to Initialize_ATCB instead of passing null and then setting the Domain
to System_Domain. This requires moving the creation of System_Domain
earlier.
* s-taprop-linux.adb (Set_Task_Affinity): Only call CPU_SET for
processors that have a True in the Domain. This is necessary if the
Domain is not all-True values.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Has_Good_Profile): a) An stream attribute
for the class-wide type of an interface type is not a primitive
operation and is not subject to the restrictions of 13.13. (38/3).
b) A stream operation for an interface type must be a null
procedure, and it cannot be a function.

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

9 years ago2014-11-20 Bob Duff <duff@adacore.com>
charlet [Thu, 20 Nov 2014 14:26:10 +0000 (14:26 +0000)]
2014-11-20  Bob Duff  <duff@adacore.com>

* exp_attr.adb (Attribute_Max_Size_In_Storage_Elements):
Eliminate 'Class references from the tree, because gigi crashes on
'Class. Also, don't check Nkind (Attr) -- it is known to be
N_Attribute_Reference. Assert that instead.

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

9 years ago2014-11-20 Bob Duff <duff@adacore.com>
charlet [Thu, 20 Nov 2014 14:24:21 +0000 (14:24 +0000)]
2014-11-20  Bob Duff  <duff@adacore.com>

* debug.adb: Minor comment fix.

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

* a-ciorma.adb: Minor update: move pragma Annotate up.
* a-cfdlli.adb: Skip codepeer analysis on this body.

2014-11-20  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
Allow use of this pragma with generic unit (package or subprogram).
* gnat_rm.texi: Clarify that pragma No_Elaboration_Code_All can
be applied to generics.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Valid_Limited_Ancestor): Ancestor part of
extension aggregate can itself be an extension aggregate, as
well as a call that is rewritten as a reference.

2014-11-20  Eric Botcazou  <ebotcazou@adacore.com>

* inline.adb (Add_Inlined_Subprogram): Insert all programs
generated as a body or whose declaration was provided along with
the body.

2014-11-20  Javier Miranda  <miranda@adacore.com>

* sem.adb (Semantics): Disable expansion if we are compiling a
separate unit under configurable runtime. By default separate
units are compiled with expansion disabled but under configurable
runtime we enable the expansion to get error messages about
missing entities.

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

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 14:17:04 +0000 (14:17 +0000)]
2014-11-20  Robert Dewar  <dewar@adacore.com>

* sem_ch13.adb: Minor reformatting.
* exp_util.adb (Following_Address_Clause): Handle case of
package private part.

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

* a-cdlili.adb, a-cihama.adb, a-coinve.adb, a-cusyqu.adb, a-ciorse.adb,
a-coorma.adb, a-cborma.adb, a-cidlli.adb, a-cimutr.adb, a-ciormu.adb,
a-cbprqu.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb, a-coboho.adb,
a-cuprqu.adb, a-cbhama.adb, a-rbtgbo.adb, a-cborse.adb, a-comutr.adb,
a-ciorma.adb, a-cobove.adb, a-coormu.adb, a-convec.adb, a-cohase.adb,
a-coinho.adb, a-coinho-shared.adb, a-cbdlli.adb, a-cbsyqu.adb,
a-cbmutr.adb, a-cbhase.adb: Add pragma Annotate to prevent codepeer
from analyzing these bodies.

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