COMPMID-1021: CPUInfo refactoring.

Removed CPUTarget in favor of the CPUModel type.
CPUInfo now holds a vector of N CPUs.
CPUInfo autoinitialise upon construction with 1 GENERIC CPU.
CPPScheduler fills CPUInfo's vector upon construction (runtime).
IScheduler has a single CPUInfo obj and ThreadInfo always gets a pointer to it (avoid copying the vector)

Change-Id: I30f293258c959c87f6bac5eac8b963beb6a4d365
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/124626
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
diff --git a/arm_compute/runtime/IScheduler.h b/arm_compute/runtime/IScheduler.h
index 1dd7c2c..a0bcada 100644
--- a/arm_compute/runtime/IScheduler.h
+++ b/arm_compute/runtime/IScheduler.h
@@ -59,17 +59,11 @@
      */
     virtual void schedule(ICPPKernel *kernel, unsigned int split_dimension) = 0;
 
-    /** Sets the target CPU architecture.
-     *
-     * @param[in] target Target CPU.
-     */
-    void set_target(CPUTarget target);
-
     /** Get CPU info.
      *
      * @return CPU info.
      */
-    CPUInfo cpu_info() const;
+    CPUInfo &cpu_info();
     /** Get a hint for the best possible number of execution threads
      *
      * @warning In case we can't work out the best number of threads,
@@ -80,7 +74,7 @@
     unsigned int num_threads_hint() const;
 
 protected:
-    CPUInfo _info{};
+    CPUInfo _cpu_info;
 
 private:
     unsigned int _num_threads_hint = {};