Analysis pass identifying relations which do not contribute to the computation of the output relations.
More...
#include <RedundantRelations.h>
Analysis pass identifying relations which do not contribute to the computation of the output relations.
Definition at line 44 of file RedundantRelations.h.
◆ RedundantRelationsAnalysis()
souffle::ast::analysis::RedundantRelationsAnalysis::RedundantRelationsAnalysis |
( |
| ) |
|
|
inline |
◆ getRedundantRelations()
const std::set<const Relation*>& souffle::ast::analysis::RedundantRelationsAnalysis::getRedundantRelations |
( |
| ) |
const |
|
inline |
◆ print()
void souffle::ast::analysis::RedundantRelationsAnalysis::print |
( |
std::ostream & |
| ) |
const |
|
overridevirtual |
◆ run()
void souffle::ast::analysis::RedundantRelationsAnalysis::run |
( |
const TranslationUnit & |
| ) |
|
|
overridevirtual |
run analysis for a Ast translation unit
Implements souffle::ast::analysis::Analysis.
Definition at line 41 of file RedundantRelations.cpp.
44 if (ioType->isOutput(r)) {
51 while (!work.empty()) {
53 const Relation* u = *(work.begin());
54 work.erase(work.begin());
55 notRedundant.insert(u);
60 if (notRedundant.count(predecessor) == 0u) {
61 work.insert(predecessor);
69 if (notRedundant.count(r) == 0u) {
◆ name
constexpr const char* souffle::ast::analysis::RedundantRelationsAnalysis::name = "redundant-relations" |
|
staticconstexpr |
◆ precedenceGraph
◆ redundantRelations
std::set<const Relation*> souffle::ast::analysis::RedundantRelationsAnalysis::redundantRelations |
|
private |
The documentation for this class was generated from the following files: