diff --git a/libraries/base/GHC/RTS/Flags.hsc b/libraries/base/GHC/RTS/Flags.hsc
index 16075aa3c6acbd131a21e744fec813fa22a8a8b0..ec235e35b86e889e70e4eeb802efaf6f040a902f 100644
--- a/libraries/base/GHC/RTS/Flags.hsc
+++ b/libraries/base/GHC/RTS/Flags.hsc
@@ -501,7 +501,11 @@ getParFlags = do
 
 
 getHpcFlags :: IO HpcFlags
-getHpcFlags = error "TODO: Implement getHpcFlags"
+getHpcFlags = do
+  let ptr = (#ptr RTS_FLAGS, HpcFlags) rtsFlagsPtr
+  HpcFlags
+    <$> (toBool <$>
+          (#{peek HPC_FLAGS, emitTixFile} ptr :: IO CBool))
 
 getConcFlags :: IO ConcFlags
 getConcFlags = do