[PATCH] llvmGen: Allow LlvmLits in MetaExprs
authorWang Xin <wangxin03@loongson.cn>
Fri, 13 Dec 2024 03:47:29 +0000 (03:47 +0000)
committerGianfranco Costamagna <locutusofborg@debian.org>
Mon, 17 Feb 2025 08:44:23 +0000 (09:44 +0100)
Gbp-Pq: Name 0002-llvmGen-Allow-LlvmLits-in-MetaExprs.patch

compiler/GHC/Llvm/MetaData.hs
compiler/GHC/Llvm/Ppr.hs

index a0b79eab9db1f704b7be7f056331606b0025795b..4279eeccd8021438bbfa6e698a42f5817af4d072 100644 (file)
@@ -74,6 +74,7 @@ instance Outputable MetaId where
 
 -- | LLVM metadata expressions
 data MetaExpr = MetaStr !LMString
+              | MetaLit !LlvmLit
               | MetaNode !MetaId
               | MetaVar !LlvmVar
               | MetaStruct [MetaExpr]
index 787b6efcf795d433fca5b5a8965aa105ddf9e27b..bcb73b74b5cd8e5fff7605fcc222b8ca53fb91de 100644 (file)
@@ -256,6 +256,7 @@ ppMetaExpr :: LlvmCgConfig -> MetaExpr -> SDoc
 ppMetaExpr opts = \case
   MetaVar (LMLitVar (LMNullLit _)) -> text "null"
   MetaStr    s                     -> char '!' <> doubleQuotes (ftext s)
+  MetaLit    l                     -> ppTypeLit opts l
   MetaNode   n                     -> ppr n
   MetaVar    v                     -> ppVar opts v
   MetaStruct es                    -> char '!' <> braces (ppCommaJoin (map (ppMetaExpr opts) es))