package goblint-cil
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=f4711e3fa53c482cdef2d7ed62b287d859ce55ef8b4ddfdc6071e81034c3bc89
sha512=8a861aa04aed7684a7c86207cfd5b63503984917fe53ae4866890242cb0db38d2c4f7bd5a5565fd094da064fb290e67071bae6874377e10d2005330c71cc13a2
doc/goblint-cil.liveness/Usedef/index.html
Module Usedef
module E = Errormsg
compute use/def information
module VS : sig ... end
Set this global to how you want to handle function calls. This also returns a modified argument list which will be used for the purpose of Use analysis, in case you have a function that needs special treatment of its args.
val considerVariableUse : (Cil.varinfo -> bool) ref
Say if you want to consider a variable use. This applies to variable reads only; see also considerVariableAddrOfAsUse
val considerVariableDef : (Cil.varinfo -> bool) ref
Say if you want to consider a variable def
val considerVariableAddrOfAsUse : (Cil.varinfo -> bool) ref
Say if you want to consider a variable addrof as a use
val considerVariableAddrOfAsDef : (Cil.varinfo -> bool) ref
Say if you want to consider a variable addrof as a def
Return any vars that should be considered "used" by an expression, other than the ones it refers to directly. Deputy uses this for variables in Cast annotations.
val onlyNoOffsetsAreDefs : bool ref
val ignoreSizeof : bool ref
Should we ignore the contents of sizeof and alignof?
class useDefVisitorClass : Cil.cilVisitor
val useDefVisitor : useDefVisitorClass
Compute the use information for an expression (accumulate to an existing * set)
Compute the use/def information for an instruction
val computeUseDefStmtKind :
?acc_used:VS.t ->
?acc_defs:VS.t ->
Cil.stmtkind ->
VS.t * VS.t
Compute the use/def information for a statement kind. Do not descend into * the nested blocks.
val computeDeepUseDefStmtKind :
?acc_used:VS.t ->
?acc_defs:VS.t ->
Cil.stmtkind ->
VS.t * VS.t
val computeUseLocalTypes : ?acc_used:VS.t -> Cil.fundec -> VS.t