From 5880fff6d353a14785c457999fded5a7100c9514 Mon Sep 17 00:00:00 2001 From: Ben Gamari <ben@smart-cactus.org> Date: Tue, 22 Aug 2023 12:24:53 -0400 Subject: [PATCH] llvmGen: Allow LlvmLits in MetaExprs This omission appears to be an oversight. --- compiler/GHC/Llvm/MetaData.hs | 1 + compiler/GHC/Llvm/Ppr.hs | 1 + 2 files changed, 2 insertions(+) diff --git a/compiler/GHC/Llvm/MetaData.hs b/compiler/GHC/Llvm/MetaData.hs index 2ad759fba89d..bf8b2a318528 100644 --- a/compiler/GHC/Llvm/MetaData.hs +++ b/compiler/GHC/Llvm/MetaData.hs @@ -79,6 +79,7 @@ ppMetaId (MetaId n) = char '!' <> int n -- | LLVM metadata expressions data MetaExpr = MetaStr !LMString + | MetaLit !LlvmLit | MetaNode !MetaId | MetaVar !LlvmVar | MetaStruct [MetaExpr] diff --git a/compiler/GHC/Llvm/Ppr.hs b/compiler/GHC/Llvm/Ppr.hs index f0f09a46ef9c..3205e1484fa2 100644 --- a/compiler/GHC/Llvm/Ppr.hs +++ b/compiler/GHC/Llvm/Ppr.hs @@ -299,6 +299,7 @@ ppMetaExpr :: IsLine doc => LlvmCgConfig -> MetaExpr -> doc ppMetaExpr opts = \case MetaVar (LMLitVar (LMNullLit _)) -> text "null" MetaStr s -> char '!' <> doubleQuotes (ftext s) + MetaLit l -> ppTypeLit opts l MetaNode n -> ppMetaId n MetaVar v -> ppVar opts v MetaStruct es -> char '!' <> braces (ppCommaJoin (ppMetaExpr opts) es) -- GitLab