Skip to content

Commit cd98ce2

Browse files
committed
Add documentation of the mm_io pass in mm_io.h
So that there is an overview of the algorithm used and so that the relevant markdown file about the related feature is more easily discoverable.
1 parent 45ea585 commit cd98ce2

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/goto-programs/mm_io.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,21 @@ Date: April 2017
1010

1111
/// \file
1212
/// Perform Memory-mapped I/O instrumentation
13+
///
14+
/// \details
15+
/// In the case where a modelling function named `__CPROVER_mm_io_r` exists in
16+
/// the symbol table, this pass will insert calls to this function before
17+
/// pointer dereference reads. Only the case where there is a single dereference
18+
/// on the right hand side of an assignment is included in the set of
19+
/// dereference reads.
20+
///
21+
/// In the case where a modelling function named
22+
/// `__CPROVER_mm_io_w` exists in the symbol table, this pass will insert calls
23+
/// to this function before all pointer dereference writes. All pointer
24+
/// dereference writes are assumed to be on the left hand side of assignments.
25+
///
26+
/// For details as to how and why this is used see the "Device behavior" section
27+
/// of modeling-mmio.md
1328

1429
#ifndef CPROVER_GOTO_PROGRAMS_MM_IO_H
1530
#define CPROVER_GOTO_PROGRAMS_MM_IO_H

0 commit comments

Comments
 (0)