module Data.LLVM.BitCode.IR.Blocks where
import Data.LLVM.BitCode.Bitstream
import Data.LLVM.BitCode.Match
import Data.LLVM.BitCode.Record
import Control.Monad ((<=<))
blockInfoBlockId :: Match Entry [Entry]
blockInfoBlockId = fmap blockEntries . hasBlockId 0 <=< block
moduleBlockId :: Match Entry [Entry]
moduleBlockId = fmap blockEntries . hasBlockId 8 <=< block
paramattrBlockId :: Match Entry [Entry]
paramattrBlockId = fmap blockEntries . hasBlockId 9 <=< block
paramattrGroupBlockId :: Match Entry [Entry]
paramattrGroupBlockId = fmap blockEntries . hasBlockId 10 <=< block
constantsBlockId :: Match Entry [Entry]
constantsBlockId = fmap blockEntries . hasBlockId 11 <=< block
functionBlockId :: Match Entry [Entry]
functionBlockId = fmap blockEntries . hasBlockId 12 <=< block
valueSymtabBlockId :: Match Entry [Entry]
valueSymtabBlockId = fmap blockEntries . hasBlockId 14 <=< block
metadataBlockId :: Match Entry [Entry]
metadataBlockId = fmap blockEntries . hasBlockId 15 <=< block
metadataAttachmentBlockId :: Match Entry [Entry]
metadataAttachmentBlockId = fmap blockEntries . hasBlockId 16 <=< block
typeBlockIdNew :: Match Entry [Entry]
typeBlockIdNew = fmap blockEntries . hasBlockId 17 <=< block
uselistBlockId :: Match Entry [Entry]
uselistBlockId = fmap blockEntries . hasBlockId 18 <=< block
moduleCodeVersion :: Match Entry Record
moduleCodeVersion = hasRecordCode 1 <=< fromEntry
moduleCodeTriple :: Match Entry Record
moduleCodeTriple = hasRecordCode 2 <=< fromEntry
moduleCodeDatalayout :: Match Entry Record
moduleCodeDatalayout = hasRecordCode 3 <=< fromEntry
moduleCodeAsm :: Match Entry Record
moduleCodeAsm = hasRecordCode 4 <=< fromEntry
moduleCodeSectionname :: Match Entry Record
moduleCodeSectionname = hasRecordCode 5 <=< fromEntry
moduleCodeDeplib :: Match Entry Record
moduleCodeDeplib = hasRecordCode 6 <=< fromEntry
moduleCodeGlobalvar :: Match Entry Record
moduleCodeGlobalvar = hasRecordCode 7 <=< fromEntry
moduleCodeFunction :: Match Entry Record
moduleCodeFunction = hasRecordCode 8 <=< fromEntry
moduleCodeAlias :: Match Entry Record
moduleCodeAlias = hasRecordCode 9 <=< fromEntry
moduleCodePurgevals :: Match Entry Record
moduleCodePurgevals = hasRecordCode 10 <=< fromEntry
moduleCodeGcname :: Match Entry Record
moduleCodeGcname = hasRecordCode 11 <=< fromEntry