Skip to content

Commit bc96ff4

Browse files
author
martin
committed
Remove an unnecessary loop over all instructions from flow insensitive analysis.
1 parent 9f6ca11 commit bc96ff4

File tree

1 file changed

+7
-17
lines changed

1 file changed

+7
-17
lines changed

src/pointer-analysis/value_set_analysis_fi.cpp

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -202,31 +202,21 @@ void value_set_analysis_fit::add_vars(
202202
get_globals(globals);
203203

204204
value_set_fit &v=state.value_set;
205+
v.add_vars(globals);
205206

206-
for(goto_functionst::function_mapt::const_iterator
207-
f_it=goto_functions.function_map.begin();
208-
f_it!=goto_functions.function_map.end();
209-
f_it++)
207+
forall_goto_functions(f_it, goto_functions)
210208
{
211209
// get the locals
212210
std::set<irep_idt> locals;
213211
get_local_identifiers(f_it->second, locals);
214212

215-
forall_goto_program_instructions(i_it, f_it->second.body)
213+
for(auto l : locals)
216214
{
217-
v.add_vars(globals);
215+
const symbolt &symbol=ns.lookup(l);
218216

219-
for(std::set<irep_idt>::const_iterator
220-
l_it=locals.begin();
221-
l_it!=locals.end();
222-
l_it++)
223-
{
224-
const symbolt &symbol=ns.lookup(*l_it);
225-
226-
std::list<value_set_fit::entryt> entries;
227-
get_entries(symbol, entries);
228-
v.add_vars(entries);
229-
}
217+
std::list<value_set_fit::entryt> entries;
218+
get_entries(symbol, entries);
219+
v.add_vars(entries);
230220
}
231221
}
232222
}

0 commit comments

Comments
 (0)