diff options
| author | David Terei <davidterei@gmail.com> | 2011-12-01 14:20:43 -0800 |
|---|---|---|
| committer | David Terei <davidterei@gmail.com> | 2011-12-03 20:48:22 -0800 |
| commit | 90d2acd1691d3398dc6cbc51ef9b43f037aef1fe (patch) | |
| tree | 6f3e002eab2136c1b5ab54917a00b9614398627b /compiler/llvmGen/LlvmCodeGen | |
| parent | fe05c0224ec00ff71742e62674a47f346cd1b3e3 (diff) | |
| download | haskell-90d2acd1691d3398dc6cbc51ef9b43f037aef1fe.tar.gz | |
Add CCS for llvm
Diffstat (limited to 'compiler/llvmGen/LlvmCodeGen')
| -rw-r--r-- | compiler/llvmGen/LlvmCodeGen/Base.hs | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/compiler/llvmGen/LlvmCodeGen/Base.hs b/compiler/llvmGen/LlvmCodeGen/Base.hs index f075aaa362..d09cfd9ae6 100644 --- a/compiler/llvmGen/LlvmCodeGen/Base.hs +++ b/compiler/llvmGen/LlvmCodeGen/Base.hs @@ -158,17 +158,26 @@ initLlvmEnv platform = LlvmEnv (emptyUFM, emptyUFM, defaultLlvmVersion, platform -- | Clear variables from the environment. clearVars :: LlvmEnv -> LlvmEnv -clearVars (LlvmEnv (e1, _, n, p)) = LlvmEnv (e1, emptyUFM, n, p) +clearVars (LlvmEnv (e1, _, n, p)) = {-# SCC "llvm_env_clear" #-} + LlvmEnv (e1, emptyUFM, n, p) -- | Insert functions into the environment. -varInsert, funInsert :: Uniquable key => key -> LlvmType -> LlvmEnv -> LlvmEnv -varInsert s t (LlvmEnv (e1, e2, n, p)) = LlvmEnv (e1, addToUFM e2 s t, n, p) -funInsert s t (LlvmEnv (e1, e2, n, p)) = LlvmEnv (addToUFM e1 s t, e2, n, p) +varInsert :: Uniquable key => key -> LlvmType -> LlvmEnv -> LlvmEnv +varInsert s t (LlvmEnv (e1, e2, n, p)) = {-# SCC "llvm_env_vinsert" #-} + LlvmEnv (e1, addToUFM e2 s t, n, p) + +funInsert :: Uniquable key => key -> LlvmType -> LlvmEnv -> LlvmEnv +funInsert s t (LlvmEnv (e1, e2, n, p)) = {-# SCC "llvm_env_finsert" #-} + LlvmEnv (addToUFM e1 s t, e2, n, p) -- | Lookup functions in the environment. -varLookup, funLookup :: Uniquable key => key -> LlvmEnv -> Maybe LlvmType -varLookup s (LlvmEnv (_, e2, _, _)) = lookupUFM e2 s -funLookup s (LlvmEnv (e1, _, _, _)) = lookupUFM e1 s +varLookup :: Uniquable key => key -> LlvmEnv -> Maybe LlvmType +varLookup s (LlvmEnv (_, e2, _, _)) = {-# SCC "llvm_env_vlookup" #-} + lookupUFM e2 s + +funLookup :: Uniquable key => key -> LlvmEnv -> Maybe LlvmType +funLookup s (LlvmEnv (e1, _, _, _)) = {-# SCC "llvm_env_flookup" #-} + lookupUFM e1 s -- | Get the LLVM version we are generating code for getLlvmVer :: LlvmEnv -> LlvmVersion @@ -188,8 +197,8 @@ getLlvmPlatform (LlvmEnv (_, _, _, p)) = p -- | Pretty print a 'CLabel'. strCLabel_llvm :: LlvmEnv -> CLabel -> LMString -strCLabel_llvm env l - = (fsLit . show . llvmSDoc . pprCLabel (getLlvmPlatform env)) l +strCLabel_llvm env l = {-# SCC "llvm_strCLabel" #-} + (fsLit . show . llvmSDoc . pprCLabel (getLlvmPlatform env)) l -- | Create an external definition for a 'CLabel' defined in another module. genCmmLabelRef :: LlvmEnv -> CLabel -> LMGlobal |
