Обновить 10. Реализация алгоритмов на основе анализа потока данных (черновик)
@@ -4,7 +4,7 @@
|
||||
|
||||
Исходные файлы находятся в папке `CFGraph/DataFlow`. На вершине иерархии находится абстрактный класс `DataFlowAnalysis<NodeType>`. Предполагается, что для каждого анализа будет создаваться наследник (не обязательно непосредственный) и из него будет создаваться (чаще всего один) объект, назовём его объектом анализа. После этого в объект будет загружаться ГПУ, представленный массивом из `SAPFOR::BasicBlock*` вызовом функции `fit` и запускаться анализ вызовом функции `analyze`.
|
||||
|
||||
Теперь подробнее о NodeType. Предполагается, для каждого анализа также будет создаваться наследник класса `DataFlowAnalysisNode<DataType>`, который будет представлять собой обёртку над `SAPFOR::BasicBlock*`. `DataType `- это тип тех самых данных, которые предпологается распространять по графу. Единственное ограничение - это должна быть итерируемая коллекция. Чаще всего этот тип должен совпадать с типом множеств IN и OUT поставленной задачи потока данных. Этот класс должен реализовывать 5 функций:
|
||||
Теперь подробнее о NodeType. Предполагается, что для каждого анализа также будет создаваться наследник класса `DataFlowAnalysisNode<DataType>`, который будет представлять собой обёртку над `SAPFOR::BasicBlock*`. `DataType `- это тип тех самых данных, которые предпологается распространять по графу. Единственное ограничение - это должна быть итерируемая коллекция. Чаще всего этот тип должен совпадать с типом множеств IN и OUT поставленной задачи потока данных. Этот класс должен реализовывать 5 функций:
|
||||
|
||||
* `DataType getIn()` (пока что это неиспользуемая функция)
|
||||
* `DataType getOut()`
|
||||
|
||||
Reference in New Issue
Block a user