cprover
goto_inline.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Function Inlining
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_GOTO_PROGRAMS_GOTO_INLINE_H
13 #define CPROVER_GOTO_PROGRAMS_GOTO_INLINE_H
14 
15 #include <util/json.h>
16 
17 #include "goto_model.h"
18 
19 class message_handlert;
20 
21 // do a full inlining
22 
23 void goto_inline(
24  goto_modelt &goto_model,
26  bool adjust_function=false);
27 
28 void goto_inline(
29  goto_functionst &goto_functions,
30  const namespacet &ns,
32  bool adjust_function=false);
33 
34 // inline those functions marked as "inlined" and functions with less
35 // than _smallfunc_limit instructions
36 
38  goto_modelt &goto_model,
40  unsigned smallfunc_limit=0,
41  bool adjust_function=false);
42 
44  goto_functionst &goto_functions,
45  const namespacet &ns,
47  unsigned smallfunc_limit=0,
48  bool adjust_function=false);
49 
50 // transitively inline all calls the given function makes
51 
53  goto_modelt &goto_model,
54  const irep_idt function,
56  bool adjust_function=false,
57  bool caching=true);
58 
60  goto_functionst &goto_functions,
61  const irep_idt function,
62  const namespacet &ns,
64  bool adjust_function=false,
65  bool caching=true);
66 
68  goto_modelt &,
69  const irep_idt function,
71  bool adjust_function=false,
72  bool caching=true);
73 
74 #endif // CPROVER_GOTO_PROGRAMS_GOTO_INLINE_H
void goto_function_inline(goto_modelt &goto_model, const irep_idt function, message_handlert &message_handler, bool adjust_function=false, bool caching=true)
Inline all function calls made from a particular function.
Definition: json.h:23
void goto_inline(goto_modelt &goto_model, message_handlert &message_handler, bool adjust_function=false)
Definition: goto_inline.cpp:24
Symbol Table + CFG.
TO_BE_DOCUMENTED.
Definition: namespace.h:74
jsont goto_function_inline_and_log(goto_modelt &, const irep_idt function, message_handlert &message_handler, bool adjust_function=false, bool caching=true)
goto_programt coverage_criteriont message_handlert & message_handler
Definition: cover.cpp:66
void goto_partial_inline(goto_modelt &goto_model, message_handlert &message_handler, unsigned smallfunc_limit=0, bool adjust_function=false)
Inline all function calls to functions either marked as "inlined" or smaller than smallfunc_limit (by...