aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-06-12gcc/Venkataramanan Kumar23-14/+242
2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com> * common/config/i386/i386-common.c (OPTION_MASK_ISA_MWAITX_SET): New. (ix86_handle_option): Handle mwaitx. * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h, (x86_64-*-*): Likewise. * config/i386/mwaitxintrin.h: New header. * config/i386/cpuid.h (bit_MWAITX): Define. * config/i386/driver-i386.c (host_detect_local_cpu): Detect MWAITX support. * config/i386/i386.opt (mwaitx): New. * config/i386/i386-builtin-types.def (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type. * config/i386/i386-c.c: Define __MWAITX__ if needed. * config/i386/i386.c (ix86_target_string): Define -mmwaitx option. (PTA_MWAITX): New. (ix86_option_override_internal): Handle new option. (processor_alias_table): Added PTA_MWAITX. (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx. (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX. (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and IX86_BUILTIN_MONITORX built-ins. * config/i386/i386.h (TARGET_MWAITX): New. * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and UNSPEC_MONITORX. (mwaitx): New pattern. (monitorx_<mode>): New pattern. * config/i386/x86intrin.h: Include mwaitxintrin.h. * doc/extend.texi: Document monitorx and mwaitx builtins. * doc/invoke.texi: Document -mmwaitx option. gcc/testsuite 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com> * gcc.target/i386/monitorx.c: New. * gcc.target/i386/sse-12.c: Add -mmwaitx. * 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. * g++.dg/other/i386-2.C: Ditto. * g++.dg/other/i386-3.C: Ditto. From-SVN: r224414
2015-06-12Use atomics in guard.cc / remove special casing in targets.Ramana Radhakrishnan4-178/+0
The PowerPC, AIX, Alpha, IA64 implementations of atomic_word.h are in no way different from what can be achieved with the generic rewrite in Patch 1 of this series - delete these. 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/cpu/alpha/atomic_word.h: Remove. * config/cpu/ia64/atomic_word.h: Remove. * config/cpu/powerpc/atomic_word.h: Remove. * config/os/aix/atomic_word.h: Remove. * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]: Use generic definition. From-SVN: r224413
2015-06-12Use atomics in guard.cc / remove special casing in targets.Ramana Radhakrishnan2-11/+11
The PowerPC, AIX, Alpha, IA64 implementations of atomic_word.h are in no way different from what can be achieved with the generic rewrite in Patch 1 of this series - delete these. 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/cpu/alpha/atomic_word.h: Remove. * config/cpu/ia64/atomic_word.h: Remove. * config/cpu/powerpc/atomic_word.h: Remove. * config/os/aix/atomic_word.h: Remove. * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]: Use generic definition. From-SVN: r224412
2015-06-12Use atomics in guard.cc.Ramana Radhakrishnan9-31/+47
This provides proper definitions for _GLIBCXX_READ_MEM_BARRIER and _GLIBCXX_WRITE_MEM_BARRIER, rewrites the guards in terms of proper atomic extensions and removes internal uses of _GLIBCXX_READ_MEM_BARRIER and _GLIBCXX_WRITE_MEM_BARRIER and replaces them with equivalent atomics. 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/66200 PR c++/66192 * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define (_GLIBCXX_WRITE_MEM_BARRIER): Likewise * include/bits/shared_ptr_base.h: Use ACQ_REL barrier. * include/ext/atomicity.h: Likewise. * include/tr1/shared_ptr.h: Likewise. * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics. Update comment. (__set_and_release): Likewise. * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for line numbers. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Likewise. From-SVN: r224411
2015-06-12emit-rtl.c (need_atomic_barrier_p): Mask model with MEMMODEL_BASE_MASK.Uros Bizjak2-4/+6
* emit-rtl.c (need_atomic_barrier_p): Mask model with MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases. From-SVN: r224410
2015-06-12lto-lang.c (lto_type_for_size): Include intN types.DJ Delorie2-0/+20
* lto-lang.c (lto_type_for_size): Include intN types. (lto_type_for_mode): Likewise. From-SVN: r224408
2015-06-11dbxout.c (xcoff_debug_hooks): Provide a function for ↵David Edelsohn2-0/+6
register_main_translation_unit hook. * dbxout.c (xcoff_debug_hooks): Provide a function for register_main_translation_unit hook. From-SVN: r224407
2015-06-12Daily bump.GCC Administrator1-1/+1
From-SVN: r224406
2015-06-11re PR sanitizer/65479 (sanitizer stack trace missing frames past #0 on ↵Martin Sebor2-5/+20
powerpc64) 2015-06-11 Martin Sebor <msebor@redhat.com> PR sanitizer/65479 * dwarf.c (struct line): Add new field idx. (line_compare): Use it. (add_line): Set it. (read_line_info): Reset it. From-SVN: r224402
2015-06-11rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC variants cases from switch.David Edelsohn3-20/+20
* config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC variants cases from switch. (rs6000_post_atomic_barrier): Same. (rs6000_expand_atomic_compare_and_swap): Use memmodel_base. (rs6000_expand_atomic_exchange): Same. (rs6000_expand_atomic_op): Same. * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove SYNC variants cases from switch. (atomic_load): Same. (atomic_store): Same. From-SVN: r224401
2015-06-12tuple (__is_tuple_like_impl): Disambiguate array in debug and profile modes.Jonathan Wakely3-2/+13
* include/std/tuple (__is_tuple_like_impl): Disambiguate array in debug and profile modes. * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests for swap in C++11 and later. From-SVN: r224397
2015-06-11pa.c (pa_output_global_address): Handle LABEL_REF plus CONST_INT for goto.John David Anglin2-0/+7
* config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus CONST_INT for goto. From-SVN: r224396
2015-06-11stringop-2.c: Fix ifdef __mips.Steve Ellcey2-1/+6
2015-06-11 Steve Ellcey <sellcey@imgtec.com> * gcc.dg/tree-prof/stringop-2.c: Fix ifdef __mips. From-SVN: r224394
2015-06-11re PR bootstrap/66448 (Bootstrap fails on darwin after r224161)Aldy Hernandez2-19/+78
PR bootstrap/66448 * dwarf2out.c (check_die): Check for common duplicate attributes. (add_location_or_const_value_attribute): Do not add duplicate attributes. (gen_formal_parameter_die): Do not add DW_AT_artificial the second time around. (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN. (gen_type_die_with_usage): Call check_die. (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING. From-SVN: r224393
2015-06-11dwarf2out.c (prune_unused_types): Handle unused top-level limbo dies.Jason Merrill2-2/+16
* dwarf2out.c (prune_unused_types): Handle unused top-level limbo dies. From-SVN: r224391
2015-06-11* match.pd ((x & y) ^ (x | y)): Don't check for single_use.Marek Polacek2-3/+6
From-SVN: r224390
2015-06-11Fix misplaced ChangeLog entriesPierre-Marie de Rodat3-3/+10
From-SVN: r224387
2015-06-11re PR bootstrap/66252 (bootstrap comparison failures on sparc-linux)Eric Botcazou3-35/+36
PR bootstrap/66252 * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment. * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order. (*addx_extend_sp32): Fix pasto. (*subx_extend): Rename into... (*subx_extend_sp32): ...this. (*adddi3_extend_sp32): Add earlyclobber. (*subdi3_insn_sp32): Likewise. (*subdi3_extend_sp32): Likewise. (*and_not_di_sp32): Likewise. (*or_not_di_sp32): Likewise. (*xor_not_di_sp32): Likewise. (*negdi2_sp32): Likewise. (*one_cmpldi2_sp32): Likewise. From-SVN: r224384
2015-06-11re PR fortran/66079 (memory leak with source allocation in internal subprogram)Paul Thomas5-3/+115
2015-06-11 Paul Thomas <pault@gcc.gnu.org> PR fortran/66079 * trans-expr.c (gfc_conv_procedure_call): Allocatable scalar function results must be freed and nullified after use. Create a temporary to hold the result to prevent duplicate calls. * trans-stmt.c (gfc_trans_allocate): Rename temporary variable as 'source'. Deallocate allocatable components of non-variable 'source's. 2015-06-11 Paul Thomas <pault@gcc.gnu.org> PR fortran/66079 * gfortran.dg/allocatable_scalar_13.f90: New test From-SVN: r224383
2015-06-11re PR c++/66445 (ICE with lambda in stmt expression in a template)Jason Merrill3-0/+16
PR c++/66445 * constexpr.c (potential_constant_expression_1): Handle a DECL_EXPR of TYPE_DECL. From-SVN: r224382
2015-06-11re PR c++/66450 ([C++11][constexpr] Issues when delegating implicit copy ↵Jason Merrill3-4/+39
constructor in constexpr function) PR c++/66450 * constexpr.c (cxx_eval_store_expression): Avoid messing up outer ctx->ctor. From-SVN: r224381
2015-06-11Restore DW_AT_abstract_origin for cross-unit call sitesPierre-Marie de Rodat13-1/+73
PR debug/66503 gcc/ChangeLog: * debug.h (struct gcc_debug_hooks): Add a register_main_translation_unit hook. * debug.c (do_nothing_debug_hooks): Provide a function for this new hook. * dbxout.c (dbx_debug_hooks): Likewise. * sdbout.c (sdb_debug_hooks): Likewise. * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. * dwarf2out.c (main_translation_unit): New global variable. (dwarf2out_register_main_translation_unit): New function implementing the new hook. (dwarf2_debug_hooks): Assign dwarf2out_register_main_translation_unit to this new hook. (dwarf2out_init): Associate any main translation unit to comp_unit_die (). * c/c-decl.c (pop_scope): Register the main translation unit through the new debug hook. * cp/decl.c (cxx_init_decl_processing): Likewise. gcc/ada/ChangeLog: * gcc-interface/utils.c (get_global_context): Register the main translation unit through the new debug hook. gcc/fortran/ChangeLog: * f95-lang.c (gfc_create_decls): Register the main translation unit through the new debug hook. From-SVN: r224371
2015-06-11match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.Marek Polacek4-0/+51
* match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern. * gcc.dg/fold-xor-3.c: New test. From-SVN: r224370
2015-06-11* match.pd: Use single_use throughout.Marek Polacek2-5/+8
From-SVN: r224368
2015-06-11[ARM] Restrict MAX_CONDITIONAL_EXECUTE when -mrestrict-it is in placeKyrylo Tkachov5-1/+58
* config/arm/arm.c (arm_option_params_internal): When optimising for speed set max_insns_skipped when arm_restrict_it. * gcc.target/arm/short-it-ifcvt-1.c: New test. * gcc.target/arm/short-it-ifcvt-2.c: Likewise. From-SVN: r224367
2015-06-11s/recogniwed/recognizedChristian Bruel2-2/+2
From-SVN: r224366
2015-06-11Add ARM/thumb pragma target Christian Bruel6-11/+148
PR target/52144 * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define macros in ... (arm_cpu_builtins): New function. (arm_pragma_target_parse): Call arm_cpu_builtins. * config/arm/arm-protos.h (arm_cpu_builtins): Declare. (arm_register_target_pragmas): Likewise. * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Call arm_register_target_pragmas. * config/arm/arm-c.c (arm_register_target_pragmas): New function. (arm_pragma_target_parse): Likewise. PR target/52144 * gcc.target/arm/pragma_attribute.c: New test. From-SVN: r224365
2015-06-11Daily bump.GCC Administrator1-1/+1
From-SVN: r224363
2015-06-10sh.md (tstsi_t): Add '?' modifier to 'r' alternative of the 2nd operand to ↵Kaz Kojima2-1/+6
fix failures for... * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative of the 2nd operand to fix failures for gcc.target/sh/pr49263-2.c with -mlra. From-SVN: r224349
2015-06-10mangle-regparm.C (dg-optiond): Add -save-temps.Uros Bizjak2-1/+5
* g++.dg/abi/mangle-regparm.C (dg-optiond): Add -save-temps. From-SVN: r224341
2015-06-10re PR target/66473 (ICE: in extract_insn, at recog.c:2343 (unrecognizable ↵Uros Bizjak4-43/+62
insn) with -mavx512f) PR target/66473 * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode to prepare mask operand for AVX512 modes. testsuite/ChangeLog: PR target/66473 * gcc.target/i386/pr66473.c: New test. From-SVN: r224340
2015-06-10re PR target/66474 (Document the use of %x in powerpc asm statements)Michael Meissner2-0/+28
2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/66474 * doc/md.texi (Machine Constraints): Document that on the PowerPC if you use a constraint that targets a VSX register, you must use %x<n> in the template. From-SVN: r224332
2015-06-10re PR c++/66289 ("error: ambiguous template instantiation" with partial ↵Jason Merrill4-4/+81
specialization defined in terms of alias template) PR c++/66289 * cp-tree.h (TEMPLATE_DECL_COMPLEX_ALIAS_P): New. * pt.c (push_template_decl_real): Set it. (dependent_alias_template_spec_p): Use it. (dependent_type_p_r): Use dependent_alias_template_spec_p. (uses_all_template_parms_data, uses_all_template_parms_r) (complex_alias_template_p): New. (get_template_parm_index): Handle BOUND_TEMPLATE_TEMPLATE_PARM. From-SVN: r224331
2015-06-10xtensa: implement trap patternMax Filippov3-1/+21
2015-06-10 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config/xtensa/xtensa.h (TARGET_DEBUG): New definition. * config/xtensa/xtensa.md (define_attr "type"): New type "trap". (define_insn "trap"): New definition. From-SVN: r224330
2015-06-10tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split out from ...Richard Biener3-55/+86
2015-06-10 Richard Biener <rguenther@suse.de> * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split out from ... (vect_supported_load_permutation_p): ... here. Handle supportable permutations in reductions. * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations for vectorizing strided group loads. From-SVN: r224324
2015-06-10re PR target/66470 (TLS ICE due to ix86_split_long_move)Jakub Jelinek5-2/+98
PR target/66470 * config/i386/i386.c (ix86_split_long_move): For collisions involving direct tls segment refs, move the UNSPEC_TP possibly wrapped in ZERO_EXTEND out of the address for lea, to each of the memory loads. * gcc.dg/tls/pr66470.c: New test. * gcc.target/i386/pr66470.c: New test. From-SVN: r224319
2015-06-10Use dmb ish instead of dmb sy for ARM.Ramana Radhakrishnan2-5/+7
2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/arm/sync.md (*memory_barrier): Use dmb ish instead of dmb sy. Adjust tabs. From-SVN: r224317
2015-06-10Fix build for ENABLE_OFFLOADING in expand_omp_targetTom de Vries2-2/+5
2015-06-10 Tom de Vries <tom@codesourcery.com> * omp-low.c (expand_omp_target): Remove duplicate declaration of node. From-SVN: r224316
2015-06-10Fix BITMAP identifier clash.Martin Liska11-21/+44
PR bootstrap/66471 * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for all enum values in mem_alloc_origin. * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum name. * alloc-pool.h (pool_allocator::pool_allocator): Likewise. * bitmap.c (bitmap_register): Likewise. (dump_bitmap_statistics): Likewise. * ggc-common.c (dump_ggc_loc_statistics): Likewise. (ggc_record_overhead): Likewise. * hash-map.h: Likewise. * hash-set.h: Likewise. * hash-table.c (void dump_hash_table_loc_statistics): Likewise. * hash-table.h: Likewise. * vec.c (vec_prefix::register_overhead): Likewise. (vec_prefix::release_overhead): Likewise. (dump_vec_loc_statistics): Likewise. From-SVN: r224315
2015-06-10Add ARM/thumb attribute targetChristian Bruel13-12/+400
PR target/52144 * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save. * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare. (arm_reset_previous_fndecl, arm_change_mode_p): Likewise. * config/arm/arm.h (SWITCHABLE_TARGET): Define. * config/arm/arm.c (arm_reset_previous_fndecl): New functions. (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise. (arm_valid_target_attribute_p): Likewise. (arm_set_current_function, arm_can_inline_p): Likewise. (arm_valid_target_attribute_rec): Likewise. (arm_previous_fndecl): New variable. (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define. (TARGET_CAN_INLINE_P): Define. (arm_asm_trampoline_template): Emit mode. (arm_file_start): Don't set unified syntax. (arm_declare_function_name): Set unified syntax and mode. (arm_option_override): Init target_option_default_node. and target_option_current_node. * config/arm/arm.md (*call_value_symbol): Set mode when possible. (*call_symbol): Likewise. * doc/extend.texi: Document ARM/Thumb target attribute. * doc/invoke.texi: Likewise. * gcc.target/arm/attr_arm.c: New test * gcc.target/arm/attr_arm-err.c: New test * gcc.target/arm/attr_thumb.c: New test * gcc.target/arm/attr_thumb-static.c: New test From-SVN: r224314
2015-06-10Handle aarch64_guard1.C testRamana Radhakrishnan2-1/+8
Sorry about missing this hunk in the original submission, was in my tree but I hadn't spotted this as I was playing between the original AArch64 TARGET_RELAXED_ORDER and this patch. Applied as obvious. 2015-06-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/66200 PR target/66428 PR c++/66192 * g++.dg/abi/aarch64_guard1.C: Adjust test. From-SVN: r224313
2015-06-10[Patch testsuite obvious] gcc.target/arm/pr65710.c should not ↵James Greenhalgh2-0/+6
unconditionally set -mfloat-abi=soft gcc/testsuite/ * gcc.target/arm/pr65710.c: Do not override -mfloat-abi directives passed by the testsuite driver. From-SVN: r224312
2015-06-10Revert "[PR64164] Drop copyrename, use coalescible partition as base when ↵Alexandre Oliva30-984/+966
optimizing." This reverts commit c66acc7cedd89bfd22124caec44b8427c9082dac. Conflicts: gcc/ChangeLog gcc/testsuite/ChangeLog From-SVN: r224310
2015-06-10Daily bump.GCC Administrator1-1/+1
From-SVN: r224309
2015-06-09Make-lang.in (jit.install-common): Install headers using INSTALL_DATA.Matthias Klose2-2/+6
2015-06-09 Matthias Klose <doko@ubuntu.com> * Make-lang.in (jit.install-common): Install headers using INSTALL_DATA. From-SVN: r224305
2015-06-09Mark offloaded functions as parallelizedTom de Vries2-0/+8
2015-06-09 Tom de Vries <tom@codesourcery.com> PR tree-optimization/65460 * omp-low.c (expand_omp_target): Set parallelized_function on cgraph_node for child_fn. From-SVN: r224303
2015-06-09Mark function parallelized_function before add_new_functionTom de Vries2-2/+9
2015-06-09 Tom de Vries <tom@codesourcery.com> * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function parallelized_function before add_new_function. From-SVN: r224302
2015-06-09gcc-plugin.h: Move decls to plugin.h and include it.Andrew MacLeod6-135/+151
* gcc-plugin.h: Move decls to plugin.h and include it. * plugin.h: Relocate decls from gcc-plugin.h * ggc-page.c: Include required header files. * passes.c: Likewise. * cgraphunit.c: Likewise. From-SVN: r224293
2015-06-09DR 1467 PR c++/51747Jason Merrill2-1/+9
DR 1467 PR c++/51747 * typeck2.c (digest_init_r): Replace previous change with gcc_unreachable. From-SVN: r224289
2015-06-09Handle location in expand_ifn_va_arg_1Tom de Vries4-0/+39
2015-06-09 Tom de Vries <tom@codesourcery.com> * tree-stdarg.c (expand_ifn_va_arg_1): Handle location. * gcc.target/i386/vararg-loc.c: New test. From-SVN: r224288