retdec
|
Reaching definitions analysis (RDA) builds UD and DU chains. More...
#include <map>
#include <set>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include <llvm/ADT/SmallPtrSet.h>
#include <llvm/IR/Module.h>
#include "retdec/bin2llvmir/providers/abi/abi.h"
#include "retdec/bin2llvmir/utils/debug.h"
Go to the source code of this file.
Classes | |
class | retdec::bin2llvmir::Definition |
class | retdec::bin2llvmir::Use |
class | retdec::bin2llvmir::BasicBlockEntry |
class | retdec::bin2llvmir::ReachingDefinitionsAnalysis |
Namespaces | |
retdec | |
retdec::bin2llvmir | |
Typedefs | |
using | retdec::bin2llvmir::Changed = bool |
using | retdec::bin2llvmir::BBEntrySet = std::unordered_set< BasicBlockEntry * > |
using | retdec::bin2llvmir::DefSet = std::unordered_set< Definition * > |
using | retdec::bin2llvmir::UseSet = std::unordered_set< Use * > |
using | retdec::bin2llvmir::DefVector = std::vector< Definition > |
using | retdec::bin2llvmir::UseVector = std::vector< Use > |
Reaching definitions analysis (RDA) builds UD and DU chains.
Right now, this works on an entire module. But we could insert an another layer that represents functions. Then it would be possible to associate BBs with functions that own them and recompute RDA only for the selected function.