#pragma once #include "libSage++.h" #include #include #include using ResultSet = std::set>; template static void extract_vars_from_reg(std::set& worklist, SAPFOR::Argument* reg, Iterator instr, Iterator first_instr); template static void processArgument(std::set& worklist, SAPFOR::Argument* arg, Iterator instr, Iterator first_instr); static void lookup_for_vars(std::map& where_to_add, std::set& worklist, SAPFOR::Instruction* instr, SAPFOR::BasicBlock* bblock, const std::map>& fullIR); void findParameters(ResultSet& foundParameters, std::map>& fullIR, const std::map, std::pair>& declaredArrays);