diff --git a/base/src/Data/Macaw/Analysis/RegisterUse.hs b/base/src/Data/Macaw/Analysis/RegisterUse.hs index a53ff1a3..1cb95d4e 100644 --- a/base/src/Data/Macaw/Analysis/RegisterUse.hs +++ b/base/src/Data/Macaw/Analysis/RegisterUse.hs @@ -71,6 +71,7 @@ import Control.Monad (unless, when, zipWithM_) import Control.Monad.Except (MonadError(..), Except) import Control.Monad.Reader (MonadReader(..), ReaderT(..), asks) import Control.Monad.State.Strict (MonadState(..), State, StateT, execStateT, evalState, gets, modify) +import qualified Data.Bits as Bits import qualified Data.ByteString.Char8 as BSC import qualified Data.ByteString as BS import Data.Foldable @@ -678,6 +679,8 @@ processApp aid app = do setAssignVal aid (FrameExpr (o+fromInteger c)) BVSub _ (FrameExpr o) (IVCValue (BVCValue _ c)) -> setAssignVal aid (FrameExpr (o-fromInteger c)) + BVAnd _ (FrameExpr o) (IVCValue (BVCValue _ c)) -> + setAssignVal aid (FrameExpr (o Bits..&. memInt (fromInteger c))) appExpr -> do c <- gets sisAppCache -- Check to see if we have seen an app equivalent to