aboutsummaryrefslogtreecommitdiff
path: root/src/graph/INode.cpp
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2017-10-04 16:53:58 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:35:24 +0000
commitff421f2100e0e9e532f5fe78585300546af61690 (patch)
tree9ba5a1bfe64b5b10f70c64a965f9c5ca14de9ce3 /src/graph/INode.cpp
parent925ca0f7402115da3bffb21c04fca0bc822c9b38 (diff)
downloadComputeLibrary-ff421f2100e0e9e532f5fe78585300546af61690.tar.gz
COMPMID-601: Add GraphContext
GraphContext hold all the information about the hints that need to be passed in the nodes. As these might expand, it serves as a centralized class for such information. Change-Id: I0b5527630fb97cc5fa500db0bac8307ff2ea36e6 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/90300 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'src/graph/INode.cpp')
-rw-r--r--src/graph/INode.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/graph/INode.cpp b/src/graph/INode.cpp
index 6b25022d15..4b383f562b 100644
--- a/src/graph/INode.cpp
+++ b/src/graph/INode.cpp
@@ -21,7 +21,6 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
-
#include "arm_compute/graph/INode.h"
#include "arm_compute/core/CL/OpenCL.h"
@@ -31,17 +30,20 @@
using namespace arm_compute::graph;
-Hint INode::override_hint(Hint hint) const
+TargetHint INode::override_target_hint(TargetHint target_hint) const
{
- if(hint == Hint::OPENCL && !opencl_is_available())
+ if(target_hint == TargetHint::OPENCL && !opencl_is_available())
{
- hint = Hint::DONT_CARE;
+ target_hint = TargetHint::DONT_CARE;
}
- hint = node_override_hint(hint);
- ARM_COMPUTE_ERROR_ON(hint == Hint::OPENCL && !opencl_is_available());
- return hint;
+ GraphHints hints{ target_hint };
+ target_hint = node_override_hints(hints).target_hint();
+ ARM_COMPUTE_ERROR_ON(target_hint == TargetHint::OPENCL && !opencl_is_available());
+ return target_hint;
}
-Hint INode::node_override_hint(Hint hint) const
+GraphHints INode::node_override_hints(GraphHints hints) const
{
- return hint == Hint::DONT_CARE ? Hint::NEON : hint;
+ TargetHint target_hint = hints.target_hint();
+ hints.set_target_hint((target_hint == TargetHint::DONT_CARE) ? TargetHint::NEON : target_hint);
+ return hints;
}