Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new AST interfaces and initial form of UnitializedValues analysis. #682

Closed
wants to merge 46 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
fba509e
interfaces:ast: Add new interfaces.
anthro-poid Jul 29, 2024
43ce257
interfaces:ast: Add new methods and apply new naming conventions.
anthro-poid Jul 29, 2024
7f64efc
hl: Apply new naming conventions for AST interfaces.
anthro-poid Jul 29, 2024
cb12250
analyses: Add first form of UnitializedValues analysis.
anthro-poid Jul 29, 2024
da226be
analyses: Move all files based on Clang analyses to direcotry include…
anthro-poid Jul 30, 2024
1af71cb
analyses: Get rid of all _Ts.
anthro-poid Jul 30, 2024
8c032df
analyses: Apply VAST_UNIMPLEMENTED instead of TODO.
anthro-poid Jul 30, 2024
2fed47c
interfaces:ast: Add new interfaces and use :: before return types.
anthro-poid Jul 30, 2024
11bf6ca
analysis: Allow to use Visit from StmtVisitor.h.
anthro-poid Jul 30, 2024
dedb720
analyses: Create Clang directory for files related with Clang analyses.
anthro-poid Jul 30, 2024
b67c597
interfaces:ast: Provide implementation for clang::StmtVisitor in vast.
anthro-poid Jul 30, 2024
11eeccf
interfaces:analyses: Add AnalysisDeclContextInterface.
anthro-poid Jul 30, 2024
077b04f
analyses: Apply changes related to AnalysisDeclContextInterface.
anthro-poid Jul 30, 2024
643d2a2
interfaces:ast: Make using base public.
anthro-poid Jul 30, 2024
936c5c5
interfaces:ast: Apply some naming changes.
anthro-poid Jul 30, 2024
55eedc2
interfaces:ast: Unify include format.
anthro-poid Jul 30, 2024
f5b65db
analyses: Add iterator for ast::DeclContext.
anthro-poid Jul 31, 2024
76ca5e1
analyses: Move source file with iterator to lib/vast/Analyses.
anthro-poid Aug 2, 2024
22d14e5
analyses: Add implementation of UninitUse.
anthro-poid Aug 2, 2024
dc78cb1
analyses: Implement another required functionality.
anthro-poid Aug 2, 2024
27a9176
interfaces:ast: Add several interfaces and methods.
anthro-poid Aug 2, 2024
4074bae
analyses: Remove all T suffixes.
anthro-poid Aug 5, 2024
33e6dd2
interfaces:cfg: Add interfaces for Clang CFG classes.
anthro-poid Aug 8, 2024
50df128
analyses: Add new iterators.
anthro-poid Aug 8, 2024
d1f45ec
analyses: Update DatafloWorklist to use interfaces.
anthro-poid Aug 8, 2024
086c4b3
analyses: Add new functionality to UnitializedValues analysis and mak…
anthro-poid Aug 8, 2024
09d7e5d
hl: Make FuncOp to inherit from DeclContext and AnalysisDeclContext i…
anthro-poid Aug 8, 2024
5f87f49
interfaces:ast: Add new methods to Expr interfaces.
anthro-poid Aug 8, 2024
ee1b3e2
interfaces:analysis: Add new methods for AnalysisDeclContext interfaces.
anthro-poid Aug 8, 2024
51474e6
interfaces:ast: Add new methods for Type interfaces.
anthro-poid Aug 8, 2024
e6f8344
interfaces:analysis: Change lib name to resolve conflicts.
anthro-poid Aug 8, 2024
2697ba8
repl: Allow repl to run UnitializedVariable analysis.
anthro-poid Aug 8, 2024
55a6c89
analyses: Change decl_interface_iterator to use mlir::Operation *.
anthro-poid Aug 12, 2024
78cd574
interfaces:ast: Update interface methods in DeclInterface.td.
anthro-poid Aug 12, 2024
a894a0f
hl: Provide implementation for FuncOp::decls_begin.
anthro-poid Aug 12, 2024
f7308ba
vast: Replace all usages of 'analyses' to 'analysis'.
anthro-poid Aug 12, 2024
858aa92
analysis: Remove old reprezentation of CFG structures.
anthro-poid Sep 6, 2024
b65ea67
hl: Attach new interfaces.
anthro-poid Sep 6, 2024
eae51e3
core: Attach new interfaces.
anthro-poid Sep 6, 2024
6a9e0ed
interfaces:cfg: Update functionality of CFG interfaces.
anthro-poid Sep 6, 2024
8a33d83
interfaces:ast: Update DeclInterface and TypeInteface functionality.
anthro-poid Sep 6, 2024
3fc5eeb
core: Add necessary include.
anthro-poid Sep 6, 2024
c7b42e9
analysis: Implement operator++ method for decl_interface_iterator.
anthro-poid Sep 6, 2024
bc36d28
hl: Provide implementations for interface methods.
anthro-poid Sep 6, 2024
0bd4da5
repl: Allow to call UnitializedVariablesAnalysis from repl.
anthro-poid Sep 6, 2024
e69ef29
analysis: Add current state of UnitializedValues analysis implementat…
anthro-poid Sep 6, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
interfaces:analysis: Add new methods for AnalysisDeclContext interfaces.
anthro-poid committed Aug 12, 2024
commit ee1b3e2e2deae4ebf1f5de99413ac0bc11d61cc6
11 changes: 11 additions & 0 deletions include/vast/Interfaces/Analyses/AnalysisDeclContextInterface.hpp
Original file line number Diff line number Diff line change
@@ -11,7 +11,18 @@ VAST_RELAX_WARNINGS
#include <mlir/IR/OperationSupport.h>
VAST_RELAX_WARNINGS

#include "vast/Interfaces/AST/ASTContextInterface.hpp"
#include "vast/Interfaces/AST/DeclInterface.hpp"
#include "vast/Interfaces/CFG/CFGInterface.hpp"

/// Include the generated interface declarations.
#include "vast/Interfaces/Analyses/AnalysisDeclContextInterface.h.inc"

namespace vast::analyses {

template< typename T >
T *AnalysisDeclContextInterface::getAnalysis() {
return nullptr;
}

} // namespace vast::analyses
Original file line number Diff line number Diff line change
@@ -14,8 +14,15 @@ def VAST_AnalysisDeclContextInterface : VAST_AnalysesOpInterface< "AnalysisDeclC
}];

let methods = [
InterfaceMethod< "clang::AnalysisDeclContext::getDecl", "::vast::ast::DeclInterface", "getDecl" >
InterfaceMethod< "clang::AnalysisDeclContext::getDecl", "::vast::ast::DeclInterface", "getDecl" >,
InterfaceMethod< "clang::AnalysisDeclContext::getCFG", "::vast::cfg::CFGInterface", "getCFG" >,
InterfaceMethod< "clang::AnalysisDeclContext::getASTContext", "::vast::ast::ASTContextInterface", "getASTContext" >
];

let extraClassDeclaration = [{
template< typename T >
T *getAnalysis();
}];
}

#endif // VAST_INTERFACES_ANALYSES_ANALYSES_DECL_INTERFACE