@@ -364,13 +364,13 @@ perBlock b@(BlStatement _ _ _ (StReturn {})) =
364364 processLabel b >> addToBBlock b >> closeBBlock_
365365perBlock b@ (BlStatement _ _ _ (StGotoUnconditional {})) =
366366 processLabel b >> addToBBlock b >> closeBBlock_
367- perBlock b@ (BlStatement a s l (StCall a' s' cn@ (ExpValue _ _ ( ValVariable {}) ) Nothing )) = do
367+ perBlock b@ (BlStatement a s l (StCall a' s' cn@ (ExpValue _ _ _ ) Nothing )) = do
368368 (prevN, callN) <- closeBBlock
369369 -- put StCall in a bblock by itself
370370 addToBBlock b
371371 (_, nextN) <- closeBBlock
372372 createEdges [ (prevN, callN, () ), (callN, nextN, () ) ]
373- perBlock b@ (BlStatement a s l (StCall a' s' cn@ (ExpValue _ _ ( ValVariable {}) ) (Just aargs))) = do
373+ perBlock b@ (BlStatement a s l (StCall a' s' cn@ (ExpValue _ _ _ ) (Just aargs))) = do
374374 let exps = map extractExp . aStrip $ aargs
375375 (prevN, formalN) <- closeBBlock
376376
@@ -495,7 +495,7 @@ processFunctionCalls = transformBiM processFunctionCall -- work bottom-up
495495-- Flatten out a single function call.
496496processFunctionCall :: Data a => Expression (Analysis a ) -> BBlocker (Analysis a ) (Expression (Analysis a ))
497497-- precondition: there are no more nested function calls within the actual arguments
498- processFunctionCall (ExpFunctionCall a s fn@ (ExpValue a' s' ( ValVariable _) ) aargs) = do
498+ processFunctionCall (ExpFunctionCall a s fn@ (ExpValue a' s' _ ) aargs) = do
499499 let a0 = head . initAnalysis $ [prevAnnotation a]
500500 (prevN, formalN) <- closeBBlock
501501
@@ -588,7 +588,7 @@ genSuperBBGr bbm = SuperBBGr { graph = superGraph'', clusters = cmap, entries =
588588 -- Assumption: all StCalls appear by themselves in a bblock.
589589 stCalls :: [(SuperNode , String )]
590590 stCalls = [ (getSuperNode n, sub) | (n, [BlStatement _ _ _ (StCall _ _ e Nothing )]) <- namedNodes
591- , v@ (ExpValue _ _ ( ValVariable _)) <- [e]
591+ , v@ (ExpValue _ _ _) <- [e]
592592 , let sub = varName v
593593 , Named sub `M.member` entryMap && Named sub `M.member` exitMap ]
594594 stCallCtxts :: [([SuperEdge ], SuperNode , String , [SuperEdge ])]
@@ -737,6 +737,7 @@ showLab Nothing = replicate 6 ' '
737737showLab (Just (ExpValue _ _ (ValInteger l))) = ' ' : l ++ replicate (5 - length l) ' '
738738
739739showValue (ValVariable v) = v
740+ showValue (ValIntrinsic v) = v
740741showValue (ValInteger v) = v
741742showValue (ValReal v) = v
742743showValue (ValComplex e1 e2) = " ( " ++ showExpr e1 ++ " , " ++ showExpr e2 ++ " )"
0 commit comments