package goblint-cil

  1. Overview
  2. Docs
A front-end for the C programming language that facilitates program analysis and transformation

Install

Dune Dependency

Authors

Maintainers

Sources

goblint-cil-2.0.6.tbz
sha256=5577007bfac63c3f0609abdb74119fe674c9bc8529d790e90ef73a85964aa07a
sha512=f1a393fa92614ceaf857bec4df474d3e152c578d0ab5fdf791e9129668861ccaa37efae2f18aa539965d6c2ed4dabb47b4a5262aab55112e181935def06f18da

doc/goblint-cil.liveness/Liveness/Usedef/index.html

Module Liveness.UsedefSource

compute use/def information

Sourcemodule VS : sig ... end
Sourceval getUseDefFunctionRef : (GoblintCil.exp -> GoblintCil.exp list -> VS.t * VS.t * GoblintCil.exp list) ref

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.

Sourceval considerVariableUse : (GoblintCil.varinfo -> bool) ref

Say if you want to consider a variable use. This applies to variable reads only; see also considerVariableAddrOfAsUse

Sourceval considerVariableDef : (GoblintCil.varinfo -> bool) ref

Say if you want to consider a variable def

Sourceval considerVariableAddrOfAsUse : (GoblintCil.varinfo -> bool) ref

Say if you want to consider a variable addrof as a use

Sourceval considerVariableAddrOfAsDef : (GoblintCil.varinfo -> bool) ref

Say if you want to consider a variable addrof as a def

Sourceval extraUsesOfExpr : (GoblintCil.exp -> VS.t) ref

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.

Sourceval onlyNoOffsetsAreDefs : bool ref
Sourceval ignoreSizeof : bool ref

Should we ignore the contents of sizeof and alignof?

Sourceval varUsed : VS.t ref
Sourceval varDefs : VS.t ref
Sourceval useDefVisitor : useDefVisitorClass
Sourceval computeUseExp : ?acc:VS.t -> GoblintCil.exp -> VS.t

Compute the use information for an expression (accumulate to an existing set)

Sourceval computeUseDefInstr : ?acc_used:VS.t -> ?acc_defs:VS.t -> GoblintCil.instr -> VS.t * VS.t

Compute the use/def information for an instruction

Sourceval computeUseDefStmtKind : ?acc_used:VS.t -> ?acc_defs:VS.t -> GoblintCil.stmtkind -> VS.t * VS.t

Compute the use/def information for a statement kind. Do not descend into the nested blocks.

Sourceval computeDeepUseDefStmtKind : ?acc_used:VS.t -> ?acc_defs:VS.t -> GoblintCil.stmtkind -> VS.t * VS.t
Sourceval computeUseLocalTypes : ?acc_used:VS.t -> GoblintCil.fundec -> VS.t
OCaml

Innovation. Community. Security.