summaryrefslogtreecommitdiff
path: root/compiler/GHC/Llvm
diff options
context:
space:
mode:
authorTakenobu Tani <takenobu.hs@gmail.com>2020-06-09 22:59:05 +0900
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-06-25 03:54:44 -0400
commit1eb997a84669f158de9dd16a9e54d279cec22293 (patch)
tree0c917f73815f01bdb4a3055f6eb173429160a723 /compiler/GHC/Llvm
parentc7dd6da7e066872a949be7c914cc700182307cd2 (diff)
downloadhaskell-1eb997a84669f158de9dd16a9e54d279cec22293.tar.gz
Clean up haddock hyperlinks of GHC.* (part2)
This updates haddock comments only. This patch focuses to update for hyperlinks in GHC API's haddock comments, because broken links especially discourage newcomers. This includes the following hierarchies: - GHC.Iface.* - GHC.Llvm.* - GHC.Rename.* - GHC.Tc.* - GHC.HsToCore.* - GHC.StgToCmm.* - GHC.CmmToAsm.* - GHC.Runtime.* - GHC.Unit.* - GHC.Utils.* - GHC.SysTools.*
Diffstat (limited to 'compiler/GHC/Llvm')
-rw-r--r--compiler/GHC/Llvm/MetaData.hs20
1 files changed, 10 insertions, 10 deletions
diff --git a/compiler/GHC/Llvm/MetaData.hs b/compiler/GHC/Llvm/MetaData.hs
index b485d94dbe..f4adff45bb 100644
--- a/compiler/GHC/Llvm/MetaData.hs
+++ b/compiler/GHC/Llvm/MetaData.hs
@@ -12,8 +12,8 @@ import GHC.Utils.Outputable
--
-- The LLVM metadata feature is poorly documented but roughly follows the
-- following design:
--- * Metadata can be constructed in a few different ways (See below).
--- * After which it can either be attached to LLVM statements to pass along
+-- - Metadata can be constructed in a few different ways (See below).
+-- - After which it can either be attached to LLVM statements to pass along
-- extra information to the optimizer and code generator OR specifically named
-- metadata has an affect on the whole module (i.e., linking behaviour).
--
@@ -21,18 +21,18 @@ import GHC.Utils.Outputable
-- # Constructing metadata
-- Metadata comes largely in three forms:
--
--- * Metadata expressions -- these are the raw metadata values that encode
+-- - Metadata expressions -- these are the raw metadata values that encode
-- information. They consist of metadata strings, metadata nodes, regular
-- LLVM values (both literals and references to global variables) and
-- metadata expressions (i.e., recursive data type). Some examples:
-- !{ !"hello", !0, i32 0 }
-- !{ !1, !{ i32 0 } }
--
--- * Metadata nodes -- global metadata variables that attach a metadata
+-- - Metadata nodes -- global metadata variables that attach a metadata
-- expression to a number. For example:
-- !0 = !{ [<metadata expressions>] !}
--
--- * Named metadata -- global metadata variables that attach a metadata nodes
+-- - Named metadata -- global metadata variables that attach a metadata nodes
-- to a name. Used ONLY to communicated module level information to LLVM
-- through a meaningful name. For example:
-- !llvm.module.linkage = !{ !0, !1 }
@@ -41,7 +41,7 @@ import GHC.Utils.Outputable
-- # Using Metadata
-- Using metadata depends on the form it is in:
--
--- * Attach to instructions -- metadata can be attached to LLVM instructions
+-- - Attach to instructions -- metadata can be attached to LLVM instructions
-- using a specific reference as follows:
-- %l = load i32* @glob, !nontemporal !10
-- %m = load i32* @glob, !nontemporal !{ i32 0, !{ i32 0 } }
@@ -49,12 +49,12 @@ import GHC.Utils.Outputable
-- Refer to LLVM documentation for which instructions take metadata and its
-- meaning.
--
--- * As arguments -- llvm functions can take metadata as arguments, for
+-- - As arguments -- llvm functions can take metadata as arguments, for
-- example:
-- call void @llvm.dbg.value(metadata !{ i32 0 }, i64 0, metadata !1)
-- As with instructions, only metadata nodes or expressions can be attached.
--
--- * As a named metadata -- Here the metadata is simply declared in global
+-- - As a named metadata -- Here the metadata is simply declared in global
-- scope using a specific name to communicate module level information to LLVM.
-- For example:
-- !llvm.module.linkage = !{ !0, !1 }
@@ -82,8 +82,8 @@ data MetaAnnot = MetaAnnot LMString MetaExpr
-- | Metadata declarations. Metadata can only be declared in global scope.
data MetaDecl
-- | Named metadata. Only used for communicating module information to
- -- LLVM. ('!name = !{ [!<n>] }' form).
+ -- LLVM. ('!name = !{ [!\<n>] }' form).
= MetaNamed !LMString [MetaId]
-- | Metadata node declaration.
- -- ('!0 = metadata !{ <metadata expression> }' form).
+ -- ('!0 = metadata !{ \<metadata expression> }' form).
| MetaUnnamed !MetaId !MetaExpr