r308714 - Fix tblgen error.

Richard Trieu via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 20 21:56:48 PDT 2017


Author: rtrieu
Date: Thu Jul 20 21:56:48 2017
New Revision: 308714

URL: http://llvm.org/viewvc/llvm-project?rev=308714&view=rev
Log:
Fix tblgen error.

tblgen couldn't determing a unique name between "long_call" and "far", so it
errored out when generating documentation.  Copy the documentation, and give
an explicit header for "long_call".

Modified:
    cfe/trunk/include/clang/Basic/Attr.td
    cfe/trunk/include/clang/Basic/AttrDocs.td

Modified: cfe/trunk/include/clang/Basic/Attr.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Attr.td?rev=308714&r1=308713&r2=308714&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Attr.td (original)
+++ cfe/trunk/include/clang/Basic/Attr.td Thu Jul 20 21:56:48 2017
@@ -1191,13 +1191,13 @@ def MicroMips : InheritableAttr, TargetS
 def MipsLongCall : InheritableAttr, TargetSpecificAttr<TargetMips> {
   let Spellings = [GCC<"long_call">, GCC<"far">];
   let Subjects = SubjectList<[Function]>;
-  let Documentation = [MipsCallStyleDocs];
+  let Documentation = [MipsLongCallStyleDocs];
 }
 
 def MipsShortCall : InheritableAttr, TargetSpecificAttr<TargetMips> {
   let Spellings = [GCC<"near">];
   let Subjects = SubjectList<[Function]>;
-  let Documentation = [MipsCallStyleDocs];
+  let Documentation = [MipsShortCallStyleDocs];
 }
 
 def Mode : Attr {

Modified: cfe/trunk/include/clang/Basic/AttrDocs.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/AttrDocs.td?rev=308714&r1=308713&r2=308714&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/AttrDocs.td (original)
+++ cfe/trunk/include/clang/Basic/AttrDocs.td Thu Jul 20 21:56:48 2017
@@ -1323,7 +1323,28 @@ on the command line.
   }];
 }
 
-def MipsCallStyleDocs : Documentation {
+def MipsLongCallStyleDocs : Documentation {
+  let Category = DocCatFunction;
+  let Heading = "long_call (gnu::long_call, gnu::far)";
+  let Content = [{
+Clang supports the ``__attribute__((long_call))``, ``__attribute__((far))``,
+and ``__attribute__((near))`` attributes on MIPS targets. These attributes may
+only be added to function declarations and change the code generated
+by the compiler when directly calling the function. The ``near`` attribute
+allows calls to the function to be made using the ``jal`` instruction, which
+requires the function to be located in the same naturally aligned 256MB
+segment as the caller.  The ``long_call`` and ``far`` attributes are synonyms
+and require the use of a different call sequence that works regardless
+of the distance between the functions.
+
+These attributes have no effect for position-independent code.
+
+These attributes take priority over command line switches such
+as ``-mlong-calls`` and ``-mno-long-calls``.
+  }];
+}
+
+def MipsShortCallStyleDocs : Documentation {
   let Category = DocCatFunction;
   let Content = [{
 Clang supports the ``__attribute__((long_call))``, ``__attribute__((far))``,




More information about the cfe-commits mailing list