llvm-pretty 0.13.0.0 → 0.13.1.0
raw patch · 5 files changed
+36/−2 lines, 5 filesnew-uploaderPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Text.LLVM: runBB :: BB a -> (a, [BasicBlock])
+ Text.LLVM.AST: FunctionPointerAlign :: !FunctionPointerAlignType -> !Int -> LayoutSpec
+ Text.LLVM.AST: IndependentOfFunctionAlign :: FunctionPointerAlignType
+ Text.LLVM.AST: MultipleOfFunctionAlign :: FunctionPointerAlignType
+ Text.LLVM.AST: data FunctionPointerAlignType
+ Text.LLVM.AST: instance Data.Data.Data Text.LLVM.AST.FunctionPointerAlignType
+ Text.LLVM.AST: instance GHC.Classes.Eq Text.LLVM.AST.FunctionPointerAlignType
+ Text.LLVM.AST: instance GHC.Classes.Ord Text.LLVM.AST.FunctionPointerAlignType
+ Text.LLVM.AST: instance GHC.Enum.Enum Text.LLVM.AST.FunctionPointerAlignType
+ Text.LLVM.AST: instance GHC.Generics.Generic Text.LLVM.AST.FunctionPointerAlignType
+ Text.LLVM.AST: instance GHC.Show.Show Text.LLVM.AST.FunctionPointerAlignType
+ Text.LLVM.PP: ppFunctionPointerAlignType :: Fmt FunctionPointerAlignType
- Text.LLVM.Labels: class Functor f => HasLabel f
+ Text.LLVM.Labels: class Functor f => HasLabel (f :: Type -> Type)
- Text.LLVM.Lens: bbLabelLens :: forall lab_i4blJ. Lens' (BasicBlock' lab_i4blJ) (Maybe lab_i4blJ)
+ Text.LLVM.Lens: bbLabelLens :: forall lab f. Functor f => (Maybe lab -> f (Maybe lab)) -> BasicBlock' lab -> f (BasicBlock' lab)
- Text.LLVM.Lens: bbStmtsLens :: forall lab_i4blJ. Lens' (BasicBlock' lab_i4blJ) [Stmt' lab_i4blJ]
+ Text.LLVM.Lens: bbStmtsLens :: forall lab f. Functor f => ([Stmt' lab] -> f [Stmt' lab]) -> BasicBlock' lab -> f (BasicBlock' lab)
- Text.LLVM.Lens: dialArgsLens :: forall lab_i4b7U lab_a4lLi. Lens (DIArgList' lab_i4b7U) (DIArgList' lab_a4lLi) [ValMd' lab_i4b7U] [ValMd' lab_a4lLi]
+ Text.LLVM.Lens: dialArgsLens :: forall lab1 lab2 f. Functor f => ([ValMd' lab1] -> f [ValMd' lab2]) -> DIArgList' lab1 -> f (DIArgList' lab2)
- Text.LLVM.Lens: dictAlignLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) Word64
+ Text.LLVM.Lens: dictAlignLens :: forall lab f. Functor f => (Word64 -> f Word64) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictAllocatedLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe (ValMd' lab_i4baW))
+ Text.LLVM.Lens: dictAllocatedLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictAnnotationsLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe (ValMd' lab_i4baW))
+ Text.LLVM.Lens: dictAnnotationsLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictAssociatedLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe (ValMd' lab_i4baW))
+ Text.LLVM.Lens: dictAssociatedLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictBaseTypeLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe (ValMd' lab_i4baW))
+ Text.LLVM.Lens: dictBaseTypeLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictDataLocationLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe (ValMd' lab_i4baW))
+ Text.LLVM.Lens: dictDataLocationLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictDiscriminatorLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe (ValMd' lab_i4baW))
+ Text.LLVM.Lens: dictDiscriminatorLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictElementsLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe (ValMd' lab_i4baW))
+ Text.LLVM.Lens: dictElementsLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictFileLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe (ValMd' lab_i4baW))
+ Text.LLVM.Lens: dictFileLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictFlagsLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) DIFlags
+ Text.LLVM.Lens: dictFlagsLens :: forall lab f. Functor f => (DIFlags -> f DIFlags) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictIdentifierLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe String)
+ Text.LLVM.Lens: dictIdentifierLens :: forall lab f. Functor f => (Maybe String -> f (Maybe String)) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictLineLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) Word32
+ Text.LLVM.Lens: dictLineLens :: forall lab f. Functor f => (Word32 -> f Word32) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictNameLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe String)
+ Text.LLVM.Lens: dictNameLens :: forall lab f. Functor f => (Maybe String -> f (Maybe String)) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictOffsetLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) Word64
+ Text.LLVM.Lens: dictOffsetLens :: forall lab f. Functor f => (Word64 -> f Word64) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictRankLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe (ValMd' lab_i4baW))
+ Text.LLVM.Lens: dictRankLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictRuntimeLangLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) DwarfLang
+ Text.LLVM.Lens: dictRuntimeLangLens :: forall lab f. Functor f => (DwarfLang -> f DwarfLang) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictScopeLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe (ValMd' lab_i4baW))
+ Text.LLVM.Lens: dictScopeLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictSizeLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) Word64
+ Text.LLVM.Lens: dictSizeLens :: forall lab f. Functor f => (Word64 -> f Word64) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictTagLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) DwarfTag
+ Text.LLVM.Lens: dictTagLens :: forall lab f. Functor f => (DwarfTag -> f DwarfTag) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictTemplateParamsLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe (ValMd' lab_i4baW))
+ Text.LLVM.Lens: dictTemplateParamsLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dictVTableHolderLens :: forall lab_i4baW. Lens' (DICompositeType' lab_i4baW) (Maybe (ValMd' lab_i4baW))
+ Text.LLVM.Lens: dictVTableHolderLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompositeType' lab -> f (DICompositeType' lab)
- Text.LLVM.Lens: dicuDWOIdLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) Word64
+ Text.LLVM.Lens: dicuDWOIdLens :: forall lab f. Functor f => (Word64 -> f Word64) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuDebugInfoForProfLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) Bool
+ Text.LLVM.Lens: dicuDebugInfoForProfLens :: forall lab f. Functor f => (Bool -> f Bool) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuEmissionKindLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) DIEmissionKind
+ Text.LLVM.Lens: dicuEmissionKindLens :: forall lab f. Functor f => (DIEmissionKind -> f DIEmissionKind) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuEnumsLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) (Maybe (ValMd' lab_i4b9U))
+ Text.LLVM.Lens: dicuEnumsLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuFileLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) (Maybe (ValMd' lab_i4b9U))
+ Text.LLVM.Lens: dicuFileLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuFlagsLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) (Maybe String)
+ Text.LLVM.Lens: dicuFlagsLens :: forall lab f. Functor f => (Maybe String -> f (Maybe String)) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuGlobalsLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) (Maybe (ValMd' lab_i4b9U))
+ Text.LLVM.Lens: dicuGlobalsLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuImportsLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) (Maybe (ValMd' lab_i4b9U))
+ Text.LLVM.Lens: dicuImportsLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuIsOptimizedLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) Bool
+ Text.LLVM.Lens: dicuIsOptimizedLens :: forall lab f. Functor f => (Bool -> f Bool) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuLanguageLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) DwarfLang
+ Text.LLVM.Lens: dicuLanguageLens :: forall lab f. Functor f => (DwarfLang -> f DwarfLang) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuMacrosLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) (Maybe (ValMd' lab_i4b9U))
+ Text.LLVM.Lens: dicuMacrosLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuNameTableKindLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) Word64
+ Text.LLVM.Lens: dicuNameTableKindLens :: forall lab f. Functor f => (Word64 -> f Word64) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuProducerLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) (Maybe String)
+ Text.LLVM.Lens: dicuProducerLens :: forall lab f. Functor f => (Maybe String -> f (Maybe String)) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuRangesBaseAddressLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) Bool
+ Text.LLVM.Lens: dicuRangesBaseAddressLens :: forall lab f. Functor f => (Bool -> f Bool) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuRetainedTypesLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) (Maybe (ValMd' lab_i4b9U))
+ Text.LLVM.Lens: dicuRetainedTypesLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuRuntimeVersionLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) Word16
+ Text.LLVM.Lens: dicuRuntimeVersionLens :: forall lab f. Functor f => (Word16 -> f Word16) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuSDKLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) (Maybe String)
+ Text.LLVM.Lens: dicuSDKLens :: forall lab f. Functor f => (Maybe String -> f (Maybe String)) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuSplitDebugFilenameLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) (Maybe FilePath)
+ Text.LLVM.Lens: dicuSplitDebugFilenameLens :: forall lab f. Functor f => (Maybe FilePath -> f (Maybe FilePath)) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuSplitDebugInliningLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) Bool
+ Text.LLVM.Lens: dicuSplitDebugInliningLens :: forall lab f. Functor f => (Bool -> f Bool) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuSubprogramsLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) (Maybe (ValMd' lab_i4b9U))
+ Text.LLVM.Lens: dicuSubprogramsLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: dicuSysRootLens :: forall lab_i4b9U. Lens' (DICompileUnit' lab_i4b9U) (Maybe String)
+ Text.LLVM.Lens: dicuSysRootLens :: forall lab f. Functor f => (Maybe String -> f (Maybe String)) -> DICompileUnit' lab -> f (DICompileUnit' lab)
- Text.LLVM.Lens: didtAlignLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) Word64
+ Text.LLVM.Lens: didtAlignLens :: forall lab f. Functor f => (Word64 -> f Word64) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: didtAnnotationsLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) (Maybe (ValMd' lab_i4bep))
+ Text.LLVM.Lens: didtAnnotationsLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: didtBaseTypeLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) (Maybe (ValMd' lab_i4bep))
+ Text.LLVM.Lens: didtBaseTypeLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: didtDwarfAddressSpaceLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) (Maybe Word32)
+ Text.LLVM.Lens: didtDwarfAddressSpaceLens :: forall lab f. Functor f => (Maybe Word32 -> f (Maybe Word32)) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: didtExtraDataLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) (Maybe (ValMd' lab_i4bep))
+ Text.LLVM.Lens: didtExtraDataLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: didtFileLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) (Maybe (ValMd' lab_i4bep))
+ Text.LLVM.Lens: didtFileLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: didtFlagsLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) DIFlags
+ Text.LLVM.Lens: didtFlagsLens :: forall lab f. Functor f => (DIFlags -> f DIFlags) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: didtLineLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) Word32
+ Text.LLVM.Lens: didtLineLens :: forall lab f. Functor f => (Word32 -> f Word32) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: didtNameLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) (Maybe String)
+ Text.LLVM.Lens: didtNameLens :: forall lab f. Functor f => (Maybe String -> f (Maybe String)) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: didtOffsetLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) Word64
+ Text.LLVM.Lens: didtOffsetLens :: forall lab f. Functor f => (Word64 -> f Word64) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: didtScopeLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) (Maybe (ValMd' lab_i4bep))
+ Text.LLVM.Lens: didtScopeLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: didtSizeLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) Word64
+ Text.LLVM.Lens: didtSizeLens :: forall lab f. Functor f => (Word64 -> f Word64) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: didtTagLens :: forall lab_i4bep. Lens' (DIDerivedType' lab_i4bep) DwarfTag
+ Text.LLVM.Lens: didtTagLens :: forall lab f. Functor f => (DwarfTag -> f DwarfTag) -> DIDerivedType' lab -> f (DIDerivedType' lab)
- Text.LLVM.Lens: digvAlignmentLens :: forall lab_i4bdd. Lens' (DIGlobalVariable' lab_i4bdd) (Maybe Word32)
+ Text.LLVM.Lens: digvAlignmentLens :: forall lab f. Functor f => (Maybe Word32 -> f (Maybe Word32)) -> DIGlobalVariable' lab -> f (DIGlobalVariable' lab)
- Text.LLVM.Lens: digvAnnotationsLens :: forall lab_i4bdd. Lens' (DIGlobalVariable' lab_i4bdd) (Maybe (ValMd' lab_i4bdd))
+ Text.LLVM.Lens: digvAnnotationsLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIGlobalVariable' lab -> f (DIGlobalVariable' lab)
- Text.LLVM.Lens: digvDeclarationLens :: forall lab_i4bdd. Lens' (DIGlobalVariable' lab_i4bdd) (Maybe (ValMd' lab_i4bdd))
+ Text.LLVM.Lens: digvDeclarationLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIGlobalVariable' lab -> f (DIGlobalVariable' lab)
- Text.LLVM.Lens: digvFileLens :: forall lab_i4bdd. Lens' (DIGlobalVariable' lab_i4bdd) (Maybe (ValMd' lab_i4bdd))
+ Text.LLVM.Lens: digvFileLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIGlobalVariable' lab -> f (DIGlobalVariable' lab)
- Text.LLVM.Lens: digvIsDefinitionLens :: forall lab_i4bdd. Lens' (DIGlobalVariable' lab_i4bdd) Bool
+ Text.LLVM.Lens: digvIsDefinitionLens :: forall lab f. Functor f => (Bool -> f Bool) -> DIGlobalVariable' lab -> f (DIGlobalVariable' lab)
- Text.LLVM.Lens: digvIsLocalLens :: forall lab_i4bdd. Lens' (DIGlobalVariable' lab_i4bdd) Bool
+ Text.LLVM.Lens: digvIsLocalLens :: forall lab f. Functor f => (Bool -> f Bool) -> DIGlobalVariable' lab -> f (DIGlobalVariable' lab)
- Text.LLVM.Lens: digvLineLens :: forall lab_i4bdd. Lens' (DIGlobalVariable' lab_i4bdd) Word32
+ Text.LLVM.Lens: digvLineLens :: forall lab f. Functor f => (Word32 -> f Word32) -> DIGlobalVariable' lab -> f (DIGlobalVariable' lab)
- Text.LLVM.Lens: digvLinkageNameLens :: forall lab_i4bdd. Lens' (DIGlobalVariable' lab_i4bdd) (Maybe String)
+ Text.LLVM.Lens: digvLinkageNameLens :: forall lab f. Functor f => (Maybe String -> f (Maybe String)) -> DIGlobalVariable' lab -> f (DIGlobalVariable' lab)
- Text.LLVM.Lens: digvNameLens :: forall lab_i4bdd. Lens' (DIGlobalVariable' lab_i4bdd) (Maybe String)
+ Text.LLVM.Lens: digvNameLens :: forall lab f. Functor f => (Maybe String -> f (Maybe String)) -> DIGlobalVariable' lab -> f (DIGlobalVariable' lab)
- Text.LLVM.Lens: digvScopeLens :: forall lab_i4bdd. Lens' (DIGlobalVariable' lab_i4bdd) (Maybe (ValMd' lab_i4bdd))
+ Text.LLVM.Lens: digvScopeLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIGlobalVariable' lab -> f (DIGlobalVariable' lab)
- Text.LLVM.Lens: digvTypeLens :: forall lab_i4bdd. Lens' (DIGlobalVariable' lab_i4bdd) (Maybe (ValMd' lab_i4bdd))
+ Text.LLVM.Lens: digvTypeLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIGlobalVariable' lab -> f (DIGlobalVariable' lab)
- Text.LLVM.Lens: digvVariableLens :: forall lab_i4bdd. Lens' (DIGlobalVariable' lab_i4bdd) (Maybe (ValMd' lab_i4bdd))
+ Text.LLVM.Lens: digvVariableLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIGlobalVariable' lab -> f (DIGlobalVariable' lab)
- Text.LLVM.Lens: digveExpressionLens :: forall lab_i4bcU. Lens' (DIGlobalVariableExpression' lab_i4bcU) (Maybe (ValMd' lab_i4bcU))
+ Text.LLVM.Lens: digveExpressionLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIGlobalVariableExpression' lab -> f (DIGlobalVariableExpression' lab)
- Text.LLVM.Lens: digveVariableLens :: forall lab_i4bcU. Lens' (DIGlobalVariableExpression' lab_i4bcU) (Maybe (ValMd' lab_i4bcU))
+ Text.LLVM.Lens: digveVariableLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DIGlobalVariableExpression' lab -> f (DIGlobalVariableExpression' lab)
- Text.LLVM.Lens: dilbColumnLens :: forall lab_i4baB. Lens' (DILexicalBlock' lab_i4baB) Word16
+ Text.LLVM.Lens: dilbColumnLens :: forall lab f. Functor f => (Word16 -> f Word16) -> DILexicalBlock' lab -> f (DILexicalBlock' lab)
- Text.LLVM.Lens: dilbFileLens :: forall lab_i4baB. Lens' (DILexicalBlock' lab_i4baB) (Maybe (ValMd' lab_i4baB))
+ Text.LLVM.Lens: dilbFileLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DILexicalBlock' lab -> f (DILexicalBlock' lab)
- Text.LLVM.Lens: dilbLineLens :: forall lab_i4baB. Lens' (DILexicalBlock' lab_i4baB) Word32
+ Text.LLVM.Lens: dilbLineLens :: forall lab f. Functor f => (Word32 -> f Word32) -> DILexicalBlock' lab -> f (DILexicalBlock' lab)
- Text.LLVM.Lens: dilbScopeLens :: forall lab_i4baB. Lens' (DILexicalBlock' lab_i4baB) (Maybe (ValMd' lab_i4baB))
+ Text.LLVM.Lens: dilbScopeLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DILexicalBlock' lab -> f (DILexicalBlock' lab)
- Text.LLVM.Lens: dilbfDiscriminatorLens :: forall lab_i4b9A. Lens' (DILexicalBlockFile' lab_i4b9A) Word32
+ Text.LLVM.Lens: dilbfDiscriminatorLens :: forall lab f. Functor f => (Word32 -> f Word32) -> DILexicalBlockFile' lab -> f (DILexicalBlockFile' lab)
- Text.LLVM.Lens: dilbfFileLens :: forall lab_i4b9A. Lens' (DILexicalBlockFile' lab_i4b9A) (Maybe (ValMd' lab_i4b9A))
+ Text.LLVM.Lens: dilbfFileLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DILexicalBlockFile' lab -> f (DILexicalBlockFile' lab)
- Text.LLVM.Lens: dilbfScopeLens :: forall lab_i4b9A. Lens' (DILexicalBlockFile' lab_i4b9A) (ValMd' lab_i4b9A)
+ Text.LLVM.Lens: dilbfScopeLens :: forall lab f. Functor f => (ValMd' lab -> f (ValMd' lab)) -> DILexicalBlockFile' lab -> f (DILexicalBlockFile' lab)
- Text.LLVM.Lens: dilvAlignmentLens :: forall lab_i4bcs. Lens' (DILocalVariable' lab_i4bcs) (Maybe Word32)
+ Text.LLVM.Lens: dilvAlignmentLens :: forall lab f. Functor f => (Maybe Word32 -> f (Maybe Word32)) -> DILocalVariable' lab -> f (DILocalVariable' lab)
- Text.LLVM.Lens: dilvAnnotationsLens :: forall lab_i4bcs. Lens' (DILocalVariable' lab_i4bcs) (Maybe (ValMd' lab_i4bcs))
+ Text.LLVM.Lens: dilvAnnotationsLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DILocalVariable' lab -> f (DILocalVariable' lab)
- Text.LLVM.Lens: dilvArgLens :: forall lab_i4bcs. Lens' (DILocalVariable' lab_i4bcs) Word16
+ Text.LLVM.Lens: dilvArgLens :: forall lab f. Functor f => (Word16 -> f Word16) -> DILocalVariable' lab -> f (DILocalVariable' lab)
- Text.LLVM.Lens: dilvFileLens :: forall lab_i4bcs. Lens' (DILocalVariable' lab_i4bcs) (Maybe (ValMd' lab_i4bcs))
+ Text.LLVM.Lens: dilvFileLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DILocalVariable' lab -> f (DILocalVariable' lab)
- Text.LLVM.Lens: dilvFlagsLens :: forall lab_i4bcs. Lens' (DILocalVariable' lab_i4bcs) DIFlags
+ Text.LLVM.Lens: dilvFlagsLens :: forall lab f. Functor f => (DIFlags -> f DIFlags) -> DILocalVariable' lab -> f (DILocalVariable' lab)
- Text.LLVM.Lens: dilvLineLens :: forall lab_i4bcs. Lens' (DILocalVariable' lab_i4bcs) Word32
+ Text.LLVM.Lens: dilvLineLens :: forall lab f. Functor f => (Word32 -> f Word32) -> DILocalVariable' lab -> f (DILocalVariable' lab)
- Text.LLVM.Lens: dilvNameLens :: forall lab_i4bcs. Lens' (DILocalVariable' lab_i4bcs) (Maybe String)
+ Text.LLVM.Lens: dilvNameLens :: forall lab f. Functor f => (Maybe String -> f (Maybe String)) -> DILocalVariable' lab -> f (DILocalVariable' lab)
- Text.LLVM.Lens: dilvScopeLens :: forall lab_i4bcs. Lens' (DILocalVariable' lab_i4bcs) (Maybe (ValMd' lab_i4bcs))
+ Text.LLVM.Lens: dilvScopeLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DILocalVariable' lab -> f (DILocalVariable' lab)
- Text.LLVM.Lens: dilvTypeLens :: forall lab_i4bcs. Lens' (DILocalVariable' lab_i4bcs) (Maybe (ValMd' lab_i4bcs))
+ Text.LLVM.Lens: dilvTypeLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DILocalVariable' lab -> f (DILocalVariable' lab)
- Text.LLVM.Lens: dispAnnotationsLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) (Maybe (ValMd' lab_i4bbI))
+ Text.LLVM.Lens: dispAnnotationsLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispContainingTypeLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) (Maybe (ValMd' lab_i4bbI))
+ Text.LLVM.Lens: dispContainingTypeLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispDeclarationLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) (Maybe (ValMd' lab_i4bbI))
+ Text.LLVM.Lens: dispDeclarationLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispFileLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) (Maybe (ValMd' lab_i4bbI))
+ Text.LLVM.Lens: dispFileLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispFlagsLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) DIFlags
+ Text.LLVM.Lens: dispFlagsLens :: forall lab f. Functor f => (DIFlags -> f DIFlags) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispIsDefinitionLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) Bool
+ Text.LLVM.Lens: dispIsDefinitionLens :: forall lab f. Functor f => (Bool -> f Bool) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispIsLocalLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) Bool
+ Text.LLVM.Lens: dispIsLocalLens :: forall lab f. Functor f => (Bool -> f Bool) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispIsOptimizedLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) Bool
+ Text.LLVM.Lens: dispIsOptimizedLens :: forall lab f. Functor f => (Bool -> f Bool) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispLineLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) Word32
+ Text.LLVM.Lens: dispLineLens :: forall lab f. Functor f => (Word32 -> f Word32) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispLinkageNameLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) (Maybe String)
+ Text.LLVM.Lens: dispLinkageNameLens :: forall lab f. Functor f => (Maybe String -> f (Maybe String)) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispNameLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) (Maybe String)
+ Text.LLVM.Lens: dispNameLens :: forall lab f. Functor f => (Maybe String -> f (Maybe String)) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispRetainedNodesLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) (Maybe (ValMd' lab_i4bbI))
+ Text.LLVM.Lens: dispRetainedNodesLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispScopeLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) (Maybe (ValMd' lab_i4bbI))
+ Text.LLVM.Lens: dispScopeLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispScopeLineLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) Word32
+ Text.LLVM.Lens: dispScopeLineLens :: forall lab f. Functor f => (Word32 -> f Word32) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispTemplateParamsLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) (Maybe (ValMd' lab_i4bbI))
+ Text.LLVM.Lens: dispTemplateParamsLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispThisAdjustmentLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) Int64
+ Text.LLVM.Lens: dispThisAdjustmentLens :: forall lab f. Functor f => (Int64 -> f Int64) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispThrownTypesLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) (Maybe (ValMd' lab_i4bbI))
+ Text.LLVM.Lens: dispThrownTypesLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispTypeLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) (Maybe (ValMd' lab_i4bbI))
+ Text.LLVM.Lens: dispTypeLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispUnitLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) (Maybe (ValMd' lab_i4bbI))
+ Text.LLVM.Lens: dispUnitLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispVirtualIndexLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) Word32
+ Text.LLVM.Lens: dispVirtualIndexLens :: forall lab f. Functor f => (Word32 -> f Word32) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: dispVirtualityLens :: forall lab_i4bbI. Lens' (DISubprogram' lab_i4bbI) DwarfVirtuality
+ Text.LLVM.Lens: dispVirtualityLens :: forall lab f. Functor f => (DwarfVirtuality -> f DwarfVirtuality) -> DISubprogram' lab -> f (DISubprogram' lab)
- Text.LLVM.Lens: disrCountLens :: forall lab_i4bdK. Lens' (DISubrange' lab_i4bdK) (Maybe (ValMd' lab_i4bdK))
+ Text.LLVM.Lens: disrCountLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubrange' lab -> f (DISubrange' lab)
- Text.LLVM.Lens: disrLowerBoundLens :: forall lab_i4bdK. Lens' (DISubrange' lab_i4bdK) (Maybe (ValMd' lab_i4bdK))
+ Text.LLVM.Lens: disrLowerBoundLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubrange' lab -> f (DISubrange' lab)
- Text.LLVM.Lens: disrStrideLens :: forall lab_i4bdK. Lens' (DISubrange' lab_i4bdK) (Maybe (ValMd' lab_i4bdK))
+ Text.LLVM.Lens: disrStrideLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubrange' lab -> f (DISubrange' lab)
- Text.LLVM.Lens: disrUpperBoundLens :: forall lab_i4bdK. Lens' (DISubrange' lab_i4bdK) (Maybe (ValMd' lab_i4bdK))
+ Text.LLVM.Lens: disrUpperBoundLens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DISubrange' lab -> f (DISubrange' lab)
- Text.LLVM.Lens: distFlagsLens :: forall lab_i4be7. Lens' (DISubroutineType' lab_i4be7) DIFlags
+ Text.LLVM.Lens: distFlagsLens :: forall lab f. Functor f => (DIFlags -> f DIFlags) -> DISubroutineType' lab -> f (DISubroutineType' lab)
- Text.LLVM.Lens: distTypeArrayLens :: forall lab_i4be7 lab_a4lnd. Lens (DISubroutineType' lab_i4be7) (DISubroutineType' lab_a4lnd) (Maybe (ValMd' lab_i4be7)) (Maybe (ValMd' lab_a4lnd))
+ Text.LLVM.Lens: distTypeArrayLens :: forall lab1 lab2 f. Functor f => (Maybe (ValMd' lab1) -> f (Maybe (ValMd' lab2))) -> DISubroutineType' lab1 -> f (DISubroutineType' lab2)
- Text.LLVM.Lens: dlColLens :: forall lab_i4bgb. Lens' (DebugLoc' lab_i4bgb) Word32
+ Text.LLVM.Lens: dlColLens :: forall lab f. Functor f => (Word32 -> f Word32) -> DebugLoc' lab -> f (DebugLoc' lab)
- Text.LLVM.Lens: dlIALens :: forall lab_i4bgb. Lens' (DebugLoc' lab_i4bgb) (Maybe (ValMd' lab_i4bgb))
+ Text.LLVM.Lens: dlIALens :: forall lab f. Functor f => (Maybe (ValMd' lab) -> f (Maybe (ValMd' lab))) -> DebugLoc' lab -> f (DebugLoc' lab)
- Text.LLVM.Lens: dlImplicitLens :: forall lab_i4bgb. Lens' (DebugLoc' lab_i4bgb) Bool
+ Text.LLVM.Lens: dlImplicitLens :: forall lab f. Functor f => (Bool -> f Bool) -> DebugLoc' lab -> f (DebugLoc' lab)
- Text.LLVM.Lens: dlLineLens :: forall lab_i4bgb. Lens' (DebugLoc' lab_i4bgb) Word32
+ Text.LLVM.Lens: dlLineLens :: forall lab f. Functor f => (Word32 -> f Word32) -> DebugLoc' lab -> f (DebugLoc' lab)
- Text.LLVM.Lens: dlScopeLens :: forall lab_i4bgb. Lens' (DebugLoc' lab_i4bgb) (ValMd' lab_i4bgb)
+ Text.LLVM.Lens: dlScopeLens :: forall lab f. Functor f => (ValMd' lab -> f (ValMd' lab)) -> DebugLoc' lab -> f (DebugLoc' lab)
- Text.LLVM.Lens: typedTypeLens :: forall a_i4b6P. Lens' (Typed a_i4b6P) Type
+ Text.LLVM.Lens: typedTypeLens :: forall a f. Functor f => (Type -> f Type) -> Typed a -> f (Typed a)
- Text.LLVM.Lens: typedValueLens :: forall a_i4b6P a_a4lar. Lens (Typed a_i4b6P) (Typed a_a4lar) a_i4b6P a_a4lar
+ Text.LLVM.Lens: typedValueLens :: forall a1 a2 f. Functor f => (a1 -> f a2) -> Typed a1 -> f (Typed a2)
- Text.LLVM.PP: type Fmt a = (?config :: Config) => a -> Doc
+ Text.LLVM.PP: type Fmt a = ?config :: Config => a -> Doc
Files
- CHANGELOG.md +4/−0
- llvm-pretty.cabal +2/−2
- src/Text/LLVM.hs +1/−0
- src/Text/LLVM/AST.hs +21/−0
- src/Text/LLVM/PP.hs +8/−0
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for llvm-pretty +## 0.13.1.0 (October 2025)++* Add a `FunctionPointerAlign` constructor to `LayoutSpec`.+ ## 0.13.0.0 (March 2025) * Changed some of the signatures of helper functions in the AST to make them more
llvm-pretty.cabal view
@@ -1,6 +1,6 @@ Cabal-version: 2.2 Name: llvm-pretty-Version: 0.13.0.0+Version: 0.13.1.0 License: BSD-3-Clause License-file: LICENSE Author: Trevor Elliott@@ -13,7 +13,7 @@ Augustsson. The library provides a monadic interface to a pretty printer, that allows functions to be defined and called, generating the corresponding LLVM assembly when run.-tested-with: GHC==9.8.4, GHC==9.6.6, GHC==9.4.8+tested-with: GHC==9.10.1, GHC==9.8.4, GHC==9.6.6 extra-doc-files: CHANGELOG.md, README.md
src/Text/LLVM.hs view
@@ -40,6 +40,7 @@ -- * Basic Blocks , BB()+ , runBB , freshLabel , label , comment
src/Text/LLVM/AST.hs view
@@ -28,6 +28,7 @@ -- * Data Layout , DataLayout , LayoutSpec(..)+ , FunctionPointerAlignType(..) , Mangling(..) , parseDataLayout -- * Inline Assembly@@ -292,9 +293,20 @@ | AggregateSize !Int !Int (Maybe Int) -- ^ size, abi, pref | NativeIntSize [Int] | StackAlign !Int -- ^ size+ | FunctionPointerAlign !FunctionPointerAlignType !Int -- ^ type, abi | Mangling Mangling deriving (Data, Eq, Generic, Ord, Show, Typeable) +-- | How should a function pointer be aligned?+data FunctionPointerAlignType+ = IndependentOfFunctionAlign+ -- ^ The alignment of function pointers is independent of the alignment of+ -- functions.+ | MultipleOfFunctionAlign+ -- ^ The alignment of function pointers is a multiple of the explicit+ -- alignment specified on the function.+ deriving (Data, Eq, Enum, Generic, Ord, Show, Typeable)+ data Mangling = ElfMangling | MipsMangling | MachOMangling@@ -318,6 +330,7 @@ 'E' -> return BigEndian 'e' -> return LittleEndian 'S' -> StackAlign <$> pInt+ 'F' -> FunctionPointerAlign <$> pFunctionPointerAlignType <*> pInt 'p' -> PointerSize <$> pInt0 <*> pCInt <*> pCInt <*> pPref 'i' -> IntegerSize <$> pInt <*> pCInt <*> pPref 'v' -> VectorSize <$> pInt <*> pCInt <*> pPref@@ -340,6 +353,14 @@ 'a' -> AggregateSize <$> pInt <*> pCInt <*> pPref 'n' -> NativeIntSize <$> sepBy pInt (char ':') 'm' -> Mangling <$> (char ':' >> pMangling)+ _ -> mzero++ pFunctionPointerAlignType :: Parser FunctionPointerAlignType+ pFunctionPointerAlignType =+ do c <- letter+ case c of+ 'i' -> return IndependentOfFunctionAlign+ 'n' -> return MultipleOfFunctionAlign _ -> mzero pMangling :: Parser Mangling
src/Text/LLVM/PP.hs view
@@ -216,6 +216,8 @@ AggregateSize sz abi pref -> char 'a' <> ppLayoutBody sz abi pref NativeIntSize szs -> char 'n' <> hcat (punctuate (char ':') (map int szs))+ FunctionPointerAlign ty abi ->+ char 'F' <> ppFunctionPointerAlignType ty <> int abi StackAlign a -> char 'S' <> int a Mangling m -> char 'm' <> char ':' <> ppMangling m @@ -226,6 +228,12 @@ pref = case mb of Nothing -> empty Just p -> char ':' <> int p++ppFunctionPointerAlignType :: Fmt FunctionPointerAlignType+ppFunctionPointerAlignType ty =+ case ty of+ IndependentOfFunctionAlign -> char 'i'+ MultipleOfFunctionAlign -> char 'n' ppMangling :: Fmt Mangling ppMangling ElfMangling = char 'e'