packages feed

llvm-pretty 0.12.0.0 → 0.12.1.0

raw patch · 6 files changed

+101/−6 lines, 6 filesdep ~basedep ~th-abstractionnew-uploaderPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base, th-abstraction

API changes (from Hackage documentation)

+ Text.LLVM.AST: AtomicFAdd :: AtomicRWOp
+ Text.LLVM.AST: AtomicFMax :: AtomicRWOp
+ Text.LLVM.AST: AtomicFMin :: AtomicRWOp
+ Text.LLVM.AST: AtomicFSub :: AtomicRWOp
+ Text.LLVM.AST: AtomicUDecWrap :: AtomicRWOp
+ Text.LLVM.AST: AtomicUIncWrap :: AtomicRWOp
+ Text.LLVM.PP: llvmVerToString :: LLVMVer -> String
+ Text.LLVM.PP: onlyOnLLVM :: (?config :: Config) => LLVMVer -> String -> a -> a
- Text.LLVM.Lens: bbLabelLens :: forall lab_i4aJq. Lens' (BasicBlock' lab_i4aJq) (Maybe lab_i4aJq)
+ Text.LLVM.Lens: bbLabelLens :: forall lab_i4bjW. Lens' (BasicBlock' lab_i4bjW) (Maybe lab_i4bjW)
- Text.LLVM.Lens: bbStmtsLens :: forall lab_i4aJq. Lens' (BasicBlock' lab_i4aJq) [Stmt' lab_i4aJq]
+ Text.LLVM.Lens: bbStmtsLens :: forall lab_i4bjW. Lens' (BasicBlock' lab_i4bjW) [Stmt' lab_i4bjW]
- Text.LLVM.Lens: dialArgsLens :: forall lab_i4avB lab_a4l91. Lens (DIArgList' lab_i4avB) (DIArgList' lab_a4l91) [ValMd' lab_i4avB] [ValMd' lab_a4l91]
+ Text.LLVM.Lens: dialArgsLens :: forall lab_i4b67 lab_a4lJx. Lens (DIArgList' lab_i4b67) (DIArgList' lab_a4lJx) [ValMd' lab_i4b67] [ValMd' lab_a4lJx]
- Text.LLVM.Lens: dictAlignLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) Word64
+ Text.LLVM.Lens: dictAlignLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) Word64
- Text.LLVM.Lens: dictAllocatedLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe (ValMd' lab_i4ayD))
+ Text.LLVM.Lens: dictAllocatedLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe (ValMd' lab_i4b99))
- Text.LLVM.Lens: dictAnnotationsLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe (ValMd' lab_i4ayD))
+ Text.LLVM.Lens: dictAnnotationsLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe (ValMd' lab_i4b99))
- Text.LLVM.Lens: dictAssociatedLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe (ValMd' lab_i4ayD))
+ Text.LLVM.Lens: dictAssociatedLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe (ValMd' lab_i4b99))
- Text.LLVM.Lens: dictBaseTypeLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe (ValMd' lab_i4ayD))
+ Text.LLVM.Lens: dictBaseTypeLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe (ValMd' lab_i4b99))
- Text.LLVM.Lens: dictDataLocationLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe (ValMd' lab_i4ayD))
+ Text.LLVM.Lens: dictDataLocationLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe (ValMd' lab_i4b99))
- Text.LLVM.Lens: dictDiscriminatorLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe (ValMd' lab_i4ayD))
+ Text.LLVM.Lens: dictDiscriminatorLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe (ValMd' lab_i4b99))
- Text.LLVM.Lens: dictElementsLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe (ValMd' lab_i4ayD))
+ Text.LLVM.Lens: dictElementsLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe (ValMd' lab_i4b99))
- Text.LLVM.Lens: dictFileLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe (ValMd' lab_i4ayD))
+ Text.LLVM.Lens: dictFileLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe (ValMd' lab_i4b99))
- Text.LLVM.Lens: dictFlagsLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) DIFlags
+ Text.LLVM.Lens: dictFlagsLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) DIFlags
- Text.LLVM.Lens: dictIdentifierLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe String)
+ Text.LLVM.Lens: dictIdentifierLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe String)
- Text.LLVM.Lens: dictLineLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) Word32
+ Text.LLVM.Lens: dictLineLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) Word32
- Text.LLVM.Lens: dictNameLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe String)
+ Text.LLVM.Lens: dictNameLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe String)
- Text.LLVM.Lens: dictOffsetLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) Word64
+ Text.LLVM.Lens: dictOffsetLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) Word64
- Text.LLVM.Lens: dictRankLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe (ValMd' lab_i4ayD))
+ Text.LLVM.Lens: dictRankLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe (ValMd' lab_i4b99))
- Text.LLVM.Lens: dictRuntimeLangLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) DwarfLang
+ Text.LLVM.Lens: dictRuntimeLangLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) DwarfLang
- Text.LLVM.Lens: dictScopeLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe (ValMd' lab_i4ayD))
+ Text.LLVM.Lens: dictScopeLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe (ValMd' lab_i4b99))
- Text.LLVM.Lens: dictSizeLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) Word64
+ Text.LLVM.Lens: dictSizeLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) Word64
- Text.LLVM.Lens: dictTagLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) DwarfTag
+ Text.LLVM.Lens: dictTagLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) DwarfTag
- Text.LLVM.Lens: dictTemplateParamsLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe (ValMd' lab_i4ayD))
+ Text.LLVM.Lens: dictTemplateParamsLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe (ValMd' lab_i4b99))
- Text.LLVM.Lens: dictVTableHolderLens :: forall lab_i4ayD. Lens' (DICompositeType' lab_i4ayD) (Maybe (ValMd' lab_i4ayD))
+ Text.LLVM.Lens: dictVTableHolderLens :: forall lab_i4b99. Lens' (DICompositeType' lab_i4b99) (Maybe (ValMd' lab_i4b99))
- Text.LLVM.Lens: dicuDWOIdLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) Word64
+ Text.LLVM.Lens: dicuDWOIdLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) Word64
- Text.LLVM.Lens: dicuDebugInfoForProfLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) Bool
+ Text.LLVM.Lens: dicuDebugInfoForProfLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) Bool
- Text.LLVM.Lens: dicuEmissionKindLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) DIEmissionKind
+ Text.LLVM.Lens: dicuEmissionKindLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) DIEmissionKind
- Text.LLVM.Lens: dicuEnumsLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) (Maybe (ValMd' lab_i4axB))
+ Text.LLVM.Lens: dicuEnumsLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) (Maybe (ValMd' lab_i4b87))
- Text.LLVM.Lens: dicuFileLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) (Maybe (ValMd' lab_i4axB))
+ Text.LLVM.Lens: dicuFileLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) (Maybe (ValMd' lab_i4b87))
- Text.LLVM.Lens: dicuFlagsLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) (Maybe String)
+ Text.LLVM.Lens: dicuFlagsLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) (Maybe String)
- Text.LLVM.Lens: dicuGlobalsLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) (Maybe (ValMd' lab_i4axB))
+ Text.LLVM.Lens: dicuGlobalsLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) (Maybe (ValMd' lab_i4b87))
- Text.LLVM.Lens: dicuImportsLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) (Maybe (ValMd' lab_i4axB))
+ Text.LLVM.Lens: dicuImportsLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) (Maybe (ValMd' lab_i4b87))
- Text.LLVM.Lens: dicuIsOptimizedLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) Bool
+ Text.LLVM.Lens: dicuIsOptimizedLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) Bool
- Text.LLVM.Lens: dicuLanguageLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) DwarfLang
+ Text.LLVM.Lens: dicuLanguageLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) DwarfLang
- Text.LLVM.Lens: dicuMacrosLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) (Maybe (ValMd' lab_i4axB))
+ Text.LLVM.Lens: dicuMacrosLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) (Maybe (ValMd' lab_i4b87))
- Text.LLVM.Lens: dicuNameTableKindLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) Word64
+ Text.LLVM.Lens: dicuNameTableKindLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) Word64
- Text.LLVM.Lens: dicuProducerLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) (Maybe String)
+ Text.LLVM.Lens: dicuProducerLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) (Maybe String)
- Text.LLVM.Lens: dicuRangesBaseAddressLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) Bool
+ Text.LLVM.Lens: dicuRangesBaseAddressLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) Bool
- Text.LLVM.Lens: dicuRetainedTypesLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) (Maybe (ValMd' lab_i4axB))
+ Text.LLVM.Lens: dicuRetainedTypesLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) (Maybe (ValMd' lab_i4b87))
- Text.LLVM.Lens: dicuRuntimeVersionLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) Word16
+ Text.LLVM.Lens: dicuRuntimeVersionLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) Word16
- Text.LLVM.Lens: dicuSDKLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) (Maybe String)
+ Text.LLVM.Lens: dicuSDKLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) (Maybe String)
- Text.LLVM.Lens: dicuSplitDebugFilenameLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) (Maybe FilePath)
+ Text.LLVM.Lens: dicuSplitDebugFilenameLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) (Maybe FilePath)
- Text.LLVM.Lens: dicuSplitDebugInliningLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) Bool
+ Text.LLVM.Lens: dicuSplitDebugInliningLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) Bool
- Text.LLVM.Lens: dicuSubprogramsLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) (Maybe (ValMd' lab_i4axB))
+ Text.LLVM.Lens: dicuSubprogramsLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) (Maybe (ValMd' lab_i4b87))
- Text.LLVM.Lens: dicuSysRootLens :: forall lab_i4axB. Lens' (DICompileUnit' lab_i4axB) (Maybe String)
+ Text.LLVM.Lens: dicuSysRootLens :: forall lab_i4b87. Lens' (DICompileUnit' lab_i4b87) (Maybe String)
- Text.LLVM.Lens: didtAlignLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) Word64
+ Text.LLVM.Lens: didtAlignLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) Word64
- Text.LLVM.Lens: didtAnnotationsLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) (Maybe (ValMd' lab_i4aC6))
+ Text.LLVM.Lens: didtAnnotationsLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) (Maybe (ValMd' lab_i4bcC))
- Text.LLVM.Lens: didtBaseTypeLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) (Maybe (ValMd' lab_i4aC6))
+ Text.LLVM.Lens: didtBaseTypeLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) (Maybe (ValMd' lab_i4bcC))
- Text.LLVM.Lens: didtDwarfAddressSpaceLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) (Maybe Word32)
+ Text.LLVM.Lens: didtDwarfAddressSpaceLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) (Maybe Word32)
- Text.LLVM.Lens: didtExtraDataLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) (Maybe (ValMd' lab_i4aC6))
+ Text.LLVM.Lens: didtExtraDataLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) (Maybe (ValMd' lab_i4bcC))
- Text.LLVM.Lens: didtFileLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) (Maybe (ValMd' lab_i4aC6))
+ Text.LLVM.Lens: didtFileLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) (Maybe (ValMd' lab_i4bcC))
- Text.LLVM.Lens: didtFlagsLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) DIFlags
+ Text.LLVM.Lens: didtFlagsLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) DIFlags
- Text.LLVM.Lens: didtLineLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) Word32
+ Text.LLVM.Lens: didtLineLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) Word32
- Text.LLVM.Lens: didtNameLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) (Maybe String)
+ Text.LLVM.Lens: didtNameLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) (Maybe String)
- Text.LLVM.Lens: didtOffsetLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) Word64
+ Text.LLVM.Lens: didtOffsetLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) Word64
- Text.LLVM.Lens: didtScopeLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) (Maybe (ValMd' lab_i4aC6))
+ Text.LLVM.Lens: didtScopeLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) (Maybe (ValMd' lab_i4bcC))
- Text.LLVM.Lens: didtSizeLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) Word64
+ Text.LLVM.Lens: didtSizeLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) Word64
- Text.LLVM.Lens: didtTagLens :: forall lab_i4aC6. Lens' (DIDerivedType' lab_i4aC6) DwarfTag
+ Text.LLVM.Lens: didtTagLens :: forall lab_i4bcC. Lens' (DIDerivedType' lab_i4bcC) DwarfTag
- Text.LLVM.Lens: digvAlignmentLens :: forall lab_i4aAU. Lens' (DIGlobalVariable' lab_i4aAU) (Maybe Word32)
+ Text.LLVM.Lens: digvAlignmentLens :: forall lab_i4bbq. Lens' (DIGlobalVariable' lab_i4bbq) (Maybe Word32)
- Text.LLVM.Lens: digvAnnotationsLens :: forall lab_i4aAU. Lens' (DIGlobalVariable' lab_i4aAU) (Maybe (ValMd' lab_i4aAU))
+ Text.LLVM.Lens: digvAnnotationsLens :: forall lab_i4bbq. Lens' (DIGlobalVariable' lab_i4bbq) (Maybe (ValMd' lab_i4bbq))
- Text.LLVM.Lens: digvDeclarationLens :: forall lab_i4aAU. Lens' (DIGlobalVariable' lab_i4aAU) (Maybe (ValMd' lab_i4aAU))
+ Text.LLVM.Lens: digvDeclarationLens :: forall lab_i4bbq. Lens' (DIGlobalVariable' lab_i4bbq) (Maybe (ValMd' lab_i4bbq))
- Text.LLVM.Lens: digvFileLens :: forall lab_i4aAU. Lens' (DIGlobalVariable' lab_i4aAU) (Maybe (ValMd' lab_i4aAU))
+ Text.LLVM.Lens: digvFileLens :: forall lab_i4bbq. Lens' (DIGlobalVariable' lab_i4bbq) (Maybe (ValMd' lab_i4bbq))
- Text.LLVM.Lens: digvIsDefinitionLens :: forall lab_i4aAU. Lens' (DIGlobalVariable' lab_i4aAU) Bool
+ Text.LLVM.Lens: digvIsDefinitionLens :: forall lab_i4bbq. Lens' (DIGlobalVariable' lab_i4bbq) Bool
- Text.LLVM.Lens: digvIsLocalLens :: forall lab_i4aAU. Lens' (DIGlobalVariable' lab_i4aAU) Bool
+ Text.LLVM.Lens: digvIsLocalLens :: forall lab_i4bbq. Lens' (DIGlobalVariable' lab_i4bbq) Bool
- Text.LLVM.Lens: digvLineLens :: forall lab_i4aAU. Lens' (DIGlobalVariable' lab_i4aAU) Word32
+ Text.LLVM.Lens: digvLineLens :: forall lab_i4bbq. Lens' (DIGlobalVariable' lab_i4bbq) Word32
- Text.LLVM.Lens: digvLinkageNameLens :: forall lab_i4aAU. Lens' (DIGlobalVariable' lab_i4aAU) (Maybe String)
+ Text.LLVM.Lens: digvLinkageNameLens :: forall lab_i4bbq. Lens' (DIGlobalVariable' lab_i4bbq) (Maybe String)
- Text.LLVM.Lens: digvNameLens :: forall lab_i4aAU. Lens' (DIGlobalVariable' lab_i4aAU) (Maybe String)
+ Text.LLVM.Lens: digvNameLens :: forall lab_i4bbq. Lens' (DIGlobalVariable' lab_i4bbq) (Maybe String)
- Text.LLVM.Lens: digvScopeLens :: forall lab_i4aAU. Lens' (DIGlobalVariable' lab_i4aAU) (Maybe (ValMd' lab_i4aAU))
+ Text.LLVM.Lens: digvScopeLens :: forall lab_i4bbq. Lens' (DIGlobalVariable' lab_i4bbq) (Maybe (ValMd' lab_i4bbq))
- Text.LLVM.Lens: digvTypeLens :: forall lab_i4aAU. Lens' (DIGlobalVariable' lab_i4aAU) (Maybe (ValMd' lab_i4aAU))
+ Text.LLVM.Lens: digvTypeLens :: forall lab_i4bbq. Lens' (DIGlobalVariable' lab_i4bbq) (Maybe (ValMd' lab_i4bbq))
- Text.LLVM.Lens: digvVariableLens :: forall lab_i4aAU. Lens' (DIGlobalVariable' lab_i4aAU) (Maybe (ValMd' lab_i4aAU))
+ Text.LLVM.Lens: digvVariableLens :: forall lab_i4bbq. Lens' (DIGlobalVariable' lab_i4bbq) (Maybe (ValMd' lab_i4bbq))
- Text.LLVM.Lens: digveExpressionLens :: forall lab_i4aAB. Lens' (DIGlobalVariableExpression' lab_i4aAB) (Maybe (ValMd' lab_i4aAB))
+ Text.LLVM.Lens: digveExpressionLens :: forall lab_i4bb7. Lens' (DIGlobalVariableExpression' lab_i4bb7) (Maybe (ValMd' lab_i4bb7))
- Text.LLVM.Lens: digveVariableLens :: forall lab_i4aAB. Lens' (DIGlobalVariableExpression' lab_i4aAB) (Maybe (ValMd' lab_i4aAB))
+ Text.LLVM.Lens: digveVariableLens :: forall lab_i4bb7. Lens' (DIGlobalVariableExpression' lab_i4bb7) (Maybe (ValMd' lab_i4bb7))
- Text.LLVM.Lens: dilbColumnLens :: forall lab_i4ayi. Lens' (DILexicalBlock' lab_i4ayi) Word16
+ Text.LLVM.Lens: dilbColumnLens :: forall lab_i4b8O. Lens' (DILexicalBlock' lab_i4b8O) Word16
- Text.LLVM.Lens: dilbFileLens :: forall lab_i4ayi. Lens' (DILexicalBlock' lab_i4ayi) (Maybe (ValMd' lab_i4ayi))
+ Text.LLVM.Lens: dilbFileLens :: forall lab_i4b8O. Lens' (DILexicalBlock' lab_i4b8O) (Maybe (ValMd' lab_i4b8O))
- Text.LLVM.Lens: dilbLineLens :: forall lab_i4ayi. Lens' (DILexicalBlock' lab_i4ayi) Word32
+ Text.LLVM.Lens: dilbLineLens :: forall lab_i4b8O. Lens' (DILexicalBlock' lab_i4b8O) Word32
- Text.LLVM.Lens: dilbScopeLens :: forall lab_i4ayi. Lens' (DILexicalBlock' lab_i4ayi) (Maybe (ValMd' lab_i4ayi))
+ Text.LLVM.Lens: dilbScopeLens :: forall lab_i4b8O. Lens' (DILexicalBlock' lab_i4b8O) (Maybe (ValMd' lab_i4b8O))
- Text.LLVM.Lens: dilbfDiscriminatorLens :: forall lab_i4axh. Lens' (DILexicalBlockFile' lab_i4axh) Word32
+ Text.LLVM.Lens: dilbfDiscriminatorLens :: forall lab_i4b7N. Lens' (DILexicalBlockFile' lab_i4b7N) Word32
- Text.LLVM.Lens: dilbfFileLens :: forall lab_i4axh. Lens' (DILexicalBlockFile' lab_i4axh) (Maybe (ValMd' lab_i4axh))
+ Text.LLVM.Lens: dilbfFileLens :: forall lab_i4b7N. Lens' (DILexicalBlockFile' lab_i4b7N) (Maybe (ValMd' lab_i4b7N))
- Text.LLVM.Lens: dilbfScopeLens :: forall lab_i4axh. Lens' (DILexicalBlockFile' lab_i4axh) (ValMd' lab_i4axh)
+ Text.LLVM.Lens: dilbfScopeLens :: forall lab_i4b7N. Lens' (DILexicalBlockFile' lab_i4b7N) (ValMd' lab_i4b7N)
- Text.LLVM.Lens: dilvAlignmentLens :: forall lab_i4aA9. Lens' (DILocalVariable' lab_i4aA9) (Maybe Word32)
+ Text.LLVM.Lens: dilvAlignmentLens :: forall lab_i4baF. Lens' (DILocalVariable' lab_i4baF) (Maybe Word32)
- Text.LLVM.Lens: dilvAnnotationsLens :: forall lab_i4aA9. Lens' (DILocalVariable' lab_i4aA9) (Maybe (ValMd' lab_i4aA9))
+ Text.LLVM.Lens: dilvAnnotationsLens :: forall lab_i4baF. Lens' (DILocalVariable' lab_i4baF) (Maybe (ValMd' lab_i4baF))
- Text.LLVM.Lens: dilvArgLens :: forall lab_i4aA9. Lens' (DILocalVariable' lab_i4aA9) Word16
+ Text.LLVM.Lens: dilvArgLens :: forall lab_i4baF. Lens' (DILocalVariable' lab_i4baF) Word16
- Text.LLVM.Lens: dilvFileLens :: forall lab_i4aA9. Lens' (DILocalVariable' lab_i4aA9) (Maybe (ValMd' lab_i4aA9))
+ Text.LLVM.Lens: dilvFileLens :: forall lab_i4baF. Lens' (DILocalVariable' lab_i4baF) (Maybe (ValMd' lab_i4baF))
- Text.LLVM.Lens: dilvFlagsLens :: forall lab_i4aA9. Lens' (DILocalVariable' lab_i4aA9) DIFlags
+ Text.LLVM.Lens: dilvFlagsLens :: forall lab_i4baF. Lens' (DILocalVariable' lab_i4baF) DIFlags
- Text.LLVM.Lens: dilvLineLens :: forall lab_i4aA9. Lens' (DILocalVariable' lab_i4aA9) Word32
+ Text.LLVM.Lens: dilvLineLens :: forall lab_i4baF. Lens' (DILocalVariable' lab_i4baF) Word32
- Text.LLVM.Lens: dilvNameLens :: forall lab_i4aA9. Lens' (DILocalVariable' lab_i4aA9) (Maybe String)
+ Text.LLVM.Lens: dilvNameLens :: forall lab_i4baF. Lens' (DILocalVariable' lab_i4baF) (Maybe String)
- Text.LLVM.Lens: dilvScopeLens :: forall lab_i4aA9. Lens' (DILocalVariable' lab_i4aA9) (Maybe (ValMd' lab_i4aA9))
+ Text.LLVM.Lens: dilvScopeLens :: forall lab_i4baF. Lens' (DILocalVariable' lab_i4baF) (Maybe (ValMd' lab_i4baF))
- Text.LLVM.Lens: dilvTypeLens :: forall lab_i4aA9. Lens' (DILocalVariable' lab_i4aA9) (Maybe (ValMd' lab_i4aA9))
+ Text.LLVM.Lens: dilvTypeLens :: forall lab_i4baF. Lens' (DILocalVariable' lab_i4baF) (Maybe (ValMd' lab_i4baF))
- Text.LLVM.Lens: dispAnnotationsLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) (Maybe (ValMd' lab_i4azp))
+ Text.LLVM.Lens: dispAnnotationsLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) (Maybe (ValMd' lab_i4b9V))
- Text.LLVM.Lens: dispContainingTypeLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) (Maybe (ValMd' lab_i4azp))
+ Text.LLVM.Lens: dispContainingTypeLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) (Maybe (ValMd' lab_i4b9V))
- Text.LLVM.Lens: dispDeclarationLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) (Maybe (ValMd' lab_i4azp))
+ Text.LLVM.Lens: dispDeclarationLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) (Maybe (ValMd' lab_i4b9V))
- Text.LLVM.Lens: dispFileLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) (Maybe (ValMd' lab_i4azp))
+ Text.LLVM.Lens: dispFileLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) (Maybe (ValMd' lab_i4b9V))
- Text.LLVM.Lens: dispFlagsLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) DIFlags
+ Text.LLVM.Lens: dispFlagsLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) DIFlags
- Text.LLVM.Lens: dispIsDefinitionLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) Bool
+ Text.LLVM.Lens: dispIsDefinitionLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) Bool
- Text.LLVM.Lens: dispIsLocalLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) Bool
+ Text.LLVM.Lens: dispIsLocalLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) Bool
- Text.LLVM.Lens: dispIsOptimizedLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) Bool
+ Text.LLVM.Lens: dispIsOptimizedLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) Bool
- Text.LLVM.Lens: dispLineLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) Word32
+ Text.LLVM.Lens: dispLineLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) Word32
- Text.LLVM.Lens: dispLinkageNameLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) (Maybe String)
+ Text.LLVM.Lens: dispLinkageNameLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) (Maybe String)
- Text.LLVM.Lens: dispNameLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) (Maybe String)
+ Text.LLVM.Lens: dispNameLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) (Maybe String)
- Text.LLVM.Lens: dispRetainedNodesLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) (Maybe (ValMd' lab_i4azp))
+ Text.LLVM.Lens: dispRetainedNodesLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) (Maybe (ValMd' lab_i4b9V))
- Text.LLVM.Lens: dispScopeLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) (Maybe (ValMd' lab_i4azp))
+ Text.LLVM.Lens: dispScopeLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) (Maybe (ValMd' lab_i4b9V))
- Text.LLVM.Lens: dispScopeLineLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) Word32
+ Text.LLVM.Lens: dispScopeLineLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) Word32
- Text.LLVM.Lens: dispTemplateParamsLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) (Maybe (ValMd' lab_i4azp))
+ Text.LLVM.Lens: dispTemplateParamsLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) (Maybe (ValMd' lab_i4b9V))
- Text.LLVM.Lens: dispThisAdjustmentLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) Int64
+ Text.LLVM.Lens: dispThisAdjustmentLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) Int64
- Text.LLVM.Lens: dispThrownTypesLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) (Maybe (ValMd' lab_i4azp))
+ Text.LLVM.Lens: dispThrownTypesLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) (Maybe (ValMd' lab_i4b9V))
- Text.LLVM.Lens: dispTypeLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) (Maybe (ValMd' lab_i4azp))
+ Text.LLVM.Lens: dispTypeLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) (Maybe (ValMd' lab_i4b9V))
- Text.LLVM.Lens: dispUnitLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) (Maybe (ValMd' lab_i4azp))
+ Text.LLVM.Lens: dispUnitLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) (Maybe (ValMd' lab_i4b9V))
- Text.LLVM.Lens: dispVirtualIndexLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) Word32
+ Text.LLVM.Lens: dispVirtualIndexLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) Word32
- Text.LLVM.Lens: dispVirtualityLens :: forall lab_i4azp. Lens' (DISubprogram' lab_i4azp) DwarfVirtuality
+ Text.LLVM.Lens: dispVirtualityLens :: forall lab_i4b9V. Lens' (DISubprogram' lab_i4b9V) DwarfVirtuality
- Text.LLVM.Lens: disrCountLens :: forall lab_i4aBr. Lens' (DISubrange' lab_i4aBr) (Maybe (ValMd' lab_i4aBr))
+ Text.LLVM.Lens: disrCountLens :: forall lab_i4bbX. Lens' (DISubrange' lab_i4bbX) (Maybe (ValMd' lab_i4bbX))
- Text.LLVM.Lens: disrLowerBoundLens :: forall lab_i4aBr. Lens' (DISubrange' lab_i4aBr) (Maybe (ValMd' lab_i4aBr))
+ Text.LLVM.Lens: disrLowerBoundLens :: forall lab_i4bbX. Lens' (DISubrange' lab_i4bbX) (Maybe (ValMd' lab_i4bbX))
- Text.LLVM.Lens: disrStrideLens :: forall lab_i4aBr. Lens' (DISubrange' lab_i4aBr) (Maybe (ValMd' lab_i4aBr))
+ Text.LLVM.Lens: disrStrideLens :: forall lab_i4bbX. Lens' (DISubrange' lab_i4bbX) (Maybe (ValMd' lab_i4bbX))
- Text.LLVM.Lens: disrUpperBoundLens :: forall lab_i4aBr. Lens' (DISubrange' lab_i4aBr) (Maybe (ValMd' lab_i4aBr))
+ Text.LLVM.Lens: disrUpperBoundLens :: forall lab_i4bbX. Lens' (DISubrange' lab_i4bbX) (Maybe (ValMd' lab_i4bbX))
- Text.LLVM.Lens: distFlagsLens :: forall lab_i4aBO. Lens' (DISubroutineType' lab_i4aBO) DIFlags
+ Text.LLVM.Lens: distFlagsLens :: forall lab_i4bck. Lens' (DISubroutineType' lab_i4bck) DIFlags
- Text.LLVM.Lens: distTypeArrayLens :: forall lab_i4aBO lab_a4kKW. Lens (DISubroutineType' lab_i4aBO) (DISubroutineType' lab_a4kKW) (Maybe (ValMd' lab_i4aBO)) (Maybe (ValMd' lab_a4kKW))
+ Text.LLVM.Lens: distTypeArrayLens :: forall lab_i4bck lab_a4lls. Lens (DISubroutineType' lab_i4bck) (DISubroutineType' lab_a4lls) (Maybe (ValMd' lab_i4bck)) (Maybe (ValMd' lab_a4lls))
- Text.LLVM.Lens: dlColLens :: forall lab_i4aDS. Lens' (DebugLoc' lab_i4aDS) Word32
+ Text.LLVM.Lens: dlColLens :: forall lab_i4beo. Lens' (DebugLoc' lab_i4beo) Word32
- Text.LLVM.Lens: dlIALens :: forall lab_i4aDS. Lens' (DebugLoc' lab_i4aDS) (Maybe (ValMd' lab_i4aDS))
+ Text.LLVM.Lens: dlIALens :: forall lab_i4beo. Lens' (DebugLoc' lab_i4beo) (Maybe (ValMd' lab_i4beo))
- Text.LLVM.Lens: dlImplicitLens :: forall lab_i4aDS. Lens' (DebugLoc' lab_i4aDS) Bool
+ Text.LLVM.Lens: dlImplicitLens :: forall lab_i4beo. Lens' (DebugLoc' lab_i4beo) Bool
- Text.LLVM.Lens: dlLineLens :: forall lab_i4aDS. Lens' (DebugLoc' lab_i4aDS) Word32
+ Text.LLVM.Lens: dlLineLens :: forall lab_i4beo. Lens' (DebugLoc' lab_i4beo) Word32
- Text.LLVM.Lens: dlScopeLens :: forall lab_i4aDS. Lens' (DebugLoc' lab_i4aDS) (ValMd' lab_i4aDS)
+ Text.LLVM.Lens: dlScopeLens :: forall lab_i4beo. Lens' (DebugLoc' lab_i4beo) (ValMd' lab_i4beo)
- Text.LLVM.Lens: typedTypeLens :: forall a_i4auw. Lens' (Typed a_i4auw) Type
+ Text.LLVM.Lens: typedTypeLens :: forall a_i4b52. Lens' (Typed a_i4b52) Type
- Text.LLVM.Lens: typedValueLens :: forall a_i4auw a_a4kya. Lens (Typed a_i4auw) (Typed a_a4kya) a_i4auw a_a4kya
+ Text.LLVM.Lens: typedValueLens :: forall a_i4b52 a_a4l8G. Lens (Typed a_i4b52) (Typed a_a4l8G) a_i4b52 a_a4l8G

Files

CHANGELOG.md view
@@ -1,5 +1,11 @@ # Revision history for llvm-pretty +## 0.12.1.0 (August 2024)++* Fix for printing NaN and infinite floating point values.++* Add support for more AtomicRWOps.+ ## 0.12.0.0 (January 2024)  * Add preliminary support for LLVM versions up through 17.
README.md view
@@ -19,7 +19,7 @@ features](https://llvm.org/docs/LangRef.html), but there are places where our coverage of the LLVM language is incomplete. If you need a LLVM feature that is not currently supported by `llvm-pretty`, please [file an-issue](https://github.com/elliottt/llvm-pretty/issues/new).+issue](https://github.com/GaloisInc/llvm-pretty/issues/new).  ## `llvm-pretty` versus `llvm-pretty-bc-parser` 
llvm-pretty.cabal view
@@ -1,6 +1,6 @@ Cabal-version:       2.2 Name:                llvm-pretty-Version:             0.12.0.0+Version:             0.12.1.0 License:             BSD-3-Clause License-file:        LICENSE Author:              Trevor Elliott@@ -19,7 +19,7 @@  source-repository head   type:                 git-  location:             http://github.com/elliottt/llvm-pretty+  location:             http://github.com/GaloisInc/llvm-pretty  common common   Default-language:    Haskell2010@@ -46,7 +46,7 @@                        Text.LLVM.Triple.Parse.LookupTable                        Text.LLVM.Util -  Build-depends:       base             >= 4.9 && < 5,+  Build-depends:       base             >= 4.11 && < 5,                        containers       >= 0.4,                        parsec           >= 3,                        pretty           >= 1.0.1,
src/Text/LLVM/AST.hs view
@@ -1,3 +1,14 @@+{- |+Because this library supports many LLVM versions, it is possible to construct+an AST with the types in this module that only some LLVM versions will accept.+These cases are usually documented in the Haddocks for the relevant data types.+When trying to pretty-print constructions that are unsupported by the current+LLVM version, pretty-printing may 'error'.++At the same time, while the AST coverage is fairly extensive, it is also+incomplete: there are some values that new LLVM versions would accept but are+not yet represented here.+-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE DeriveDataTypeable, DeriveFunctor, DeriveGeneric #-} {-# LANGUAGE PatternGuards #-}@@ -994,6 +1005,12 @@   | AtomicMin   | AtomicUMax   | AtomicUMin+  | AtomicFAdd  -- ^ Introduced in LLVM 9+  | AtomicFSub  -- ^ Introduced in LLVM 9+  | AtomicFMax  -- ^ Introduced in LLVM 15+  | AtomicFMin  -- ^ Introduced in LLVM 15+  | AtomicUIncWrap  -- ^ Introduced in LLVM 16+  | AtomicUDecWrap  -- ^ Introduced in LLVM 16     deriving (Data, Eq, Enum, Generic, Ord, Show, Typeable)  data AtomicOrdering
src/Text/LLVM/PP.hs view
@@ -27,6 +27,7 @@ import Data.List (intersperse) import qualified Data.Map as Map import Data.Maybe (catMaybes,fromMaybe,isJust)+import GHC.Float (castDoubleToWord64, castFloatToWord32) import Numeric (showHex) import Text.PrettyPrint.HughesPJ import Data.Int@@ -95,6 +96,15 @@ llvmVer :: (?config :: Config) => LLVMVer llvmVer = cfgVer ?config +llvmVerToString :: LLVMVer -> String+llvmVerToString 0 = "3.5"+llvmVerToString 1 = "3.6"+llvmVerToString 2 = "3.7"+llvmVerToString 3 = "3.8"+llvmVerToString n+  | n >= 4    = show n+  | otherwise = error $ "Invalid LLVMVer: " ++ show n+ -- | This is a helper function for when a list of parameters is gated by a -- condition (usually the llvmVer value). when' :: Monoid a => Bool -> a -> a@@ -546,6 +556,12 @@ ppAtomicOp AtomicMin  = "min" ppAtomicOp AtomicUMax = "umax" ppAtomicOp AtomicUMin = "umin"+ppAtomicOp AtomicFAdd = onlyOnLLVM 9 "AtomicFAdd" "fadd"+ppAtomicOp AtomicFSub = onlyOnLLVM 9 "AtomicFSub" "fsub"+ppAtomicOp AtomicFMax = onlyOnLLVM 15 "AtomicFMax" "fmax"+ppAtomicOp AtomicFMin = onlyOnLLVM 15 "AtomicFMin" "fmin"+ppAtomicOp AtomicUIncWrap = onlyOnLLVM 16 "AtomicUIncWrap" "uinc_wrap"+ppAtomicOp AtomicUDecWrap = onlyOnLLVM 16 "AtomicUDecWrap" "udec_wrap"  ppScope ::  Fmt (Maybe String) ppScope Nothing = empty@@ -813,8 +829,15 @@ ppValue' pp val = case val of   ValInteger i       -> integer i   ValBool b          -> ppBool b-  ValFloat i         -> float i-  ValDouble i        -> double i+  -- Note: for +Inf/-Inf/NaNs, we want to output the bit-correct sequence+  ValFloat f         ->+    if isInfinite f || isNaN f+      then text "0x" <> text (showHex (castFloatToWord32 f) "")+      else float f+  ValDouble d        ->+    if isInfinite d || isNaN d+      then text "0x" <> text (showHex (castDoubleToWord64 d) "")+      else double d   ValFP80 (FP80_LongDouble e s) ->     -- shown as 0xK<<20-hex-digits>>, per     -- https://llvm.org/docs/LangRef.html#simple-constants@@ -1345,3 +1368,11 @@  ppMaybe :: Fmt a -> Fmt (Maybe a) ppMaybe  = maybe empty++-- | Throw an error if the @?config@ version is older than the given version. The+-- String indicates which constructor is unavailable in the error message.+onlyOnLLVM :: (?config :: Config) => LLVMVer -> String -> a -> a+onlyOnLLVM fromVer name+  | llvmVer >= fromVer = id+  | otherwise          = error $ name ++ " is supported only on LLVM >= "+                                 ++ llvmVerToString fromVer
test/Output.hs view
@@ -13,6 +13,7 @@  import           Control.Monad ( unless ) import qualified Data.Text as T+import           GHC.Float (castWord32ToFloat, castWord64ToDouble) import qualified Test.Tasty as Tasty import           Test.Tasty.HUnit import qualified Text.PrettyPrint as PP@@ -242,6 +243,46 @@       ; <label>: 123       --------       |]++  , testCase "Positive Infinity (float)" $+    assertEqLines+      (ppToText $ ppLLVM37 ppValue (ValFloat (castWord32ToFloat 0x7F800000)))+      "0x7f800000"++  , testCase "Negative Infinity (float)" $+    assertEqLines+      (ppToText $ ppLLVM37 ppValue (ValFloat (castWord32ToFloat 0xFF800000)))+      "0xff800000"++  , testCase "NaN 1 (float)" $+    assertEqLines+      (ppToText $ ppLLVM37 ppValue (ValFloat (castWord32ToFloat 0x7FC00000)))+      "0x7fc00000"++  , testCase "NaN 2 (float)" $+    assertEqLines+      (ppToText $ ppLLVM37 ppValue (ValFloat (castWord32ToFloat 0x7FD00000)))+      "0x7fd00000"++  , testCase "Positive Infinity (double)" $+    assertEqLines+      (ppToText $ ppLLVM37 ppValue (ValDouble (castWord64ToDouble 0x7FF0000000000000)))+      "0x7ff0000000000000"++  , testCase "Negative Infinity (double)" $+    assertEqLines+      (ppToText $ ppLLVM37 ppValue (ValDouble (castWord64ToDouble 0xFFF0000000000000)))+      "0xfff0000000000000"++  , testCase "NaN 1 (double)" $+    assertEqLines+      (ppToText $ ppLLVM37 ppValue (ValDouble (castWord64ToDouble 0x7FFC000000000000)))+      "0x7ffc000000000000"++  , testCase "NaN 2 (double)" $+    assertEqLines+      (ppToText $ ppLLVM37 ppValue (ValDouble (castWord64ToDouble 0x7FFD000000000000)))+      "0x7ffd000000000000"    ]