From patchwork Thu Nov 3 18:47:46 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aldy Hernandez X-Patchwork-Id: 123492 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 44A9EB6F83 for ; Fri, 4 Nov 2011 05:48:13 +1100 (EST) Received: (qmail 9220 invoked by alias); 3 Nov 2011 18:48:08 -0000 Received: (qmail 9190 invoked by uid 22791); 3 Nov 2011 18:48:05 -0000 X-SWARE-Spam-Status: No, hits=-7.1 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 03 Nov 2011 18:47:47 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id pA3IllrB007235 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 3 Nov 2011 14:47:47 -0400 Received: from houston.quesejoda.com (vpn-236-154.phx2.redhat.com [10.3.236.154]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id pA3Ilkqg030749 for ; Thu, 3 Nov 2011 14:47:47 -0400 Message-ID: <4EB2E1D2.50309@redhat.com> Date: Thu, 03 Nov 2011 13:47:46 -0500 From: Aldy Hernandez User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0) Gecko/20110927 Thunderbird/7.0 MIME-Version: 1.0 To: gcc-patches Subject: [patch] 14/n: trans-mem: compiler documentation Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Index: gcc/doc/invoke.texi =================================================================== --- gcc/doc/invoke.texi (.../trunk) (revision 180744) +++ gcc/doc/invoke.texi (.../branches/transactional-memory) (revision 180840) @@ -1715,6 +1715,18 @@ Program Interface v3.0 @w{@uref{http://w implies @option{-pthread}, and thus is only supported on targets that have support for @option{-pthread}. +@item -fgnu-tm +@opindex fgnu-tm +When the option @option{-fgnu-tm} is specified, the compiler will +generate code for the Linux variant of Intel's current Transactional +Memory ABI specification document (Revision 1.1, May 6 2009). This is +an experimental feature whose interface may change in future versions +of GCC, as the official specification changes. Please note that not +all architectures are supported for this feature. + +For more information on GCC's support for transactional memory, see +the accompanying documentation for @file{libitm}. + @item -fms-extensions @opindex fms-extensions Accept some non-standard constructs used in Microsoft header files. @@ -9093,6 +9105,13 @@ parameters only when their cumulative si @option{ipa-sra-ptr-growth-factor} times the size of the original pointer parameter. +@item tm-max-aggregate-size +When making copies of thread-local variables in a transaction, this +parameter specifies the size in bytes after which variables will be +saved with the logging functions as opposed to save/restore code +sequence pairs. This option only applies when using +@option{-fgnu-tm}. + @item graphite-max-nb-scop-params To avoid exponential effects in the Graphite loop transforms, the number of parameters in a Static Control Part (SCoP) is bounded. The Index: gcc/doc/tm.texi =================================================================== --- gcc/doc/tm.texi (.../trunk) (revision 180744) +++ gcc/doc/tm.texi (.../branches/transactional-memory) (revision 180773) @@ -5758,6 +5758,16 @@ mode returned by @code{TARGET_VECTORIZE_ The default is zero which means to not iterate over other vector sizes. @end deftypefn +@deftypefn {Target Hook} tree TARGET_VECTORIZE_BUILTIN_TM_LOAD (tree) +This hook should return the built-in decl needed to load a vector of +the given type. +@end deftypefn + +@deftypefn {Target Hook} tree TARGET_VECTORIZE_BUILTIN_TM_STORE (tree) +This hook should return the built-in decl needed to store a vector of +the given type. +@end deftypefn + @node Anchored Addresses @section Anchored Addresses @cindex anchored addresses Index: gcc/doc/tm.texi.in =================================================================== --- gcc/doc/tm.texi.in (.../trunk) (revision 180744) +++ gcc/doc/tm.texi.in (.../branches/transactional-memory) (revision 180773) @@ -5696,6 +5696,16 @@ mode returned by @code{TARGET_VECTORIZE_ The default is zero which means to not iterate over other vector sizes. @end deftypefn +@hook TARGET_VECTORIZE_BUILTIN_TM_LOAD +This hook should return the built-in decl needed to load a vector of +the given type. +@end deftypefn + +@hook TARGET_VECTORIZE_BUILTIN_TM_STORE +This hook should return the built-in decl needed to store a vector of +the given type. +@end deftypefn + @node Anchored Addresses @section Anchored Addresses @cindex anchored addresses