Use Type Based Alias Analysis (TBAA) in LLVM backend (#5567)
[ghc.git] / compiler / llvmGen / LlvmCodeGen / Ppr.hs
index c914bb2..187d1ec 100644 (file)
@@ -11,6 +11,7 @@ module LlvmCodeGen.Ppr (
 import Llvm
 import LlvmCodeGen.Base
 import LlvmCodeGen.Data
+import LlvmCodeGen.Regs
 
 import CLabel
 import OldCmm
@@ -25,6 +26,16 @@ import Unique
 -- * Top level
 --
 
+-- | Header code for LLVM modules
+pprLlvmHeader :: Doc
+pprLlvmHeader =
+    moduleLayout
+    $+$ text ""
+    $+$ ppLlvmFunctionDecls (map snd ghcInternalFunctions)
+    $+$ ppLlvmMetas stgTBAA
+    $+$ text ""
+
+
 -- | LLVM module layout description for the host target
 moduleLayout :: Doc
 moduleLayout =
@@ -64,11 +75,6 @@ moduleLayout =
 #endif
 
 
--- | Header code for LLVM modules
-pprLlvmHeader :: Doc
-pprLlvmHeader =
-    moduleLayout $+$ text "" $+$ ppLlvmFunctionDecls (map snd ghcInternalFunctions)
-
 -- | Pretty print LLVM data code
 pprLlvmData :: LlvmData -> Doc
 pprLlvmData (globals, types) =