Zhenqiang Chen [Mon, 22 Sep 2014 02:54:45 +0000 (02:54 +0000)]
arm.c: #include "tm-constrs.h"
2014-09-22 Zhenqiang Chen <zhenqiang.chen@arm.com>
* config/arm/arm.c: #include "tm-constrs.h"
(thumb1_size_rtx_costs): Adjust rtx costs.
From-SVN: r215444
Hans-Peter Nilsson [Mon, 22 Sep 2014 00:49:01 +0000 (00:49 +0000)]
crtstuff.c (USE_EH_FRAME_REGISTRY): Let USE_EH_FRAME_REGISTRY_ALWAYS override USE_PT_GNU_EH_FRAME.
* crtstuff.c (USE_EH_FRAME_REGISTRY): Let USE_EH_FRAME_REGISTRY_ALWAYS
override USE_PT_GNU_EH_FRAME.
[__LIBGCC_EH_FRAME_SECTION_NAME__ && !USE_PT_GNU_EH_FRAME]: Sanity-
check USE_EH_FRAME_REGISTRY_ALWAYS against
__LIBGCC_EH_FRAME_SECTION_NAME__, emit error if unsane.
* Makefile.in (FORCE_EXPLICIT_EH_REGISTRY): New
variable for substituted force_explicit_eh_registry.
(CRTSTUFF_CFLAGS): Add FORCE_EXPLICIT_EH_REGISTRY.
* configure.ac (explicit-exception-frame-registration):
New AC_ARG_ENABLE.
* configure: Regenerate.
From-SVN: r215443
GCC Administrator [Mon, 22 Sep 2014 00:17:07 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r215442
Hans-Peter Nilsson [Sun, 21 Sep 2014 23:38:05 +0000 (23:38 +0000)]
configure.ac (target_header_dir): Move block defining this to before the block setting inhibit_libc.
* configure.ac (target_header_dir): Move block defining
this to before the block setting inhibit_libc.
(inhibit_libc): When considering $with_headers, just
check it it's explicitly "no". If not, also check if
$target_header_dir/stdio.h is present. If not, set
inhibit_libc=true.
* configure: Regenerate.
From-SVN: r215439
Patrick Oppenlander [Sun, 21 Sep 2014 22:29:00 +0000 (22:29 +0000)]
* config/rs6000/t-spe (MULTILIB_EXCEPTIONS): Allow isel without SPE.
From-SVN: r215438
Segher Boessenkool [Sun, 21 Sep 2014 18:04:53 +0000 (20:04 +0200)]
rs6000.md (div<mode>3): Fix comment.
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (div<mode>3): Fix comment. Use a different
insn for divides by integer powers of two.
(div<mode>3_sra, *div<mode>3_sra_dot, *div<mode>3_sra_dot2): New.
(mod<mode>3): Fix formatting.
(three anonymous define_insn and two define_split): Delete.
From-SVN: r215437
Segher Boessenkool [Sun, 21 Sep 2014 18:03:52 +0000 (20:03 +0200)]
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (ashr<mode>3, *ashr<mode>3, *ashrsi3_64,
*ashr<mode>3_dot, *ashr<mode>3_dot2): Clobber CA_REGNO.
(floatdisf2_internal2): Ditto.
(ashrdi3_no_power): Ditto. Fix formatting.
From-SVN: r215436
Segher Boessenkool [Sun, 21 Sep 2014 18:02:54 +0000 (20:02 +0200)]
rs6000.md (ctz<mode>2, [...]): Tidy.
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
popcntb<mode>2, popcntd<mode>2, parity<mode>2, parity<mode>2_cmpb):
Tidy.
From-SVN: r215435
Segher Boessenkool [Sun, 21 Sep 2014 18:01:59 +0000 (20:01 +0200)]
rs6000.md (strlensi): Don't use subsi3 with a constant, use addsi3 directly.
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (strlensi): Don't use subsi3 with a
constant, use addsi3 directly.
(three anonymous define_insn, two define_split): Delete.
(sub<mode>3): Move. Do not allow constant second operand.
Generate different insn for constant first operand.
(*subf<mode>3, *subf<mode>3_dot, *subf<mode>3_dot2): New.
(subf<mode>3_imm): New.
(ctz<mode>2, ffs<mode>2): Clobber CA_REGNO where required.
(*plus_ltu<mode>): Only handle registers.
(*plus_ltu<mode>_1): New. Handle integer third operand.
(*plus_gtu<mode>): Only handle registers.
(*plus_gtu<mode>_1): New. Handle integer third operand.
From-SVN: r215434
Segher Boessenkool [Sun, 21 Sep 2014 18:01:01 +0000 (20:01 +0200)]
rs6000.md (iorxor): New code_iterator.
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (iorxor): New code_iterator.
(iorxor): New code_attr.
(IORXOR): New code_attr.
(*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): Delete.
(ior<mode>3, xor<mode>3): Delete.
(<iorxor><mode>3): New.
(splitter for "big" integer ior, xor): New.
(*bool<mode>3): Move. Also handle AND.
(*bool<mode>3_dot, *bool<mode>3_dot2): Also handle AND.
(splitter for "big" integer ior, xor): Delete.
From-SVN: r215433
Segher Boessenkool [Sun, 21 Sep 2014 17:59:40 +0000 (19:59 +0200)]
rs6000.md (*neg<mode>2_internal): Delete.
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (*neg<mode>2_internal): Delete.
(two anonymous define_insn and two define_split): Delete.
(*neg<mode>2, *neg<mode>2_dot, *neg<mode>2_dot2): New.
From-SVN: r215432
Segher Boessenkool [Sun, 21 Sep 2014 17:58:41 +0000 (19:58 +0200)]
rs6000.md (*one_cmpl<mode>2): Generate "not" insn.
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (*one_cmpl<mode>2): Generate "not" insn.
(two anonymous define_insn and two define_split): Delete.
(*one_cmpl<mode>2_dot, *one_cmpl<mode>2_dot2): New.
From-SVN: r215431
Segher Boessenkool [Sun, 21 Sep 2014 17:57:28 +0000 (19:57 +0200)]
rs6000.c (rs6000_rtx_costs): New.
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.c (rs6000_rtx_costs) <NE>: New.
From-SVN: r215430
Segher Boessenkool [Sun, 21 Sep 2014 17:56:25 +0000 (19:56 +0200)]
predicates.md (ca_operand): Allow subregs.
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/predicates.md (ca_operand): Allow subregs.
(input_operand): Do not allow ca_operand.
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): For the
carry bit, allow SImode and Pmode.
(rs6000_init_hard_regno_mode_ok): Make the carry bit class NO_REGS.
From-SVN: r215429
Uros Bizjak [Sun, 21 Sep 2014 15:13:14 +0000 (17:13 +0200)]
i386.c (ix86_expand_call): Generate MS->SYSV extra clobbered registers using clobber_reg.
* config/i386/i386.c (ix86_expand_call): Generate MS->SYSV extra
clobbered registers using clobber_reg. Remove UNSPEC decoration.
* config/i386/i386.md (unspec) <UNSPEC_MS_TO_SYSV_CALL>: Remove.
(*call_rex64_ms_sysv): Remove.
(*call_value_rex64_ms_sysv): Ditto.
* config/i386/predicates.md (call_rex64_ms_sysv_operation): Remove.
testsuite/ChangeLog:
* gcc.target/i386/avx-vzeroupper-16.c (dg-final): Remove check
for call_value_rex64_ms_sysv.
* gcc.target/i386/avx-vzeroupper-17.c (dg-final): Ditto.
* gcc.target/i386/avx-vzeroupper-18.c (dg-final): Remove check
for call_rex64_ms_sysv.
From-SVN: r215428
Jason Merrill [Sun, 21 Sep 2014 02:42:40 +0000 (22:42 -0400)]
re PR c++/62017 (AddressSanitizer reports *-buffer-overflow in destructor when multiple virtual inheritance is used)
PR c++/62017
* decl.c (begin_destructor_body): Only clobber the as-base part of
*this.
From-SVN: r215427
GCC Administrator [Sun, 21 Sep 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215426
Ian Lance Taylor [Sat, 20 Sep 2014 20:42:59 +0000 (20:42 +0000)]
runtime: Restore copyright notice accidentally removed from mgc0.c.
From-SVN: r215423
Joern Rennecke [Sat, 20 Sep 2014 19:37:10 +0000 (19:37 +0000)]
epiphany.md (sub_f_add_imm): Change constraint of operand 3 to "CnL".
* config/epiphany/epiphany.md (sub_f_add_imm): Change constraint of
operand 3 to "CnL".
From-SVN: r215422
Alessandro Fanfarillo [Sat, 20 Sep 2014 14:14:08 +0000 (08:14 -0600)]
trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with generating temporary for value argument.
2014-09-20 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
Tobias Burnus <burnus@net-b.de>
gcc/fortran
* trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with
generating temporary for value argument.
gcc/testsuite/
* gfortran.dg/coarray_atomic_5.f90: New
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r215421
Joost VandeVondele [Sat, 20 Sep 2014 11:48:00 +0000 (11:48 +0000)]
trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
2014-09-20 Joost VandeVondele <vondele@gcc.gnu.org>
* trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
(gfc_conv_class_to_class): Likewise.
(gfc_conv_procedure_call): Likewise.
(arrayfunc_assign_needs_temporary): Likewise.
(realloc_lhs_loop_for_fcn_call): Likewise.
(gfc_trans_assignment_1): Likewise.
* trans-array.c (gfc_conv_array_ref): Likewise.
(gfc_array_allocate): Likewise.
(gfc_alloc_allocatable_for_assignment): Likewise.
* symbol.c (generate_isocbinding_symbol): Likewise.
* class.c (finalization_scalarizer): Likewise.
(finalizer_insert_packed_call): Likewise.
(generate_finalization_wrapper): Likewise.
(find_intrinsic_vtab): Likewise.
* decl.c (gfc_match_import): Likewise.
(match_procedure_decl): Likewise.
(gfc_match_subroutine): Likewise.
(gfc_match_bind_c): Likewise.
(gfc_match_volatile): Likewise.
* trans-common.c (create_common): Likewise.
* error.c (gfc_diagnostic_starter): Likewise.
* trans-stmt.c (gfc_trans_sync): Likewise.
(gfc_trans_critical): Likewise.
(gfc_trans_simple_do): Likewise.
(gfc_trans_do): Likewise.
(gfc_trans_where_assign): Likewise.
* expr.c (gfc_is_simply_contiguous): Likewise.
* module.c (unquote_string): Likewise.
* trans.c (gfc_add_finalizer_call): Likewise.
* trans-types.c (gfc_init_kinds): Likewise.
* scanner.c (preprocessor_line): Likewise.
* gfortranspec.c (lang_specific_driver): Likewise.
* frontend-passes.c (create_var): Likewise.
(cfe_expr_0): Likewise.
* resolve.c (check_host_association): Likewise.
(gfc_resolve_code): Likewise.
(resolve_fl_derived0): Likewise.
(resolve_symbol): Likewise.
* f95-lang.c (poplevel): Likewise.
* trans-decl.c (create_main_function): Likewise.
* trans-io.c (transfer_expr): Likewise.
* arith.c (gfc_arith_divide): Likewise.
* parse.c (resolve_all_program_units): Likewise.
* check.c (gfc_check_rank): Likewise.
(gfc_check_sizeof): Likewise.
(is_c_interoperable): Likewise.
* dependency.c (gfc_dep_difference): Likewise.
* primary.c (gfc_match_rvalue): Likewise.
* trans-intrinsic.c (conv_intrinsic_system_clock): Likewise.
(conv_isocbinding_subroutine): Likewise.
* options.c (gfc_post_options): Likewise.
(gfc_handle_fpe_option): Likewise.
(gfc_get_option_string): Likewise.
* simplify.c (simplify_transformation_to_scalar): Likewise.
(gfc_simplify_spread): Likewise.
From-SVN: r215420
Andreas Schwab [Sat, 20 Sep 2014 06:52:45 +0000 (06:52 +0000)]
ia64.md: Remove constraints from define_split patterns.
* config/ia64/ia64.md: Remove constraints from define_split
patterns.
From-SVN: r215419
Jan Hubicka [Sat, 20 Sep 2014 06:22:58 +0000 (08:22 +0200)]
ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
* ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
(possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets,
possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify.
(get_dynamic_type): Remove.
* ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove.
(clear_speculation): Bring to ipa-deivrt.h
(get_class_context): Rename to ...
(ipa_polymorphic_call_context::restrict_to_inner_class): ... this one.
(contains_type_p): Update.
(get_dynamic_type): Rename to ...
ipa_polymorphic_call_context::get_dynamic_type(): ... this one.
(possible_polymorphic_call_targets): UPdate.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update.
* ipa-prop.c (ipa_analyze_call_uses): Update.
From-SVN: r215418
Jan Hubicka [Sat, 20 Sep 2014 03:11:04 +0000 (05:11 +0200)]
ipa-visibility.c (varpool_node::externally_visible_p): Do not privatize dynamic TLS variables.
* ipa-visibility.c (varpool_node::externally_visible_p): Do not
privatize dynamic TLS variables.
From-SVN: r215417
Jan Hubicka [Sat, 20 Sep 2014 03:06:26 +0000 (05:06 +0200)]
diagnostic.c (warning_n): New function.
* diagnostic.c (warning_n): New function.
* diagnostic-core.h (warning_n): Declare.
* ipa-devirt.c (ipa_devirt): Handle singulars correctly;
output dynamic counts when available.
From-SVN: r215416
Jan Hubicka [Sat, 20 Sep 2014 02:58:42 +0000 (04:58 +0200)]
re PR tree-optimization/63255 (FAIL: gcc.dg/lto/ipareference2 c_lto_ipareference2_0.o-c_lto_ipareference2_1.o execute -O1 -flto -flto-partition=1to1 -fwhole-program)
PR tree-optimization/63255
* ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering
issue in setting body_removed flag.
From-SVN: r215415
Jason Merrill [Sat, 20 Sep 2014 00:55:14 +0000 (20:55 -0400)]
re PR c++/61392 (internal compiler error: in write_template_arg_literal, at cp/mangle.c:3072)
PR c++/61392
* mangle.c (write_expression): Use unresolved-name mangling for
DR850 case.
From-SVN: r215414
Jason Merrill [Sat, 20 Sep 2014 00:54:55 +0000 (20:54 -0400)]
re PR c++/61465 (Bogus parameter set but not used warning in constructor initialization list)
PR c++/61465
* call.c (convert_like_real) [ck_identity]: Call mark_rvalue_use
after pulling out an element from a CONSTRUCTOR.
From-SVN: r215413
GCC Administrator [Sat, 20 Sep 2014 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215412
Jan Hubicka [Fri, 19 Sep 2014 23:56:52 +0000 (01:56 +0200)]
re PR c++/61825 (g++.dg/cpp0x/static_assert9.C FAILs)
PR c++/61825
* c-family/c-common.c (handle_alias_ifunc_attribute): Check
that visibility change is possible
(handle_weakref_attribute): Likewise.
* cgraph.h (symtab_node): Add method get_create and
field refuse_visibility_changes.
(symtab_node::get_create): New method.
* fold-const.c (tree_single_nonzero_warnv_p): Use get_create.
* varasm.c (mark_weak): Verify that visibility change is
possible.
* gcc.dg/tree-ssa/nonzero-1.c: Require error to be output.
From-SVN: r215409
Michael Meissner [Fri, 19 Sep 2014 19:36:57 +0000 (19:36 +0000)]
predicates.md (fusion_gpr_mem_load): Move testing for base_reg_operand to be common between LO_SUM and PLUS.
2014-09-19 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/predicates.md (fusion_gpr_mem_load): Move testing
for base_reg_operand to be common between LO_SUM and PLUS.
(fusion_gpr_mem_combo): New predicate to match a fused address
that combines the addis and memory offset address.
* config/rs6000/rs6000-protos.h (fusion_gpr_load_p): Change
calling signature.
(emit_fusion_gpr_load): Likewise.
* config/rs6000/rs6000.c (fusion_gpr_load_p): Change calling
signature to pass each argument separately, rather than
using an operands array. Rewrite the insns found by peephole2 to
be a single insn, rather than hoping the insns will still be
together when the peephole pass is done. Drop being called via a
normal peephole.
(emit_fusion_gpr_load): Change calling signature to be called from
the fusion_gpr_load_<mode> insns with a combined memory address
instead of the peephole pass passing the addis and offset
separately.
* config/rs6000/rs6000.md (UNSPEC_FUSION_GPR): New unspec for GPR
fusion.
(power8 fusion peephole): Drop support for doing power8 via a
normal peephole that was created by the peephole2 pass.
(power8 fusion peephole2): Create a new insn with the fused
address, so that the fused operation is kept together after
register allocation is done.
(fusion_gpr_load_<mode>): Likewise.
From-SVN: r215404
Jan Hubicka [Fri, 19 Sep 2014 18:54:23 +0000 (20:54 +0200)]
re PR lto/63286 (FAIL: g++.dg/lto/
20101014-2 cp_lto_20101014-2_0.o assemble, * after r215196)
PR lto/63286
* tree.c (need_assembler_name_p): Do not mangle variadic types.
From-SVN: r215403
Ian Lance Taylor [Fri, 19 Sep 2014 18:53:50 +0000 (18:53 +0000)]
compiler: Pass constant arguments directly to thunk functions.
From-SVN: r215402
Andi Kleen [Fri, 19 Sep 2014 17:09:10 +0000 (17:09 +0000)]
Fix mcount test cases to only run on supported targets
* gcc.dg/pg-override.c: Only run on x86 Linux.
* gcc.dg/pg.c: Dito.
* gcc.target/i386/fentry-override.c: Exclude for PIC.
* gcc.target/i386/fentry.c: Dito.
From-SVN: r215401
Segher Boessenkool [Fri, 19 Sep 2014 16:57:04 +0000 (18:57 +0200)]
dg-extract-results.py (Prog.result_re): Include options in test name.
2014-09-19 Segher Boessenkool <segher@kernel.crashing.org>
* dg-extract-results.py (Prog.result_re): Include options in test name.
From-SVN: r215400
Segher Boessenkool [Fri, 19 Sep 2014 16:42:26 +0000 (18:42 +0200)]
recog.c (scratch_operand): Do not simply allow all hard registers: only allow those that are allocatable.
2014-09-19 Segher Boessenkool <segher@kernel.crashing.org>
* recog.c (scratch_operand): Do not simply allow all hard registers:
only allow those that are allocatable.
From-SVN: r215399
Felix Yang [Fri, 19 Sep 2014 16:28:42 +0000 (16:28 +0000)]
cfgrtl.c [...]: Update comments and fix spacing to conform to coding style.
* cfgrtl.c ira.c ira-color.c ira-conflicts ira-lives.c: Update
comments and fix spacing to conform to coding style.
From-SVN: r215398
James Greenhalgh [Fri, 19 Sep 2014 16:23:44 +0000 (16:23 +0000)]
Re: [Patch] Teach genrecog/genoutput that scratch registers require write constraint modifiers
gcc/
* genrecog.c (validate_pattern): Allow empty constraints in
a match_scratch.
From-SVN: r215397
Aldy Hernandez [Fri, 19 Sep 2014 16:02:21 +0000 (16:02 +0000)]
dwarf2out.c (decl_ultimate_origin): Update comment.
* dwarf2out.c (decl_ultimate_origin): Update comment.
* tree.c (block_ultimate_origin): Same.
From-SVN: r215396
Ulrich Weigand [Fri, 19 Sep 2014 15:49:21 +0000 (15:49 +0000)]
rs6000.c (rs6000_special_adjust_field_align_p): Update GCC version name to GCC 5.
* config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
Update GCC version name to GCC 5.
(rs6000_function_arg_boundary): Likewise.
(rs6000_function_arg): Likewise.
From-SVN: r215395
Ian Lance Taylor [Fri, 19 Sep 2014 15:24:56 +0000 (15:24 +0000)]
simple-object-elf.c (simple_object_elf_write_ehdr): Correctly handle objects with more than SHN_LORESERVE sections.
* simple-object-elf.c (simple_object_elf_write_ehdr): Correctly
handle objects with more than SHN_LORESERVE sections.
(simple_object_elf_write_shdr): Add sh_link parameter.
(simple_object_elf_write_to_file): Correctly handle objects with
more than SHN_LORESERVE sections.
From-SVN: r215394
James Greenhalgh [Fri, 19 Sep 2014 14:51:57 +0000 (14:51 +0000)]
[Patch sh] Fixup use of constraints in define_split
* config/sh/sh.md: Fix use of constraints in define_split.
From-SVN: r215393
Markus Trippelsdorf [Fri, 19 Sep 2014 14:44:09 +0000 (14:44 +0000)]
PR ipa/61998 Fix crash -Wsuggest-final-types crash
-Wsuggest-final-types crashes when used on mininal testcases.
Fix by bailing out early when odr_types_ptr is NULL in ipa_devirt()
2014-09-19 Markus Trippelsdorf <markus@trippelsdorf.de>
PR ipa/61998
* ipa-devirt.c (ipa_devirt): Bail out if odr_types_ptr is NULL.
2014-09-19 Markus Trippelsdorf <markus@trippelsdorf.de>
PR ipa/61998
* g++.dg/warn/Wsuggest-final-2.C: New testcase.
From-SVN: r215392
James Greenhalgh [Fri, 19 Sep 2014 10:37:40 +0000 (10:37 +0000)]
[Patch] Teach genrecog/genoutput that scratch registers require write constraint modifiers
gcc/
* doc/md.texi (Modifiers): Consistently use "read/write"
nomenclature rather than "input/output".
* genrecog.c (constraints_supported_in_insn_p): New.
(validate_pattern): If needed, also check constraints on
MATCH_SCRATCH operands.
* genoutput.c (validate_insn_alternatives): Catch earlyclobber
operands with no '=' or '+' modifier.
From-SVN: r215388
Joost VandeVondele [Fri, 19 Sep 2014 10:28:00 +0000 (10:28 +0000)]
re PR fortran/63152 (needless initialization of local pointer arrays.)
2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org>
PR fortran/63152
* trans-array.c (gfc_trans_deferred_array): Only nullify allocatables.
2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org>
PR fortran/63152
* gfortran.dg/auto_char_dummy_array_1.f90: Fix undefined behavior.
* gfortran.dg/pr63152.f90: New test.
From-SVN: r215387
Paolo Carlini [Fri, 19 Sep 2014 09:34:14 +0000 (09:34 +0000)]
re PR c++/58328 ([C++11] bogus: error: constructor required before non-static data member for)
2014-09-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58328
* g++.dg/cpp0x/nsdmi10.C: New.
From-SVN: r215386
James Greenhalgh [Fri, 19 Sep 2014 09:31:01 +0000 (09:31 +0000)]
[PATCH AArch64]: Add constraint letter for stack_protect_test pattern
gcc/
* config/aarch64/aarch64.md (stack_protect_test_<mode>): Mark
scratch register as an output to placate register renaming.
gcc/testsuite/
* gcc.dg/ssp-3.c: New.
* gcc.dg/ssp-4.c: Likewise.
From-SVN: r215385
Andreas Krebbel [Fri, 19 Sep 2014 09:23:08 +0000 (09:23 +0000)]
s390.c (s390_emit_epilogue): Remove bogus assignment.
2014-09-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_emit_epilogue): Remove bogus
assignment.
From-SVN: r215384
Andreas Krebbel [Fri, 19 Sep 2014 09:17:00 +0000 (09:17 +0000)]
s390.md ("trunctdsd2", [...]): New expanders.
2014-09-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md ("trunctdsd2", "extendsdtd2"): New
expanders.
2014-09-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/dfp-conv1.c: New testcase.
From-SVN: r215382
Andreas Krebbel [Fri, 19 Sep 2014 09:14:59 +0000 (09:14 +0000)]
re PR target/62662 (Miscompilation of Qt on s390x)
2014-09-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
PR target/62662
* config/s390/s390.c (s390_emit_epilogue): When doing the return
address load optimization force s390_optimize_prologue to leave it
that way. Only do the optimization if we already decided to push
r14 into a stack slot.
From-SVN: r215381
Marat Zakirov [Fri, 19 Sep 2014 08:29:04 +0000 (08:29 +0000)]
asan.c (build_check_stmt): Alignment arg was added.
gcc/ChangeLog:
2014-09-19 Marat Zakirov <m.zakirov@samsung.com>
* asan.c (build_check_stmt): Alignment arg was added.
(asan_expand_check_ifn): Optimization for alignment >= 8.
gcc/testsuite/ChangeLog:
2014-09-19 Marat Zakirov <m.zakirov@samsung.com>
* c-c++-common/asan/red-align-1.c: New test.
* c-c++-common/asan/red-align-2.c: New test.
From-SVN: r215380
Olivier Hainque [Fri, 19 Sep 2014 08:19:04 +0000 (08:19 +0000)]
vxworksae.h: Remove obsolete definitions.
2014-09-19 Olivier Hainque <hainque@adacore.com>
* config/i386/vxworksae.h: Remove obsolete definitions.
(STACK_CHECK_PROTECT): Define.
* config/i386/vx-common.h: Remove. Merge contents within
config/i386/vxworks.h.
* config.gcc (i?86-vxworks*): Use i386/vxworks.h instead of
i386/vx-common.h.
From-SVN: r215378
Olivier Hainque [Fri, 19 Sep 2014 08:11:55 +0000 (08:11 +0000)]
config.gcc (powerpc-wrs-vxworksmils): New configuration.
2014-09-18 Olivier Hainque <hainque@adacore.com>
gcc/
* config.gcc (powerpc-wrs-vxworksmils): New configuration.
* config/rs6000/t-vxworksmils: New file.
* config/rs6000/vxworksmils.h: New file.
libgcc/
* config.host (powerpc-wrs-vxworksmils): New configuration,
same as vxworksae.
contrib/
* config-list.mk (LIST): Add powerpc-wrs-vxworksmils.
From-SVN: r215377
Olivier Hainque [Fri, 19 Sep 2014 08:02:44 +0000 (08:02 +0000)]
varasm.c (default_section_type_flags): Flag .persistent.bss sections as SECTION_BSS.
2014-09-19 Olivier Hainque <hainque@adacore.com>
* varasm.c (default_section_type_flags): Flag .persistent.bss
sections as SECTION_BSS.
From-SVN: r215376
Nick Clifton [Fri, 19 Sep 2014 07:45:22 +0000 (07:45 +0000)]
rl78.c (rl78_expand_epilogue): Generate a USE of the pop'ed registers so that DCE does not eliminate them.
* config/rl78/rl78.c (rl78_expand_epilogue): Generate a USE of the
pop'ed registers so that DCE does not eliminate them.
From-SVN: r215375
Jan Hubicka [Fri, 19 Sep 2014 02:04:20 +0000 (04:04 +0200)]
re PR ipa/63298 (internal compiler error: in types_same_for_odr, at ipa-devirt.c:449 with LTO)
PR lto/63298
* ipa-devirt.c (odr_subtypes_equivalent_p): Fix thinko in a condition.
From-SVN: r215374
GCC Administrator [Fri, 19 Sep 2014 00:16:48 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215373
H.J. Lu [Thu, 18 Sep 2014 23:45:21 +0000 (23:45 +0000)]
Update gcc.dg/pr61053.c for x32
* gcc.dg/pr61053.c: Updated for x32.
From-SVN: r215369
Joseph Myers [Thu, 18 Sep 2014 23:27:26 +0000 (00:27 +0100)]
Remove LIBGCC2_TF_CEXT target macro.
This patch removes the (undocumented) LIBGCC2_TF_CEXT target macro,
replacing it by -fbuilding-libgcc predefines (and thereby gets rid of
another LIBGCC2_LONG_DOUBLE_TYPE_SIZE conditional, though some more
patches are needed before that target macro can be eliminated). This
macro indicated the suffix used on __builtin_huge_val,
__builtin_copysign, __builtin_fabs built-in function names to produce
the names for a given floating-point mode.
Predefines are added for all floating-point modes supported for
libgcc, not just TFmode. These are fully accurate for modes
corresponding to float, double and long double. For other modes, the
suffix for *constants* is determined by the targetm.c.mode_for_suffix
hook (the limit to two possible suffixes 'w' and 'q' being hardcoded
in various places). This is in fact the suffix for built-in functions
as well where such functions exist.
* For i386, the *q functions always exist (whether or not TFmode is
used for long double). The *w functions never exist (but this
doesn't matter for libgcc, since no i386 configuration treats XFmode
as a supported scalar mode if long double is TFmode; if __float80
were to be supported for 64-bit Android, properly such functions
ought to be added).
* For ia64, the *q functions exist for non-HP-UX (under HP-UX, long
double is TFmode, so they aren't needed). The *w functions never
exist. This is an issue for this libgcc code for the XFmode complex
functions in libgcc on HP-UX; as I understand it, right now those
will accidentally be using TFmode versions of those three functions,
so involving unnecessary conversions, while the sanity check on CEXT
accidentally passes because all it tests is the sizes of the types.
Because of the lack of 'w' functions, the patch uses 'l' when the
constant suffix is 'w', matching what the existing libgcc code would
do for IA64 HP-UX in that case.
Ideally there would be generic code to create such built-in functions
for all supported floating-point types. That may be something to
consider if support for TS 18661-3 (standard bindings for IEEE
754-2008, defining names such as _Float128, and function names such as
copysignf128) is added in future.
Bootstrapped with no regressions on x86_64-unknown-linux-gnu.
gcc:
* system.h (LIBGCC2_TF_CEXT): Poison.
* config/i386/cygming.h (LIBGCC2_TF_CEXT): Remove.
* config/i386/darwin.h (LIBGCC2_TF_CEXT): Likewise.
* config/i386/dragonfly.h (LIBGCC2_TF_CEXT): Likewise.
* config/i386/freebsd.h (LIBGCC2_TF_CEXT): Likewise.
* config/i386/gnu-user-common.h (LIBGCC2_TF_CEXT): Likewise.
* config/i386/openbsdelf.h (LIBGCC2_TF_CEXT): Likewise.
* config/i386/sol2.h (LIBGCC2_TF_CEXT): Likewise.
* config/ia64/ia64.h (LIBGCC2_TF_CEXT): Likewise.
* config/ia64/linux.h (LIBGCC2_TF_CEXT): Likewise.
gcc/c-family:
* c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
for supported floating-point modes.
libgcc:
* libgcc2.c (CEXT): Define using __LIBGCC_*_FUNC_EXT__.
From-SVN: r215368
Kito Cheng [Thu, 18 Sep 2014 22:34:23 +0000 (22:34 +0000)]
Add header guard to several header files.
2014-09-19 Kito Cheng <kito@0xlab.org>
* except.h: Fix header guard.
* addresses.h: Add missing header guard.
* cfghooks.h: Likewise.
* collect-utils.h: Likewise.
* collect2-aix.h: Likewise.
* conditions.h: Likewise.
* cselib.h: Likewise.
* dwarf2asm.h: Likewise.
* graphds.h: Likewise.
* graphite-scop-detection.h: Likewise.
* gsyms.h: Likewise.
* hw-doloop.h: Likewise.
* incpath.h: Likewise.
* ipa-inline.h: Likewise.
* ipa-ref.h: Likewise.
* ira-int.h: Likewise.
* ira.h: Likewise.
* lra-int.h: Likewise.
* lra.h: Likewise.
* lto-section-names.h: Likewise.
* read-md.h: Likewise.
* reload.h: Likewise.
* rtl-error.h: Likewise.
* sdbout.h: Likewise.
* targhooks.h: Likewise.
* tree-affine.h: Likewise.
* xcoff.h: Likewise.
* xcoffout.h: Likewise.
From-SVN: r215365
Vladimir Makarov [Thu, 18 Sep 2014 19:14:19 +0000 (19:14 +0000)]
re PR debug/63285 (-fcompare-debug scheduler related failure)
2014-09-18 Vladimir Makarov <vmakarov@redhat.com>
PR debug/63285
* haifa-sched.c (schedule_block): Advance cycle at the end of BB
if advance != 0.
2014-09-18 Vladimir Makarov <vmakarov@redhat.com>
PR debug/63285
* gcc.target/i386/pr63285.c: New test.
From-SVN: r215364
Joel Sherrill [Thu, 18 Sep 2014 18:44:52 +0000 (18:44 +0000)]
config-list.mk (LIST): Add v850-rtems.
2014-09-18 Joel Sherrill <joel.sherrill@oarcorp.com>
* config-list.mk (LIST): Add v850-rtems.
From-SVN: r215362
Jakub Jelinek [Thu, 18 Sep 2014 16:43:28 +0000 (18:43 +0200)]
re PR c++/63248 (Crash when OpenMP target's array section handling is used with templates)
PR c++/63248
* semantics.c (finish_omp_clauses): Don't call cp_omp_mappable_type
on type of type dependent expressions, and don't call it if
handle_omp_array_sections has kept TREE_LIST because something
was type dependent.
* pt.c (tsubst_expr) <case OMP_TARGET, case OMP_TARGET_DATA>:
Use keep_next_level, begin_omp_structured_block and
finish_omp_structured_block instead of push_stmt_list and
pop_stmt_list.
libgomp/
* testsuite/libgomp.c++/pr63248.C: New test.
From-SVN: r215359
Vladimir Makarov [Thu, 18 Sep 2014 15:57:06 +0000 (15:57 +0000)]
re PR target/61360 (ICE: in lra_update_insn_recog_data, at lra.c:1363 with -mtune=bdver4)
2014-09-18 Vladimir Makarov <vmakarov@redhat.com>
PR target/61360
* lra.c (lra): Call recog_init.
2014-09-18 Vladimir Makarov <vmakarov@redhat.com>
PR target/61360
* gcc.target/i386/pr61360.c: New.
From-SVN: r215358
Sebastian Huber [Thu, 18 Sep 2014 15:26:32 +0000 (15:26 +0000)]
config-list.mk (LIST): Add arm-rtems.
2014-09-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config-list.mk (LIST): Add arm-rtems.
Add nios2-rtems. Remove extra option from powerpc-rtems.
From-SVN: r215357
Jakub Jelinek [Thu, 18 Sep 2014 14:08:28 +0000 (16:08 +0200)]
re PR c++/62017 (AddressSanitizer reports *-buffer-overflow in destructor when multiple virtual inheritance is used)
PR c++/62017
* asan.c (transform_statements): Don't instrument clobber statements.
* g++.dg/asan/pr62017.C: New test.
From-SVN: r215354
Jakub Jelinek [Thu, 18 Sep 2014 13:50:10 +0000 (15:50 +0200)]
re PR testsuite/63292 (ASan reports global-buffer-overflow in gcc.dg/vect/pr59594.c.)
PR testsuite/63292
* gcc.dg/vect/pr59594.c (b): Increase size to N + 2 elements.
From-SVN: r215352
Paolo Carlini [Thu, 18 Sep 2014 13:48:33 +0000 (13:48 +0000)]
re PR c++/62232 (-Wnon-virtual-dtor shouldn't warn on final classes)
/cp
2014-09-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/62232
* class.c (finish_struct_1): Do not -Wnon-virtual-dtor warn
for final class types.
/testsuite
2014-09-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/62232
* g++.dg/cpp0x/Wdtor1.C: New.
From-SVN: r215351
Jason Merrill [Thu, 18 Sep 2014 12:34:43 +0000 (08:34 -0400)]
dyncast.cc (__dynamic_cast): Handle mid-destruction dynamic_cast more gracefully.
* libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
dynamic_cast more gracefully.
From-SVN: r215350
Joseph Myers [Thu, 18 Sep 2014 12:00:21 +0000 (13:00 +0100)]
Fix i386 FP_TRAPPING_EXCEPTIONS.
The i386 sfp-machine.h defines FP_TRAPPING_EXCEPTIONS in a way that is
always wrong: it treats a set bit as indicating the exception is
trapping, when actually a set bit (both for 387 and SSE floating
point) indicates it is masked, and a clear bit indicates it is
trapping. This patch fixes this bug.
Bootstrapped with no regressions on x86_64-unknown-linux-gnu.
libgcc:
* config/i386/sfp-machine.h (FP_TRAPPING_EXCEPTIONS): Treat clear
bits not set bits as indicating trapping exceptions.
gcc/testsuite:
* gcc.dg/torture/float128-exact-underflow.c: New test.
From-SVN: r215347
Kyrylo Tkachov [Thu, 18 Sep 2014 10:06:05 +0000 (10:06 +0000)]
[ARM] Fix insn type of movmisalign neon load pattern.
* config/arm/neon.md (*movmisalign<mode>_neon_load): Change type
to neon_load1_1reg<q>.
From-SVN: r215346
Paolo Carlini [Thu, 18 Sep 2014 09:15:25 +0000 (09:15 +0000)]
re PR c++/61745 (template friend for dyadic operator- is only accepted if the monadic operator- follows it)
2014-09-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61745
* g++.dg/template/pr61745.C: New.
From-SVN: r215345
GCC Administrator [Thu, 18 Sep 2014 00:16:38 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215344
Janne Blomqvist [Wed, 17 Sep 2014 21:59:09 +0000 (00:59 +0300)]
Fix indentation
From-SVN: r215340
Marek Polacek [Wed, 17 Sep 2014 21:49:46 +0000 (21:49 +0000)]
re PR c/61854 (Warning single-line comment for -std=c89?)
PR c/61854
libcpp/
* init.c (struct lang_flags): Remove cplusplus_comments.
(cpp_set_lang): Likewise.
(post_options): Likewise.
* lex.c (_cpp_lex_direct): Disallow C++ style comments in C90/C94.
testsuite/
* gcc.dg/cpp/pr61854-1.c: New test.
* gcc.dg/cpp/pr61854-2.c: New test.
* gcc.dg/cpp/pr61854-3.c: New test.
* gcc.dg/cpp/pr61854-3.h: New test.
* gcc.dg/cpp/pr61854-4.c: New test.
* gcc.dg/cpp/pr61854-5.c: New test.
* gcc.dg/cpp/pr61854-6.c: New test.
* gcc.dg/cpp/pr61854-7.c: New test.
* gcc.dg/cpp/pr61854-c90.c: New test.
* gcc.dg/cpp/pr61854-c94.c: New test.
From-SVN: r215339
Janne Blomqvist [Wed, 17 Sep 2014 21:44:15 +0000 (00:44 +0300)]
PR libfortran/62768 Use gfc_unit.filename also when HAVE_TTYNAME{_R} is not defined.
2014-09-18 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/62768
* io/inquire.c (inquire_via_unit): Use gfc_unit.filename also when
HAVE_TTYNAME{_R} is not defined.
From-SVN: r215338
Nathan Sidwell [Wed, 17 Sep 2014 20:13:17 +0000 (20:13 +0000)]
Makefile.in (LIBGCOV_INTERFACE): Add _gcov_dump from ...
* Makefile.in (LIBGCOV_INTERFACE): Add _gcov_dump from ...
(LIBGCOV_DRIVER): ... here.
* libgcov-driver.c (gcov_master): New.
(gcov_exit): Remove from master chain.
(__gcov_init): Add to master chain if version compatible. Don't
clear the version.
* libgcov_interface (__gcov_flust): Call gcov_dump_int.
(gcov_reset_int): Clear master chain, if compatible.
(gcov_dump_int): New internal interface. Dump master chain, if
compatible.
(gcov_dump): Alias for gcov_dump_int.
* libgcov.h (struct gcov_root): Add next and prev fields.
(struct gcov_master): New struct.
(__gcov_master): New.
(gcov_dump_int): Declare.
From-SVN: r215337
Jakub Jelinek [Wed, 17 Sep 2014 19:05:49 +0000 (21:05 +0200)]
re PR debug/63284 (-fcompare-debug issue due to redirection to __builtin_unreachable ())
PR debug/63284
* tree-cfgcleanup.c (fixup_noreturn_call): Don't split block
if there are only debug stmts after the noreturn call, instead
remove the debug stmts.
* gcc.dg/pr63284.c: New test.
From-SVN: r215331
Jakub Jelinek [Wed, 17 Sep 2014 18:23:30 +0000 (20:23 +0200)]
* ada/acats/run_all.sh: Redirect mkdir stderr to /dev/null.
From-SVN: r215330
Jason Merrill [Wed, 17 Sep 2014 17:34:01 +0000 (13:34 -0400)]
Minor cleanup, don't run tests for which compilation is enough.
* g++.dg/g++.dg/cpp1y/var-templ1.C: Change return to
static_assert, compile instead of running.
* g++.dg/g++.dg/cpp1y/var-templ3.C: Likewise.
* g++.dg/g++.dg/cpp1y/var-templ4.C: Likewise.
* g++.dg/g++.dg/cpp1y/var-templ5.C: Likewise.
From-SVN: r215329
Jan Hubicka [Wed, 17 Sep 2014 16:15:29 +0000 (18:15 +0200)]
ipa-devirt.c (type_pair, [...]): New types.
* ipa-devirt.c (type_pair, default_hashset_traits): New types.
(odr_types_equivalent_p): Use pair hash.
(odr_subtypes_equivalent_p): Likewise, do structural compare
on ODR types that may be mismatched.
(warn_odr): Support warning when only one field is given.
(odr_types_equivalent_p): Strenghten comparsions made;
support VOIDtype.
(add_type_duplicate): Update VISITED hash set.
From-SVN: r215328
Paolo Carlini [Wed, 17 Sep 2014 14:30:18 +0000 (14:30 +0000)]
re PR c++/63241 (Internal error in gimplify_init_constructor when using constexr and multidimensional arrays)
2014-09-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/63241
* g++.dg/cpp0x/constexpr-63241.C: New.
From-SVN: r215326
Sebastian Huber [Wed, 17 Sep 2014 14:15:53 +0000 (14:15 +0000)]
config.gcc (*-*-rtems*): Default to 'rtems' thread model.
2014-09-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config.gcc (*-*-rtems*): Default to 'rtems' thread model.
Enable selection of 'posix' or no thread model.
From-SVN: r215324
Olivier Hainque [Wed, 17 Sep 2014 13:04:49 +0000 (13:04 +0000)]
config.host (x86_64-*-mingw*): Add i386/t-cygming to tmake_file and crtbegin.o + crtend.o to extra_parts.
2014-09-17 Olivier Hainque <hainque@adacore.com>
* config.host (x86_64-*-mingw*): Add i386/t-cygming to tmake_file
and crtbegin.o + crtend.o to extra_parts.
From-SVN: r215323
Andrew Stubbs [Wed, 17 Sep 2014 10:59:54 +0000 (10:59 +0000)]
Disallow -mfpu=neon for unsuitable architectures.
2014-09-17 Andrew Stubbs <ams@codesourcery.com>
* config/arm/arm.c (arm_option_override): Reject -mfpu=neon
when architecture is older than ARMv7.
From-SVN: r215321
GCC Administrator [Wed, 17 Sep 2014 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215313
John David Anglin [Tue, 16 Sep 2014 23:39:28 +0000 (23:39 +0000)]
re PR target/61853 (ICE: SIGSEGV in store_field)
PR target/61853
* config/pa/pa.c (pa_function_value): Directly handle aggregates
that fit exactly in a word or double word.
From-SVN: r215309
Janne Blomqvist [Tue, 16 Sep 2014 21:40:28 +0000 (00:40 +0300)]
PR libfortran/62768 Handle filenames with embedded null characters.
testsuite ChangeLog:
2014-09-17 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/62768
* gfortran.dg/filename_null.f90: New test.
libgfortran ChangeLog:
2014-09-17 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/62768
* io/io.h (gfc_unit): Store C string for the filename.
* io/close.c (st_close): Use gfc_unit.filename.
* io/inquire.c (inquire_via_unit): Likewise.
* io/open.c (new_unit): Likewise.
(already_open): Likewise, unlink file before freeing filename.
* io/unit.c (init_units): Likewise.
(close_unit_1): Likewise.
(filename_from_unit): Likewise.
* io/unix.c (compare_file_filename): Likewise.
(find_file0): Likewise.
(delete_file): Likewise.
From-SVN: r215307
H.J. Lu [Tue, 16 Sep 2014 17:59:16 +0000 (17:59 +0000)]
Fix a typo in gcc.dg/pg-override.c
* gcc.dg/pg-override.c: Fix a typo.
From-SVN: r215304
H.J. Lu [Tue, 16 Sep 2014 15:35:15 +0000 (15:35 +0000)]
Fix a typo in gcc.dg/pg.c
* gcc.dg/pg.c: Fix a typo.
From-SVN: r215301
Richard Biener [Tue, 16 Sep 2014 14:10:07 +0000 (14:10 +0000)]
re PR testsuite/63258 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c scan-tree-dump-times vect "vectorization not profitable" 1)
2014-09-16 Richard Biener <rguenther@suse.de>
PR testsuite/63258
* gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Remove scan
for "vectorization not profitable".
From-SVN: r215299
Ilya Tocar [Tue, 16 Sep 2014 11:57:56 +0000 (11:57 +0000)]
driver-i386.c (host_detect_local_cpu): Detect lack of zmm/k regs support.
gcc/
2014-09-16 Ilya Tocar <ilya.tocar@intel.com>
* config/i386/driver-i386.c (host_detect_local_cpu): Detect lack of
zmm/k regs support.
testsuite/
2014-09-16 Ilya Tocar <ilya.tocar@intel.com>
* gcc.target/i386/avx512f-os-support.h: Remove magic number.
From-SVN: r215297
Alexander Ivchenko [Tue, 16 Sep 2014 11:00:24 +0000 (11:00 +0000)]
AVX-512. Extend extract insn patterns.
gcc/
* config/i386/i386.c
(ix86_expand_vector_extract): Handle V32HI and V64QI modes.
* config/i386/sse.md
(define_mode_iterator VI48F_256): New.
(define_mode_attr extract_type): Ditto.
(define_mode_attr extract_suf): Ditto.
(define_mode_iterator AVX512_VEC): Ditto.
(define_expand
"<extract_type>_vextract<shuffletype><extract_suf>_mask"): Use
AVX512_VEC.
(define_insn "avx512dq_vextract<shuffletype>64x2_1_maskm"): New.
(define_insn
"<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name>"):
Ditto.
(define_mode_attr extract_type_2): Ditto.
(define_mode_attr extract_suf_2): Ditto.
(define_mode_iterator AVX512_VEC_2): Ditto.
(define_expand
"<extract_type_2>_vextract<shuffletype><extract_suf_2>_mask"): Use
AVX512_VEC_2 mode iterator.
(define_insn "vec_extract_hi_<mode>_maskm"): Ditto.
(define_expand "avx512vl_vextractf128<mode>"): Ditto.
(define_insn_and_split "vec_extract_lo_<mode>"): Delete.
(define_insn "vec_extract_lo_<mode><mask_name>"): New.
(define_split for V16FI mode): Ditto.
(define_insn_and_split "vec_extract_lo_<mode>"): Delete.
(define_insn "vec_extract_lo_<mode><mask_name>"): New.
(define_split for VI8F_256 mode): Ditto.
(define_insn "vec_extract_hi_<mode><mask_name>"): Add masking.
(define_insn_and_split "vec_extract_lo_<mode>"): Delete.
(define_insn "vec_extract_lo_<mode><mask_name>"): New.
(define_split for VI4F_256 mode): Ditto.
(define_insn "vec_extract_lo_<mode>_maskm"): Ditto.
(define_insn "vec_extract_hi_<mode>_maskm"): Ditto.
(define_insn "vec_extract_hi_<mode><mask_name>"): Add masking.
(define_mode_iterator VEC_EXTRACT_MODE): Add V64QI and V32HI modes.
(define_insn "vcvtph2ps<mask_name>"): Fix pattern condition.
(define_insn "avx512f_vextract<shuffletype>32x4_1_maskm"): Ditto.
(define_insn "<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>"):
Update `type' attribute, remove explicit `memory' attribute calculation.
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: r215296
Jakub Jelinek [Tue, 16 Sep 2014 09:35:00 +0000 (11:35 +0200)]
re PR fortran/56408 (Fix dependency handling of testsuite/gfortran.dg)
PR fortran/56408
* gfortran.dg/dg.exp (dg-compile-aux-modules): Workaround
missing nexted dg-test call support in dejaGNU 1.4.4.
From-SVN: r215293
Kito Cheng [Tue, 16 Sep 2014 05:24:31 +0000 (05:24 +0000)]
Clean up useless initialization for IRA if using LRA.
gcc/
* ira.c (ira): Don't initialize ira_spilled_reg_stack_slots and
ira_spilled_reg_stack_slots_num if using lra.
(do_reload): Remove release ira_spilled_reg_stack_slots part.
* ira-color.c (ira_sort_regnos_for_alter_reg): Add assertion to
make sure not using lra.
(ira_reuse_stack_slot): Likewise.
(ira_mark_new_stack_slot): Likewise.
From-SVN: r215286
Andi Kleen [Tue, 16 Sep 2014 03:22:53 +0000 (03:22 +0000)]
Add some more test cases for fentry and pg
Test fentry and no_instrument_function overriding.
gcc/testsuite/:
2014-09-15 Andi Kleen <ak@linux.intel.com>
* gcc.dg/pg-override.c: New test.
* gcc.dg/pg.c: New test.
* gcc.target/i386/fentry-override.c: New test.
* gcc.target/i386/fentry.c: New test.
From-SVN: r215285
Andi Kleen [Tue, 16 Sep 2014 03:22:41 +0000 (03:22 +0000)]
Always set DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT correctly
When profiling is disabled force DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT
for each function to one. This information is then preserved
through LTO.
With this patch for LTO builds -pg needs to be set on both the
LTO final link and the original source build, to allow -pg
(or -pg -fentry) to be active for that source file. This allows
to build large projects mostly with -pg, except for a few files,
and still use LTO.
gcc/:
2014-09-15 Andi Kleen <ak@linux.intel.com>
* function.c (allocate_struct_function): Force
DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT to one when
profiling is disabled.
From-SVN: r215284
Jason Merrill [Tue, 16 Sep 2014 02:36:12 +0000 (22:36 -0400)]
pt.c (lookup_template_class_1): Splice out abi_tag attribute if necessary.
* pt.c (lookup_template_class_1): Splice out abi_tag attribute if
necessary. Call inherit_targ_abi_tags here.
* class.c (check_bases_and_members): Not here.
(inherit_targ_abi_tags): Check CLASS_TYPE_P.
* cp-tree.h: Declare inherit_targ_abi_tags.
From-SVN: r215283
Trevor Saunders [Tue, 16 Sep 2014 01:23:42 +0000 (01:23 +0000)]
Replace INSN_DELETED_P with rtx_insn member functions
gcc/
* cfgrtl.c, combine.c, config/arc/arc.c, config/mcore/mcore.c,
config/rs6000/rs6000.c, config/sh/sh.c, cprop.c, dwarf2out.c,
emit-rtl.c, final.c, function.c, gcse.c, jump.c, reg-stack.c,
reload1.c, reorg.c, resource.c, sel-sched-ir.c: Replace INSN_DELETED_P
macro with statically checked member functions.
* rtl.h (rtx_insn::deleted): New method.
(rtx_insn::set_deleted): Likewise.
(rtx_insn::set_undeleted): Likewise.
(INSN_DELETED_P): Remove.
From-SVN: r215282
Trevor Saunders [Tue, 16 Sep 2014 01:23:31 +0000 (01:23 +0000)]
use rtx_insn * more
gcc/ChangeLog:
2014-09-15 Trevor Saunders <tsaunders@mozilla.com>
* config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Assign the
result of emit_jump_insn_before to a new variable.
* jump.c (mark_jump_label): Change the type of insn to rtx_insn *.
(mark_jump_label_1): Likewise.
(mark_jump_label_asm): Likewise.
* reload1.c (gen_reload): Change type of tem to rtx_insn *.
* rtl.h (mark_jump_label): Adjust.
From-SVN: r215281