Build #6 for linearscan-hoopl-0.8.0

[all reports]

Package linearscan-hoopl-0.8.0
Install BuildFailed
Docs NotTried
Tests NotTried
Time submitted 2016-12-01 20:04:16.689301 UTC
Compiler ghc-8.0.1.20161018
OS linux
Arch x86_64
Dependencies QuickCheck-2.9.2, base-4.9.0.0, containers-0.5.7.1, free-4.12.4, hoopl-3.10.2.1, linearscan-1.0.0, transformers-0.5.2.0
Flags none

Code Coverage

No Code Coverage was submitted for this report.

Build log

[view raw]

Resolving dependencies...
Configuring base-orphans-0.5.4...
Configuring mtl-2.2.1...
Building base-orphans-0.5.4...
Building mtl-2.2.1...
Installed base-orphans-0.5.4
Configuring prelude-extras-0.4.0.3...
Building prelude-extras-0.4.0.3...
Configuring primitive-0.6.2.0...
Installed mtl-2.2.1
Building primitive-0.6.2.0...
Configuring semigroups-0.18.2...
Installed prelude-extras-0.4.0.3
Building semigroups-0.18.2...
Configuring random-1.1...
Installed semigroups-0.18.2
Building random-1.1...
Configuring stm-2.4.4.1...
Installed random-1.1
Configuring transformers-compat-0.5.1.4...
Installed primitive-0.6.2.0
Building stm-2.4.4.1...
Building transformers-compat-0.5.1.4...
Configuring text-1.2.2.1...
Installed transformers-compat-0.5.1.4
Building text-1.2.2.1...
Installed stm-2.4.4.1
Configuring linearscan-1.0.0...
Building linearscan-1.0.0...
Configuring tf-random-0.5...
Installed linearscan-1.0.0
Building tf-random-0.5...
Configuring tagged-0.8.5...
Installed text-1.2.2.1
Building tagged-0.8.5...
Configuring exceptions-0.8.3...
Installed tf-random-0.5
Building exceptions-0.8.3...
Configuring StateVar-1.1.0.4...
Installed tagged-0.8.5
Building StateVar-1.1.0.4...
Installed StateVar-1.1.0.4
Configuring hashable-1.2.4.0...
Configuring distributive-0.5.0.2...
Installed exceptions-0.8.3
Building hashable-1.2.4.0...
Configuring QuickCheck-2.9.2...
Installed hashable-1.2.4.0
Building distributive-0.5.0.2...
Building QuickCheck-2.9.2...
Configuring void-0.7.1...
Installed distributive-0.5.0.2
Building void-0.7.1...
Installed void-0.7.1
Configuring contravariant-1.4...
Building contravariant-1.4...
Installed contravariant-1.4
Configuring comonad-5...
Building comonad-5...
Installed comonad-5
Configuring bifunctors-5.4.1...
Building bifunctors-5.4.1...
Installed QuickCheck-2.9.2
Installed bifunctors-5.4.1
Configuring semigroupoids-5.1...
Configuring profunctors-5.2...
Building profunctors-5.2...
Building semigroupoids-5.1...
Installed profunctors-5.2
Installed semigroupoids-5.1
Configuring free-4.12.4...
Building free-4.12.4...
Installed free-4.12.4
Configuring linearscan-hoopl-0.8.0...
Building linearscan-hoopl-0.8.0...
Failed to install linearscan-hoopl-0.8.0
Build log ( /home/builder/.cabal/logs/linearscan-hoopl-0.8.0.log ):
cabal: Entering directory '/tmp/cabal-tmp-25386/linearscan-hoopl-0.8.0'
Configuring linearscan-hoopl-0.8.0...
Building linearscan-hoopl-0.8.0...
Preprocessing library linearscan-hoopl-0.8.0...
[1 of 2] Compiling LinearScan.Hoopl.DSL ( LinearScan/Hoopl/DSL.hs, dist/build/LinearScan/Hoopl/DSL.o )
[2 of 2] Compiling LinearScan.Hoopl ( LinearScan/Hoopl.hs, dist/build/LinearScan/Hoopl.o )

LinearScan/Hoopl.hs:52:17: error:
    • Couldn't match type ‘StateT ([Int], SpillStack) Identity Int’
                     with ‘Int’
      Expected type: Block nv C C -> Int
        Actual type: Block nv C C -> Env Int
    • In the ‘blockId’ field of a record
      In the expression:
        BlockInfo
          {blockId = getBlockId . entryLabel,
           blockSuccessors = mapM getBlockId . successors,
           splitCriticalEdge = \ (BlockCC b m e) (BlockCC next _ _)
                                 -> do { let ...;
                                         .... },
           blockOps = \ (BlockCC a b z)
                        -> ([NodeCO a], map NodeOO (blockToList b), [NodeOC z]),
           setBlockOps = \ _ [a] b [z]
                           -> BlockCC
                                (getNodeCO a) (blockFromList (map getNodeOO b)) (getNodeOC z)}
      In an equation for ‘blockInfo’:
          blockInfo getBlockId
            = BlockInfo
                {blockId = getBlockId . entryLabel,
                 blockSuccessors = mapM getBlockId . successors,
                 splitCriticalEdge = \ (BlockCC b m e) (BlockCC next _ _)
                                       -> do { ... },
                 blockOps = \ (BlockCC a b z)
                              -> ([...], map NodeOO (blockToList b), [...]),
                 setBlockOps = \ _ [a] b [z]
                                 -> BlockCC
                                      (getNodeCO a) (blockFromList (map getNodeOO b)) (getNodeOC z)}

LinearScan/Hoopl.hs:54:25: error:
    • Couldn't match type ‘StateT ([Int], SpillStack) Identity [Int]’
                     with ‘[Int]’
      Expected type: Block nv C C -> [Int]
        Actual type: Block nv C C
                     -> StateT ([Int], SpillStack) Identity [Int]
    • In the ‘blockSuccessors’ field of a record
      In the expression:
        BlockInfo
          {blockId = getBlockId . entryLabel,
           blockSuccessors = mapM getBlockId . successors,
           splitCriticalEdge = \ (BlockCC b m e) (BlockCC next _ _)
                                 -> do { let ...;
                                         .... },
           blockOps = \ (BlockCC a b z)
                        -> ([NodeCO a], map NodeOO (blockToList b), [NodeOC z]),
           setBlockOps = \ _ [a] b [z]
                           -> BlockCC
                                (getNodeCO a) (blockFromList (map getNodeOO b)) (getNodeOC z)}
      In an equation for ‘blockInfo’:
          blockInfo getBlockId
            = BlockInfo
                {blockId = getBlockId . entryLabel,
                 blockSuccessors = mapM getBlockId . successors,
                 splitCriticalEdge = \ (BlockCC b m e) (BlockCC next _ _)
                                       -> do { ... },
                 blockOps = \ (BlockCC a b z)
                              -> ([...], map NodeOO (blockToList b), [...]),
                 setBlockOps = \ _ [a] b [z]
                                 -> BlockCC
                                      (getNodeCO a) (blockFromList (map getNodeOO b)) (getNodeOC z)}

LinearScan/Hoopl.hs:95:37: error:
    • Couldn't match type ‘(VarId, VarKind)’ with ‘Int’
      Expected type: [(Int, PhysReg)]
        Actual type: [((VarId, VarKind), PhysReg)]
    • In the first argument of ‘setRegisters’, namely ‘m’
      In the first argument of ‘(>>=)’, namely ‘setRegisters m n’
      In the expression:
        setRegisters m n >>= \ alloc -> return [NodeCO alloc]

LinearScan/Hoopl.hs:96:37: error:
    • Couldn't match type ‘(VarId, VarKind)’ with ‘Int’
      Expected type: [(Int, PhysReg)]
        Actual type: [((VarId, VarKind), PhysReg)]
    • In the first argument of ‘setRegisters’, namely ‘m’
      In the first argument of ‘(>>=)’, namely ‘setRegisters m n’
      In the expression:
        setRegisters m n >>= \ alloc -> return [NodeOO alloc]

LinearScan/Hoopl.hs:97:37: error:
    • Couldn't match type ‘(VarId, VarKind)’ with ‘Int’
      Expected type: [(Int, PhysReg)]
        Actual type: [((VarId, VarKind), PhysReg)]
    • In the first argument of ‘setRegisters’, namely ‘m’
      In the first argument of ‘(>>=)’, namely ‘setRegisters m n’
      In the expression:
        setRegisters m n >>= \ alloc -> return [NodeOC alloc]

LinearScan/Hoopl.hs:114:5: error:
    • Couldn't match type ‘(,) String’ with ‘Either (String, [String])’
      Expected type: Either (String, [String]) (Graph nr C C)
        Actual type: (String, Graph' Block nr C C)
    • In the expression:
        newGraph <$> runIdentity (go (1 + IM.size (unsafeCoerce body)))
      In an equation for ‘allocateHoopl’:
          allocateHoopl regs offset slotSize useVerifier entry graph
            = newGraph <$> runIdentity (go (1 + IM.size (unsafeCoerce body)))
            where
                newGraph xs
                  = GMany NothingO (newBody xs) NothingO
                  where
                      newBody = foldl' (flip addBlock) emptyBody
                blocks = postorder_dfs_from body entry
                GMany NothingO body NothingO = graph
                go n
                  = evalStateT alloc ([n .. ], newSpillStack offset slotSize)
                  where
                      alloc
                        = allocate regs (blockInfo getBlockId) opInfo useVerifier blocks
                        where
                            ...

LinearScan/Hoopl.hs:114:18: error:
    • Couldn't match type ‘[]’ with ‘Block nr C’
      Expected type: (String, Either [String] (Block nr C C))
        Actual type: (String, Either [String] [Block nr C C])
    • In the second argument of ‘(<$>)’, namely
        ‘runIdentity (go (1 + IM.size (unsafeCoerce body)))’
      In the expression:
        newGraph <$> runIdentity (go (1 + IM.size (unsafeCoerce body)))
      In an equation for ‘allocateHoopl’:
          allocateHoopl regs offset slotSize useVerifier entry graph
            = newGraph <$> runIdentity (go (1 + IM.size (unsafeCoerce body)))
            where
                newGraph xs
                  = GMany NothingO (newBody xs) NothingO
                  where
                      newBody = foldl' (flip addBlock) emptyBody
                blocks = postorder_dfs_from body entry
                GMany NothingO body NothingO = graph
                go n
                  = evalStateT alloc ([n .. ], newSpillStack offset slotSize)
                  where
                      alloc
                        = allocate regs (blockInfo getBlockId) opInfo useVerifier blocks
                        where
                            ...
    • Relevant bindings include
        go :: Int -> Identity (String, Either [String] [Block nr C C])
          (bound at LinearScan/Hoopl.hs:123:5)
        allocateHoopl :: Int
                         -> Int
                         -> Int
                         -> UseVerifier
                         -> Label
                         -> Graph nv C C
                         -> Either (String, [String]) (Graph nr C C)
          (bound at LinearScan/Hoopl.hs:113:1)
cabal: Leaving directory '/tmp/cabal-tmp-25386/linearscan-hoopl-0.8.0'
cabal: Error: some packages failed to install:
linearscan-hoopl-0.8.0 failed during the building phase. The exception was:
ExitFailure 1

Test log

No test log was submitted for this report.