![]() |
Dataflow Software Stack
032db78
Master Thesis of Mathijs Saey at the VUB
|
Functions | |
| def | isLit |
| See if a node only contains literals. More... | |
| def | getInputs |
| Get all the literal inputs of a node. More... | |
| def | createOpStr |
| Create a DIS program to execute a single operation. More... | |
| def | createCallStr |
| Create a DIS program to execute a single function call. More... | |
| def | transformNode |
| Add the result of executing a node to all it's outputs. More... | |
| def | propagateLit |
| Calculate the value of a literal and propagate it to the next nodes. More... | |
| def | checkCall |
| See if a call can be reduced to a constant. More... | |
| def | checkNode |
| See if a node can be removed, do so if possible. More... | |
| def | checkFunctionGraph |
| See if we can remove a graph from the program. More... | |
| def | checkCompoundGraphs |
| See if we need to convert a subgraph to a constant. More... | |
| def | removeLiterals |
| Remove all operations that have predefined inputs. More... | |
Variables | |
| tuple | log = logging.getLogger(__name__) |
IGR Literal removal.
This module defines a few traversals that remove literals from the IGR where possible.
| def backEnd.DVM.literals.isLit | ( | node | ) |
See if a node only contains literals.
| def backEnd.DVM.literals.getInputs | ( | node | ) |
Get all the literal inputs of a node.
| def backEnd.DVM.literals.createOpStr | ( | node | ) |
Create a DIS program to execute a single operation.
| def backEnd.DVM.literals.createCallStr | ( | node | ) |
Create a DIS program to execute a single function call.
| def backEnd.DVM.literals.transformNode | ( | node, | |
| value | |||
| ) |
Add the result of executing a node to all it's outputs.
| def backEnd.DVM.literals.propagateLit | ( | node | ) |
Calculate the value of a literal and propagate it to the next nodes.
| def backEnd.DVM.literals.checkCall | ( | node | ) |
See if a call can be reduced to a constant.
If possible, propagate.
| def backEnd.DVM.literals.checkNode | ( | node | ) |
See if a node can be removed, do so if possible.
| def backEnd.DVM.literals.checkFunctionGraph | ( | subGraph | ) |
See if we can remove a graph from the program.
| def backEnd.DVM.literals.checkCompoundGraphs | ( | node | ) |
See if we need to convert a subgraph to a constant.
| def backEnd.DVM.literals.removeLiterals | ( | ) |
Remove all operations that have predefined inputs.
| tuple backEnd.DVM.literals.log = logging.getLogger(__name__) |
1.8.8