diff --git a/arm_compute/runtime/CL/CLArray.h b/arm_compute/runtime/CL/CLArray.h
index 3ff9eb8..62b6171 100644
--- a/arm_compute/runtime/CL/CLArray.h
+++ b/arm_compute/runtime/CL/CLArray.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLARRAY_H__
-#define __ARM_COMPUTE_CLARRAY_H__
+#ifndef ARM_COMPUTE_CLARRAY_H
+#define ARM_COMPUTE_CLARRAY_H
 
 #include "arm_compute/core/CL/ICLArray.h"
 #include "arm_compute/core/CL/OpenCL.h"
@@ -124,4 +124,4 @@
 /** OpenCL Array of floats. */
 using CLFloatArray = CLArray<cl_float>;
 }
-#endif /* __ARM_COMPUTE_CLARRAY_H__ */
+#endif /* ARM_COMPUTE_CLARRAY_H */
diff --git a/arm_compute/runtime/CL/CLBufferAllocator.h b/arm_compute/runtime/CL/CLBufferAllocator.h
index 7724022..f6e1b96 100644
--- a/arm_compute/runtime/CL/CLBufferAllocator.h
+++ b/arm_compute/runtime/CL/CLBufferAllocator.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLBUFFERALLOCATOR_H__
-#define __ARM_COMPUTE_CLBUFFERALLOCATOR_H__
+#ifndef ARM_COMPUTE_CLBUFFERALLOCATOR_H
+#define ARM_COMPUTE_CLBUFFERALLOCATOR_H
 
 #include "arm_compute/runtime/IAllocator.h"
 
@@ -55,4 +55,4 @@
     CLCoreRuntimeContext *_ctx;
 };
 } // arm_compute
-#endif /*__ARM_COMPUTE_CLBUFFERALLOCATOR_H__ */
+#endif /*ARM_COMPUTE_CLBUFFERALLOCATOR_H */
diff --git a/arm_compute/runtime/CL/CLDistribution1D.h b/arm_compute/runtime/CL/CLDistribution1D.h
index f077893..7d832e9 100644
--- a/arm_compute/runtime/CL/CLDistribution1D.h
+++ b/arm_compute/runtime/CL/CLDistribution1D.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLDISTRIBUTION1D_H__
-#define __ARM_COMPUTE_CLDISTRIBUTION1D_H__
+#ifndef ARM_COMPUTE_CLDISTRIBUTION1D_H
+#define ARM_COMPUTE_CLDISTRIBUTION1D_H
 
 #include "arm_compute/core/CL/ICLDistribution1D.h"
 #include "arm_compute/core/CL/OpenCL.h"
@@ -76,4 +76,4 @@
     cl::Buffer _mem;
 };
 }
-#endif /* __ARM_COMPUTE_CLDISTRIBUTION1D_H__ */
+#endif /* ARM_COMPUTE_CLDISTRIBUTION1D_H */
diff --git a/arm_compute/runtime/CL/CLFunctions.h b/arm_compute/runtime/CL/CLFunctions.h
index 80caf7d..a054ed1 100644
--- a/arm_compute/runtime/CL/CLFunctions.h
+++ b/arm_compute/runtime/CL/CLFunctions.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLFUNCTIONS_H__
-#define __ARM_COMPUTE_CLFUNCTIONS_H__
+#ifndef ARM_COMPUTE_CLFUNCTIONS_H
+#define ARM_COMPUTE_CLFUNCTIONS_H
 
 /* Header regrouping all the CL functions */
 #include "arm_compute/runtime/CL/functions/CLAbsoluteDifference.h"
@@ -152,4 +152,4 @@
 #include "arm_compute/runtime/CL/functions/CLWinogradInputTransform.h"
 #include "arm_compute/runtime/CL/functions/CLYOLOLayer.h"
 
-#endif /* __ARM_COMPUTE_CLFUNCTIONS_H__ */
+#endif /* ARM_COMPUTE_CLFUNCTIONS_H */
diff --git a/arm_compute/runtime/CL/CLHOG.h b/arm_compute/runtime/CL/CLHOG.h
index 9b4a303..a96f52a 100644
--- a/arm_compute/runtime/CL/CLHOG.h
+++ b/arm_compute/runtime/CL/CLHOG.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLHOG_H__
-#define __ARM_COMPUTE_CLHOG_H__
+#ifndef ARM_COMPUTE_CLHOG_H
+#define ARM_COMPUTE_CLHOG_H
 
 #include "arm_compute/core/CL/ICLHOG.h"
 #include "arm_compute/core/CL/OpenCL.h"
@@ -77,4 +77,4 @@
     cl::Buffer _buffer;
 };
 }
-#endif /* __ARM_COMPUTE_CLHOG_H__ */
+#endif /* ARM_COMPUTE_CLHOG_H */
diff --git a/arm_compute/runtime/CL/CLHelpers.h b/arm_compute/runtime/CL/CLHelpers.h
index 6d00026..716d95e 100644
--- a/arm_compute/runtime/CL/CLHelpers.h
+++ b/arm_compute/runtime/CL/CLHelpers.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CL_HELPERS_H__
-#define __ARM_COMPUTE_CL_HELPERS_H__
+#ifndef ARM_COMPUTE_CL_HELPERS_H
+#define ARM_COMPUTE_CL_HELPERS_H
 
 #include "arm_compute/core/CL/OpenCL.h"
 #include "arm_compute/runtime/IScheduler.h"
@@ -50,4 +50,4 @@
  */
 void schedule_kernel_on_ctx(CLRuntimeContext *ctx, ICLKernel *kernel, bool flush = true);
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CL_HELPERS_H__ */
+#endif /* ARM_COMPUTE_CL_HELPERS_H */
diff --git a/arm_compute/runtime/CL/CLLut.h b/arm_compute/runtime/CL/CLLut.h
index 9bac2b4..a389284 100644
--- a/arm_compute/runtime/CL/CLLut.h
+++ b/arm_compute/runtime/CL/CLLut.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLLUT_H__
-#define __ARM_COMPUTE_CLLUT_H__
+#ifndef ARM_COMPUTE_CLLUT_H
+#define ARM_COMPUTE_CLLUT_H
 
 #include "arm_compute/core/CL/ICLLut.h"
 #include "arm_compute/core/CL/OpenCL.h"
@@ -86,4 +86,4 @@
     CLLutAllocator _allocator; /**< Instance of the OpenCL lut allocator */
 };
 }
-#endif /*__ARM_COMPUTE_CLLUT_H__ */
+#endif /*ARM_COMPUTE_CLLUT_H */
diff --git a/arm_compute/runtime/CL/CLLutAllocator.h b/arm_compute/runtime/CL/CLLutAllocator.h
index 851e625..50b905f 100644
--- a/arm_compute/runtime/CL/CLLutAllocator.h
+++ b/arm_compute/runtime/CL/CLLutAllocator.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLLUTALLOCATOR_H__
-#define __ARM_COMPUTE_CLLUTALLOCATOR_H__
+#ifndef ARM_COMPUTE_CLLUTALLOCATOR_H
+#define ARM_COMPUTE_CLLUTALLOCATOR_H
 
 #include "arm_compute/runtime/ILutAllocator.h"
 
@@ -91,4 +91,4 @@
 };
 }
 
-#endif /* __ARM_COMPUTE_CLLUTALLOCATOR_H__ */
+#endif /* ARM_COMPUTE_CLLUTALLOCATOR_H */
diff --git a/arm_compute/runtime/CL/CLMemory.h b/arm_compute/runtime/CL/CLMemory.h
index 48692e1..5842ddf 100644
--- a/arm_compute/runtime/CL/CLMemory.h
+++ b/arm_compute/runtime/CL/CLMemory.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_RUNTIME_CL_CLMEMORY_H__
-#define __ARM_COMPUTE_RUNTIME_CL_CLMEMORY_H__
+#ifndef ARM_COMPUTE_RUNTIME_CL_CLMEMORY_H
+#define ARM_COMPUTE_RUNTIME_CL_CLMEMORY_H
 
 #include "arm_compute/runtime/IMemory.h"
 
@@ -83,4 +83,4 @@
     std::shared_ptr<ICLMemoryRegion> _region_owned;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_RUNTIME_CL_CLMEMORY_H__ */
+#endif /* ARM_COMPUTE_RUNTIME_CL_CLMEMORY_H */
diff --git a/arm_compute/runtime/CL/CLMemoryRegion.h b/arm_compute/runtime/CL/CLMemoryRegion.h
index 6f7c3cd..9119e27 100644
--- a/arm_compute/runtime/CL/CLMemoryRegion.h
+++ b/arm_compute/runtime/CL/CLMemoryRegion.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_RUNTIME_CL_CL_MEMORY_REGION_H__
-#define __ARM_COMPUTE_RUNTIME_CL_CL_MEMORY_REGION_H__
+#ifndef ARM_COMPUTE_RUNTIME_CL_CL_MEMORY_REGION_H
+#define ARM_COMPUTE_RUNTIME_CL_CL_MEMORY_REGION_H
 
 #include "arm_compute/core/CL/OpenCL.h"
 #include "arm_compute/runtime/IMemoryRegion.h"
@@ -183,4 +183,4 @@
     void unmap(cl::CommandQueue &q) final;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_RUNTIME_CL_CL_MEMORY_REGION_H__ */
+#endif /* ARM_COMPUTE_RUNTIME_CL_CL_MEMORY_REGION_H */
diff --git a/arm_compute/runtime/CL/CLMultiHOG.h b/arm_compute/runtime/CL/CLMultiHOG.h
index b7d03bf..45297c7 100644
--- a/arm_compute/runtime/CL/CLMultiHOG.h
+++ b/arm_compute/runtime/CL/CLMultiHOG.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLMULTIHOG_H__
-#define __ARM_COMPUTE_CLMULTIHOG_H__
+#ifndef ARM_COMPUTE_CLMULTIHOG_H
+#define ARM_COMPUTE_CLMULTIHOG_H
 
 #include "arm_compute/core/CL/ICLMultiHOG.h"
 #include "arm_compute/core/Types.h"
@@ -53,4 +53,4 @@
     std::vector<CLHOG> _model;
 };
 }
-#endif /*__ARM_COMPUTE_CLMULTIHOG_H__ */
+#endif /*ARM_COMPUTE_CLMULTIHOG_H */
diff --git a/arm_compute/runtime/CL/CLMultiImage.h b/arm_compute/runtime/CL/CLMultiImage.h
index 2c2b470..e76ee07 100644
--- a/arm_compute/runtime/CL/CLMultiImage.h
+++ b/arm_compute/runtime/CL/CLMultiImage.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLMULTIIMAGE_H__
-#define __ARM_COMPUTE_CLMULTIIMAGE_H__
+#ifndef ARM_COMPUTE_CLMULTIIMAGE_H
+#define ARM_COMPUTE_CLMULTIIMAGE_H
 
 #include "arm_compute/core/CL/ICLMultiImage.h"
 #include "arm_compute/core/MultiImageInfo.h"
@@ -84,4 +84,4 @@
     std::array<CLImage, 3> _plane; /* Instance CLImage to hold the planar's information */
 };
 }
-#endif /*__ARM_COMPUTE_CLMULTIIMAGE_H__ */
+#endif /*ARM_COMPUTE_CLMULTIIMAGE_H */
diff --git a/arm_compute/runtime/CL/CLPyramid.h b/arm_compute/runtime/CL/CLPyramid.h
index b66bc3b..696091e 100644
--- a/arm_compute/runtime/CL/CLPyramid.h
+++ b/arm_compute/runtime/CL/CLPyramid.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLPYRAMID_H__
-#define __ARM_COMPUTE_CLPYRAMID_H__
+#ifndef ARM_COMPUTE_CLPYRAMID_H
+#define ARM_COMPUTE_CLPYRAMID_H
 
 #include "arm_compute/core/IPyramid.h"
 #include "arm_compute/core/PyramidInfo.h"
@@ -79,4 +79,4 @@
     mutable std::vector<CLTensor> _pyramid;
 };
 }
-#endif /*__ARM_COMPUTE_CLPYRAMID_H__ */
+#endif /*ARM_COMPUTE_CLPYRAMID_H */
diff --git a/arm_compute/runtime/CL/CLRuntimeContext.h b/arm_compute/runtime/CL/CLRuntimeContext.h
index 971dfd2..5d4a277 100644
--- a/arm_compute/runtime/CL/CLRuntimeContext.h
+++ b/arm_compute/runtime/CL/CLRuntimeContext.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLRUNTIME_CONTEXT_H__
-#define __ARM_COMPUTE_CLRUNTIME_CONTEXT_H__
+#ifndef ARM_COMPUTE_CLRUNTIME_CONTEXT_H
+#define ARM_COMPUTE_CLRUNTIME_CONTEXT_H
 
 #include "arm_compute/core/CL/CLCoreRuntimeContext.h"
 #include "arm_compute/core/CL/CLKernelLibrary.h"
@@ -67,4 +67,4 @@
     CLCoreRuntimeContext         _core_context{};
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLRUNTIME_CONTEXT_H__ */
+#endif /*ARM_COMPUTE_CLRUNTIME_CONTEXT_H */
diff --git a/arm_compute/runtime/CL/CLScheduler.h b/arm_compute/runtime/CL/CLScheduler.h
index 3620820..573248e 100644
--- a/arm_compute/runtime/CL/CLScheduler.h
+++ b/arm_compute/runtime/CL/CLScheduler.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSCHEDULER_H__
-#define __ARM_COMPUTE_CLSCHEDULER_H__
+#ifndef ARM_COMPUTE_CLSCHEDULER_H
+#define ARM_COMPUTE_CLSCHEDULER_H
 
 #include "arm_compute/core/CL/CLHelpers.h"
 #include "arm_compute/core/CL/CLTypes.h"
@@ -154,4 +154,4 @@
     std::unique_ptr<ICLTuner> _cl_default_static_tuner;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLSCHEDULER_H__ */
+#endif /* ARM_COMPUTE_CLSCHEDULER_H */
diff --git a/arm_compute/runtime/CL/CLSubTensor.h b/arm_compute/runtime/CL/CLSubTensor.h
index 1625aa5..98dd28f 100644
--- a/arm_compute/runtime/CL/CLSubTensor.h
+++ b/arm_compute/runtime/CL/CLSubTensor.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSUBTENSOR_H__
-#define __ARM_COMPUTE_CLSUBTENSOR_H__
+#ifndef ARM_COMPUTE_CLSUBTENSOR_H
+#define ARM_COMPUTE_CLSUBTENSOR_H
 
 #include "arm_compute/core/SubTensorInfo.h"
 #include "arm_compute/runtime/CL/CLTensor.h"
@@ -100,4 +100,4 @@
     mutable SubTensorInfo _info;
 };
 }
-#endif /*__ARM_COMPUTE_CLSUBTENSOR_H__ */
+#endif /*ARM_COMPUTE_CLSUBTENSOR_H */
diff --git a/arm_compute/runtime/CL/CLTensor.h b/arm_compute/runtime/CL/CLTensor.h
index c108d1a..aaf46fb 100644
--- a/arm_compute/runtime/CL/CLTensor.h
+++ b/arm_compute/runtime/CL/CLTensor.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLTENSOR_H__
-#define __ARM_COMPUTE_CLTENSOR_H__
+#ifndef ARM_COMPUTE_CLTENSOR_H
+#define ARM_COMPUTE_CLTENSOR_H
 
 #include "arm_compute/core/CL/ICLTensor.h"
 #include "arm_compute/core/CL/OpenCL.h"
@@ -103,4 +103,4 @@
 /** OpenCL Image */
 using CLImage = CLTensor;
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLTENSOR_H__ */
+#endif /*ARM_COMPUTE_CLTENSOR_H */
diff --git a/arm_compute/runtime/CL/CLTensorAllocator.h b/arm_compute/runtime/CL/CLTensorAllocator.h
index b3ffd8b..7c1bc03 100644
--- a/arm_compute/runtime/CL/CLTensorAllocator.h
+++ b/arm_compute/runtime/CL/CLTensorAllocator.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLTENSORALLOCATOR_H__
-#define __ARM_COMPUTE_CLTENSORALLOCATOR_H__
+#ifndef ARM_COMPUTE_CLTENSORALLOCATOR_H
+#define ARM_COMPUTE_CLTENSORALLOCATOR_H
 
 #include "arm_compute/runtime/CL/CLArray.h"
 #include "arm_compute/runtime/CL/CLMemory.h"
@@ -149,4 +149,4 @@
     CLInt32Array       _offset;                  /**< Offsets array in case of quantized per channel data type */
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLTENSORALLOCATOR_H__ */
+#endif /* ARM_COMPUTE_CLTENSORALLOCATOR_H */
diff --git a/arm_compute/runtime/CL/CLTuner.h b/arm_compute/runtime/CL/CLTuner.h
index 3f3df5f..3b7a42f 100644
--- a/arm_compute/runtime/CL/CLTuner.h
+++ b/arm_compute/runtime/CL/CLTuner.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLTUNER_H__
-#define __ARM_COMPUTE_CLTUNER_H__
+#ifndef ARM_COMPUTE_CLTUNER_H
+#define ARM_COMPUTE_CLTUNER_H
 
 #include "arm_compute/core/CL/OpenCL.h"
 #include "arm_compute/runtime/CL/CLTunerTypes.h"
@@ -138,4 +138,4 @@
     CLTunerMode _tuner_mode;
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLTUNER_H__ */
+#endif /*ARM_COMPUTE_CLTUNER_H */
diff --git a/arm_compute/runtime/CL/CLTunerTypes.h b/arm_compute/runtime/CL/CLTunerTypes.h
index 20c026e..a3385b6 100644
--- a/arm_compute/runtime/CL/CLTunerTypes.h
+++ b/arm_compute/runtime/CL/CLTunerTypes.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLTUNER_TYPES_H__
-#define __ARM_COMPUTE_CLTUNER_TYPES_H__
+#ifndef ARM_COMPUTE_CLTUNER_TYPES_H
+#define ARM_COMPUTE_CLTUNER_TYPES_H
 
 #include "arm_compute/core/Error.h"
 #include "arm_compute/core/utils/misc/Utility.h"
@@ -84,4 +84,4 @@
     return stream;
 }
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLTUNER_TYPES_H__ */
+#endif /*ARM_COMPUTE_CLTUNER_TYPES_H */
diff --git a/arm_compute/runtime/CL/ICLSimpleFunction.h b/arm_compute/runtime/CL/ICLSimpleFunction.h
index 5b6b608..5fc956d 100644
--- a/arm_compute/runtime/CL/ICLSimpleFunction.h
+++ b/arm_compute/runtime/CL/ICLSimpleFunction.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_ICLSIMPLEFUNCTION_H__
-#define __ARM_COMPUTE_ICLSIMPLEFUNCTION_H__
+#ifndef ARM_COMPUTE_ICLSIMPLEFUNCTION_H
+#define ARM_COMPUTE_ICLSIMPLEFUNCTION_H
 
 #include "arm_compute/core/CL/ICLKernel.h"
 #include "arm_compute/core/CL/kernels/CLFillBorderKernel.h"
@@ -63,4 +63,4 @@
     CLRuntimeContext          *_ctx;            /**< Context to use */
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_ICLSIMPLEFUNCTION_H__ */
+#endif /*ARM_COMPUTE_ICLSIMPLEFUNCTION_H */
diff --git a/arm_compute/runtime/CL/ICLTuner.h b/arm_compute/runtime/CL/ICLTuner.h
index 95b22b5..ba4eeac 100644
--- a/arm_compute/runtime/CL/ICLTuner.h
+++ b/arm_compute/runtime/CL/ICLTuner.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_ICLTUNER_H__
-#define __ARM_COMPUTE_ICLTUNER_H__
+#ifndef ARM_COMPUTE_ICLTUNER_H
+#define ARM_COMPUTE_ICLTUNER_H
 
 namespace arm_compute
 {
@@ -51,4 +51,4 @@
     virtual void tune_kernel_dynamic(ICLKernel &kernel) = 0;
 };
 }
-#endif /*__ARM_COMPUTE_ICLTUNER_H__ */
+#endif /*ARM_COMPUTE_ICLTUNER_H */
diff --git a/arm_compute/runtime/CL/functions/CLAbsoluteDifference.h b/arm_compute/runtime/CL/functions/CLAbsoluteDifference.h
index 40ee396..28d3acc 100644
--- a/arm_compute/runtime/CL/functions/CLAbsoluteDifference.h
+++ b/arm_compute/runtime/CL/functions/CLAbsoluteDifference.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLABSOLUTEDIFFERENCE_H__
-#define __ARM_COMPUTE_CLABSOLUTEDIFFERENCE_H__
+#ifndef ARM_COMPUTE_CLABSOLUTEDIFFERENCE_H
+#define ARM_COMPUTE_CLABSOLUTEDIFFERENCE_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -47,4 +47,4 @@
     void configure(const ICLTensor *input1, const ICLTensor *input2, ICLTensor *output);
 };
 }
-#endif /* __ARM_COMPUTE_CLABSOLUTEDIFFERENCE_H__ */
+#endif /* ARM_COMPUTE_CLABSOLUTEDIFFERENCE_H */
diff --git a/arm_compute/runtime/CL/functions/CLAccumulate.h b/arm_compute/runtime/CL/functions/CLAccumulate.h
index 51f6df9..f465ab3 100644
--- a/arm_compute/runtime/CL/functions/CLAccumulate.h
+++ b/arm_compute/runtime/CL/functions/CLAccumulate.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLACCUMULATE_H__
-#define __ARM_COMPUTE_CLACCUMULATE_H__
+#ifndef ARM_COMPUTE_CLACCUMULATE_H
+#define ARM_COMPUTE_CLACCUMULATE_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -70,4 +70,4 @@
     void configure(const ICLTensor *input, uint32_t shift, ICLTensor *accum);
 };
 }
-#endif /*__ARM_COMPUTE_CLACCUMULATE_H__ */
+#endif /*ARM_COMPUTE_CLACCUMULATE_H */
diff --git a/arm_compute/runtime/CL/functions/CLActivationLayer.h b/arm_compute/runtime/CL/functions/CLActivationLayer.h
index e1e3e87..f778148 100644
--- a/arm_compute/runtime/CL/functions/CLActivationLayer.h
+++ b/arm_compute/runtime/CL/functions/CLActivationLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLACTIVATIONLAYER_H__
-#define __ARM_COMPUTE_CLACTIVATIONLAYER_H__
+#ifndef ARM_COMPUTE_CLACTIVATIONLAYER_H
+#define ARM_COMPUTE_CLACTIVATIONLAYER_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -74,4 +74,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, const ActivationLayerInfo &act_info);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLACTIVATIONLAYER_H__ */
+#endif /* ARM_COMPUTE_CLACTIVATIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLBatchNormalizationLayer.h b/arm_compute/runtime/CL/functions/CLBatchNormalizationLayer.h
index f05d29a..7cd4d16 100644
--- a/arm_compute/runtime/CL/functions/CLBatchNormalizationLayer.h
+++ b/arm_compute/runtime/CL/functions/CLBatchNormalizationLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLBATCHNORMALIZATIONLAYER_H__
-#define __ARM_COMPUTE_CLBATCHNORMALIZATIONLAYER_H__
+#ifndef ARM_COMPUTE_CLBATCHNORMALIZATIONLAYER_H
+#define ARM_COMPUTE_CLBATCHNORMALIZATIONLAYER_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -88,4 +88,4 @@
     CLBatchNormalizationLayerKernel _norm_kernel; /**< BatchNormalization layer kernel to run */
 };
 }
-#endif /* __ARM_COMPUTE_CLBATCHNORMALIZATIONLAYER_H__ */
+#endif /* ARM_COMPUTE_CLBATCHNORMALIZATIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLBatchToSpaceLayer.h b/arm_compute/runtime/CL/functions/CLBatchToSpaceLayer.h
index 2abfd7c..2968a68 100644
--- a/arm_compute/runtime/CL/functions/CLBatchToSpaceLayer.h
+++ b/arm_compute/runtime/CL/functions/CLBatchToSpaceLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLBATCHTOSPACELAYER_H__
-#define __ARM_COMPUTE_CLBATCHTOSPACELAYER_H__
+#ifndef ARM_COMPUTE_CLBATCHTOSPACELAYER_H
+#define ARM_COMPUTE_CLBATCHTOSPACELAYER_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -81,4 +81,4 @@
     CLBatchToSpaceLayerKernel _batch_to_space_kernel; /**< CLBatchToSpaceLayerKernel to run */
 };
 }
-#endif /* __ARM_COMPUTE_CLBATCHTOSPACELAYER_H__ */
+#endif /* ARM_COMPUTE_CLBATCHTOSPACELAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLBitwiseAnd.h b/arm_compute/runtime/CL/functions/CLBitwiseAnd.h
index a4a523b..77907cc 100644
--- a/arm_compute/runtime/CL/functions/CLBitwiseAnd.h
+++ b/arm_compute/runtime/CL/functions/CLBitwiseAnd.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLBITWISEAND_H__
-#define __ARM_COMPUTE_CLBITWISEAND_H__
+#ifndef ARM_COMPUTE_CLBITWISEAND_H
+#define ARM_COMPUTE_CLBITWISEAND_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -47,4 +47,4 @@
     void configure(const ICLTensor *input1, const ICLTensor *input2, ICLTensor *output);
 };
 }
-#endif /* __ARM_COMPUTE_CLBITWISEAND_H__ */
+#endif /* ARM_COMPUTE_CLBITWISEAND_H */
diff --git a/arm_compute/runtime/CL/functions/CLBitwiseNot.h b/arm_compute/runtime/CL/functions/CLBitwiseNot.h
index 0ff16af..b5c7cfe 100644
--- a/arm_compute/runtime/CL/functions/CLBitwiseNot.h
+++ b/arm_compute/runtime/CL/functions/CLBitwiseNot.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLBITWISENOT_H__
-#define __ARM_COMPUTE_CLBITWISENOT_H__
+#ifndef ARM_COMPUTE_CLBITWISENOT_H
+#define ARM_COMPUTE_CLBITWISENOT_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -46,4 +46,4 @@
     void configure(const ICLTensor *input, ICLTensor *output);
 };
 }
-#endif /* __ARM_COMPUTE_CLBITWISENOT_H__ */
+#endif /* ARM_COMPUTE_CLBITWISENOT_H */
diff --git a/arm_compute/runtime/CL/functions/CLBitwiseOr.h b/arm_compute/runtime/CL/functions/CLBitwiseOr.h
index 880c476..5957c3f 100644
--- a/arm_compute/runtime/CL/functions/CLBitwiseOr.h
+++ b/arm_compute/runtime/CL/functions/CLBitwiseOr.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLBITWISEOR_H__
-#define __ARM_COMPUTE_CLBITWISEOR_H__
+#ifndef ARM_COMPUTE_CLBITWISEOR_H
+#define ARM_COMPUTE_CLBITWISEOR_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -47,4 +47,4 @@
     void configure(const ICLTensor *input1, const ICLTensor *input2, ICLTensor *output);
 };
 }
-#endif /* __ARM_COMPUTE_CLBITWISEOR_H__ */
+#endif /* ARM_COMPUTE_CLBITWISEOR_H */
diff --git a/arm_compute/runtime/CL/functions/CLBitwiseXor.h b/arm_compute/runtime/CL/functions/CLBitwiseXor.h
index 772dec2..a4e864c 100644
--- a/arm_compute/runtime/CL/functions/CLBitwiseXor.h
+++ b/arm_compute/runtime/CL/functions/CLBitwiseXor.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLBITWISEXOR_H__
-#define __ARM_COMPUTE_CLBITWISEXOR_H__
+#ifndef ARM_COMPUTE_CLBITWISEXOR_H
+#define ARM_COMPUTE_CLBITWISEXOR_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -47,4 +47,4 @@
     void configure(const ICLTensor *input1, const ICLTensor *input2, ICLTensor *output);
 };
 }
-#endif /* __ARM_COMPUTE_CLBITWISEXOR_H__ */
+#endif /* ARM_COMPUTE_CLBITWISEXOR_H */
diff --git a/arm_compute/runtime/CL/functions/CLBoundingBoxTransform.h b/arm_compute/runtime/CL/functions/CLBoundingBoxTransform.h
index 5ce4489..3e11781 100644
--- a/arm_compute/runtime/CL/functions/CLBoundingBoxTransform.h
+++ b/arm_compute/runtime/CL/functions/CLBoundingBoxTransform.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLBOUNDINGBOXTRANSOFORM_H__
-#define __ARM_COMPUTE_CLBOUNDINGBOXTRANSOFORM_H__
+#ifndef ARM_COMPUTE_CLBOUNDINGBOXTRANSOFORM_H
+#define ARM_COMPUTE_CLBOUNDINGBOXTRANSOFORM_H
 
 #include "arm_compute/core/CL/kernels/CLBoundingBoxTransformKernel.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -66,4 +66,4 @@
     static Status validate(const ITensorInfo *boxes, const ITensorInfo *pred_boxes, const ITensorInfo *deltas, const BoundingBoxTransformInfo &info);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLBOUNDINGBOXTRANSFORM_H__ */
+#endif /* ARM_COMPUTE_CLBOUNDINGBOXTRANSFORM_H */
diff --git a/arm_compute/runtime/CL/functions/CLBox3x3.h b/arm_compute/runtime/CL/functions/CLBox3x3.h
index 5e51c1a..3fb18e3 100644
--- a/arm_compute/runtime/CL/functions/CLBox3x3.h
+++ b/arm_compute/runtime/CL/functions/CLBox3x3.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLBOX3X3_H__
-#define __ARM_COMPUTE_CLBOX3X3_H__
+#ifndef ARM_COMPUTE_CLBOX3X3_H
+#define ARM_COMPUTE_CLBOX3X3_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -52,4 +52,4 @@
     void configure(ICLTensor *input, ICLTensor *output, BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLBOX3X3_H__ */
+#endif /*ARM_COMPUTE_CLBOX3X3_H */
diff --git a/arm_compute/runtime/CL/functions/CLCannyEdge.h b/arm_compute/runtime/CL/functions/CLCannyEdge.h
index ab5657c..1a56767 100644
--- a/arm_compute/runtime/CL/functions/CLCannyEdge.h
+++ b/arm_compute/runtime/CL/functions/CLCannyEdge.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCANNYEDGE_H__
-#define __ARM_COMPUTE_CLCANNYEDGE_H__
+#ifndef ARM_COMPUTE_CLCANNYEDGE_H
+#define ARM_COMPUTE_CLCANNYEDGE_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -90,4 +90,4 @@
 };
 }
 
-#endif /* __ARM_COMPUTE_CLCANNYEDGE_H__ */
+#endif /* ARM_COMPUTE_CLCANNYEDGE_H */
diff --git a/arm_compute/runtime/CL/functions/CLCast.h b/arm_compute/runtime/CL/functions/CLCast.h
index ca50cf1..4cb1fe0 100644
--- a/arm_compute/runtime/CL/functions/CLCast.h
+++ b/arm_compute/runtime/CL/functions/CLCast.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCAST_H__
-#define __ARM_COMPUTE_CLCAST_H__
+#ifndef ARM_COMPUTE_CLCAST_H
+#define ARM_COMPUTE_CLCAST_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -67,4 +67,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, ConvertPolicy policy);
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLCAST_H__*/
+#endif /*ARM_COMPUTE_CLCAST_H*/
diff --git a/arm_compute/runtime/CL/functions/CLChannelCombine.h b/arm_compute/runtime/CL/functions/CLChannelCombine.h
index 337e6b4..25f31d8 100644
--- a/arm_compute/runtime/CL/functions/CLChannelCombine.h
+++ b/arm_compute/runtime/CL/functions/CLChannelCombine.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCHANNELCOMBINE_H__
-#define __ARM_COMPUTE_CLCHANNELCOMBINE_H__
+#ifndef ARM_COMPUTE_CLCHANNELCOMBINE_H
+#define ARM_COMPUTE_CLCHANNELCOMBINE_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -55,4 +55,4 @@
     void configure(const ICLImage *plane0, const ICLImage *plane1, const ICLImage *plane2, ICLMultiImage *output);
 };
 }
-#endif /*__ARM_COMPUTE_CLCHANNELCOMBINE_H__*/
+#endif /*ARM_COMPUTE_CLCHANNELCOMBINE_H*/
diff --git a/arm_compute/runtime/CL/functions/CLChannelExtract.h b/arm_compute/runtime/CL/functions/CLChannelExtract.h
index 9182fef..77d84b9 100644
--- a/arm_compute/runtime/CL/functions/CLChannelExtract.h
+++ b/arm_compute/runtime/CL/functions/CLChannelExtract.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCHANNELEXTRACT_H__
-#define __ARM_COMPUTE_CLCHANNELEXTRACT_H__
+#ifndef ARM_COMPUTE_CLCHANNELEXTRACT_H
+#define ARM_COMPUTE_CLCHANNELEXTRACT_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -53,4 +53,4 @@
     void configure(const ICLMultiImage *input, Channel channel, ICLImage *output);
 };
 }
-#endif /*__ARM_COMPUTE_CLCHANNELEXTRACT_H__*/
+#endif /*ARM_COMPUTE_CLCHANNELEXTRACT_H*/
diff --git a/arm_compute/runtime/CL/functions/CLChannelShuffleLayer.h b/arm_compute/runtime/CL/functions/CLChannelShuffleLayer.h
index 813f410..2770ee5 100644
--- a/arm_compute/runtime/CL/functions/CLChannelShuffleLayer.h
+++ b/arm_compute/runtime/CL/functions/CLChannelShuffleLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCHANNELSHUFFLELAYER_H__
-#define __ARM_COMPUTE_CLCHANNELSHUFFLELAYER_H__
+#ifndef ARM_COMPUTE_CLCHANNELSHUFFLELAYER_H
+#define ARM_COMPUTE_CLCHANNELSHUFFLELAYER_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -57,4 +57,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, unsigned int num_groups);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLCHANNELSHUFFLELAYER_H__ */
+#endif /* ARM_COMPUTE_CLCHANNELSHUFFLELAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLColorConvert.h b/arm_compute/runtime/CL/functions/CLColorConvert.h
index 8f4fa56..1a3bea9 100644
--- a/arm_compute/runtime/CL/functions/CLColorConvert.h
+++ b/arm_compute/runtime/CL/functions/CLColorConvert.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCOLORCONVERT_H__
-#define __ARM_COMPUTE_CLCOLORCONVERT_H__
+#ifndef ARM_COMPUTE_CLCOLORCONVERT_H
+#define ARM_COMPUTE_CLCOLORCONVERT_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -67,4 +67,4 @@
     void configure(const ICLMultiImage *input, ICLMultiImage *output);
 };
 }
-#endif /* __ARM_COMPUTE_CLCOLORCONVERT_H__ */
+#endif /* ARM_COMPUTE_CLCOLORCONVERT_H */
diff --git a/arm_compute/runtime/CL/functions/CLComparison.h b/arm_compute/runtime/CL/functions/CLComparison.h
index f5a2b03..7f0b223 100644
--- a/arm_compute/runtime/CL/functions/CLComparison.h
+++ b/arm_compute/runtime/CL/functions/CLComparison.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCOMPARISON_H__
-#define __ARM_COMPUTE_CLCOMPARISON_H__
+#ifndef ARM_COMPUTE_CLCOMPARISON_H
+#define ARM_COMPUTE_CLCOMPARISON_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -99,4 +99,4 @@
 /** Basic function to run less-equal comparison. */
 using CLLessEqual = CLComparisonStatic<ComparisonOperation::LessEqual>;
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLCOMPARISON_H__ */
+#endif /* ARM_COMPUTE_CLCOMPARISON_H */
diff --git a/arm_compute/runtime/CL/functions/CLComputeAllAnchors.h b/arm_compute/runtime/CL/functions/CLComputeAllAnchors.h
index 39d9b55..a039320 100644
--- a/arm_compute/runtime/CL/functions/CLComputeAllAnchors.h
+++ b/arm_compute/runtime/CL/functions/CLComputeAllAnchors.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCOMPUTEALLANCHORS_H__
-#define __ARM_COMPUTE_CLCOMPUTEALLANCHORS_H__
+#ifndef ARM_COMPUTE_CLCOMPUTEALLANCHORS_H
+#define ARM_COMPUTE_CLCOMPUTEALLANCHORS_H
 
 #include "arm_compute/core/CL/kernels/CLGenerateProposalsLayerKernel.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -59,4 +59,4 @@
     static Status validate(const ITensorInfo *anchors, const ITensorInfo *all_anchors, const ComputeAnchorsInfo &info);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLCOMPUTEALLANCOHORS_H__ */
+#endif /* ARM_COMPUTE_CLCOMPUTEALLANCOHORS_H */
diff --git a/arm_compute/runtime/CL/functions/CLConcatenateLayer.h b/arm_compute/runtime/CL/functions/CLConcatenateLayer.h
index fb9724d..29037f2 100644
--- a/arm_compute/runtime/CL/functions/CLConcatenateLayer.h
+++ b/arm_compute/runtime/CL/functions/CLConcatenateLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCONCATENATELAYER_H__
-#define __ARM_COMPUTE_CLCONCATENATELAYER_H__
+#ifndef ARM_COMPUTE_CLCONCATENATELAYER_H
+#define ARM_COMPUTE_CLCONCATENATELAYER_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -91,4 +91,4 @@
     unsigned int                            _axis;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLCONCATENATELAYER_H__ */
+#endif /* ARM_COMPUTE_CLCONCATENATELAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLConvertFullyConnectedWeights.h b/arm_compute/runtime/CL/functions/CLConvertFullyConnectedWeights.h
index e4e6f07..f0359ec 100644
--- a/arm_compute/runtime/CL/functions/CLConvertFullyConnectedWeights.h
+++ b/arm_compute/runtime/CL/functions/CLConvertFullyConnectedWeights.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCONVERTFULLYCONNECTEDWEIGHTS_H__
-#define __ARM_COMPUTE_CLCONVERTFULLYCONNECTEDWEIGHTS_H__
+#ifndef ARM_COMPUTE_CLCONVERTFULLYCONNECTEDWEIGHTS_H
+#define ARM_COMPUTE_CLCONVERTFULLYCONNECTEDWEIGHTS_H
 
 #include "arm_compute/core/CL/kernels/CLConvertFullyConnectedWeightsKernel.h"
 #include "arm_compute/runtime/CL/CLTensor.h"
@@ -106,4 +106,4 @@
 };
 } // namespace weights_transformations
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLCONVERTFULLYCONNECTEDWEIGHTS_H__ */
+#endif /* ARM_COMPUTE_CLCONVERTFULLYCONNECTEDWEIGHTS_H */
diff --git a/arm_compute/runtime/CL/functions/CLConvolution.h b/arm_compute/runtime/CL/functions/CLConvolution.h
index b79affc..43507d7 100644
--- a/arm_compute/runtime/CL/functions/CLConvolution.h
+++ b/arm_compute/runtime/CL/functions/CLConvolution.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCONVOLUTION_H__
-#define __ARM_COMPUTE_CLCONVOLUTION_H__
+#ifndef ARM_COMPUTE_CLCONVOLUTION_H
+#define ARM_COMPUTE_CLCONVOLUTION_H
 
 #include "arm_compute/core/CL/kernels/CLConvolutionKernel.h"
 #include "arm_compute/core/CL/kernels/CLFillBorderKernel.h"
@@ -129,4 +129,4 @@
     void configure(ICLTensor *input, ICLTensor *output, const int16_t *conv, uint32_t rows, uint32_t cols, uint32_t scale, BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLCONVOLUTION_H__ */
+#endif /*ARM_COMPUTE_CLCONVOLUTION_H */
diff --git a/arm_compute/runtime/CL/functions/CLConvolutionLayer.h b/arm_compute/runtime/CL/functions/CLConvolutionLayer.h
index 8dfb6c8..66dc7af 100644
--- a/arm_compute/runtime/CL/functions/CLConvolutionLayer.h
+++ b/arm_compute/runtime/CL/functions/CLConvolutionLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCONVOLUTIONLAYER_H__
-#define __ARM_COMPUTE_CLCONVOLUTIONLAYER_H__
+#ifndef ARM_COMPUTE_CLCONVOLUTIONLAYER_H
+#define ARM_COMPUTE_CLCONVOLUTIONLAYER_H
 
 #include "arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h"
 #include "arm_compute/runtime/CL/functions/CLFFTConvolutionLayer.h"
@@ -147,4 +147,4 @@
     std::unique_ptr<IFunction>      _function;
 };
 }
-#endif /* __ARM_COMPUTE_CLCONVOLUTIONLAYER_H__ */
+#endif /* ARM_COMPUTE_CLCONVOLUTIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLCopy.h b/arm_compute/runtime/CL/functions/CLCopy.h
index 08e34ad..9252ac3 100644
--- a/arm_compute/runtime/CL/functions/CLCopy.h
+++ b/arm_compute/runtime/CL/functions/CLCopy.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLCOPY_H__
-#define __ARM_COMPUTE_CLCOPY_H__
+#ifndef ARM_COMPUTE_CLCOPY_H
+#define ARM_COMPUTE_CLCOPY_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -53,4 +53,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output);
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLCOPY_H__ */
+#endif /*ARM_COMPUTE_CLCOPY_H */
diff --git a/arm_compute/runtime/CL/functions/CLCropResize.h b/arm_compute/runtime/CL/functions/CLCropResize.h
index 9ec2071..244e345 100644
--- a/arm_compute/runtime/CL/functions/CLCropResize.h
+++ b/arm_compute/runtime/CL/functions/CLCropResize.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CL_CROP_RESIZE_H__
-#define __ARM_COMPUTE_CL_CROP_RESIZE_H__
+#ifndef ARM_COMPUTE_CL_CROP_RESIZE_H
+#define ARM_COMPUTE_CL_CROP_RESIZE_H
 
 #include "arm_compute/core/CL/ICLTensor.h"
 #include "arm_compute/core/CL/kernels/CLCopyKernel.h"
@@ -111,4 +111,4 @@
     std::vector<std::unique_ptr<CLTensor>>     _scaled_results;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CL_CROP_RESIZE_H__ */
+#endif /* ARM_COMPUTE_CL_CROP_RESIZE_H */
diff --git a/arm_compute/runtime/CL/functions/CLDeconvolutionLayer.h b/arm_compute/runtime/CL/functions/CLDeconvolutionLayer.h
index b722b46..8c46bc2 100644
--- a/arm_compute/runtime/CL/functions/CLDeconvolutionLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDeconvolutionLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLDECONVOLUTIONLAYER_H__
-#define __ARM_COMPUTE_CLDECONVOLUTIONLAYER_H__
+#ifndef ARM_COMPUTE_CLDECONVOLUTIONLAYER_H
+#define ARM_COMPUTE_CLDECONVOLUTIONLAYER_H
 
 #include "arm_compute/runtime/CL/functions/CLDirectDeconvolutionLayer.h"
 #include "arm_compute/runtime/CL/functions/CLGEMMDeconvolutionLayer.h"
@@ -80,4 +80,4 @@
     std::unique_ptr<IFunction>      _function;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLDECONVOLUTIONLAYER_H__ */
+#endif /* ARM_COMPUTE_CLDECONVOLUTIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLDeconvolutionLayerUpsample.h b/arm_compute/runtime/CL/functions/CLDeconvolutionLayerUpsample.h
index 9776264..6f01574 100644
--- a/arm_compute/runtime/CL/functions/CLDeconvolutionLayerUpsample.h
+++ b/arm_compute/runtime/CL/functions/CLDeconvolutionLayerUpsample.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLDECONVOLUTIONLAYERUPSAMPLE_H__
-#define __ARM_COMPUTE_CLDECONVOLUTIONLAYERUPSAMPLE_H__
+#ifndef ARM_COMPUTE_CLDECONVOLUTIONLAYERUPSAMPLE_H
+#define ARM_COMPUTE_CLDECONVOLUTIONLAYERUPSAMPLE_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -83,4 +83,4 @@
     ICLTensor                         *_output;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLDECONVOLUTIONLAYERUPSAMPLE_H__ */
+#endif /* ARM_COMPUTE_CLDECONVOLUTIONLAYERUPSAMPLE_H */
diff --git a/arm_compute/runtime/CL/functions/CLDepthConvertLayer.h b/arm_compute/runtime/CL/functions/CLDepthConvertLayer.h
index a198556..1b9476c 100644
--- a/arm_compute/runtime/CL/functions/CLDepthConvertLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDepthConvertLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLDEPTHCONVERT_H__
-#define __ARM_COMPUTE_CLDEPTHCONVERT_H__
+#ifndef ARM_COMPUTE_CLDEPTHCONVERT_H
+#define ARM_COMPUTE_CLDEPTHCONVERT_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -69,4 +69,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, ConvertPolicy policy, uint32_t shift);
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLDEPTHCONVERT_H__*/
+#endif /*ARM_COMPUTE_CLDEPTHCONVERT_H*/
diff --git a/arm_compute/runtime/CL/functions/CLDepthToSpaceLayer.h b/arm_compute/runtime/CL/functions/CLDepthToSpaceLayer.h
index 57d19c5..ddee04a 100644
--- a/arm_compute/runtime/CL/functions/CLDepthToSpaceLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDepthToSpaceLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLDEPTHTOSPACELAYER_H__
-#define __ARM_COMPUTE_CLDEPTHTOSPACELAYER_H__
+#ifndef ARM_COMPUTE_CLDEPTHTOSPACELAYER_H
+#define ARM_COMPUTE_CLDEPTHTOSPACELAYER_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -63,4 +63,4 @@
     CLDepthToSpaceLayerKernel _depth_to_space_kernel; /**< CLDepthToSpaceLayerKernel to run */
 };
 }
-#endif /* __ARM_COMPUTE_CLDEPTHTOSPACELAYER_H__ */
+#endif /* ARM_COMPUTE_CLDEPTHTOSPACELAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLDepthwiseConvolutionLayer.h b/arm_compute/runtime/CL/functions/CLDepthwiseConvolutionLayer.h
index e15f62f..7ce7cce 100644
--- a/arm_compute/runtime/CL/functions/CLDepthwiseConvolutionLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDepthwiseConvolutionLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLDEPTHWISECONVOLUTION_H__
-#define __ARM_COMPUTE_CLDEPTHWISECONVOLUTION_H__
+#ifndef ARM_COMPUTE_CLDEPTHWISECONVOLUTION_H
+#define ARM_COMPUTE_CLDEPTHWISECONVOLUTION_H
 
 #include "arm_compute/core/CL/kernels/CLDepthwiseConvolutionLayer3x3NCHWKernel.h"
 #include "arm_compute/core/CL/kernels/CLDepthwiseConvolutionLayer3x3NHWCKernel.h"
@@ -356,4 +356,4 @@
     CLDepthwiseConvolutionLayer _func;
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLDEPTHWISECONVOLUTION_H__ */
+#endif /*ARM_COMPUTE_CLDEPTHWISECONVOLUTION_H */
diff --git a/arm_compute/runtime/CL/functions/CLDequantizationLayer.h b/arm_compute/runtime/CL/functions/CLDequantizationLayer.h
index f3e507a..308349a 100644
--- a/arm_compute/runtime/CL/functions/CLDequantizationLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDequantizationLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLDEQUANTIZATIONLAYER_H__
-#define __ARM_COMPUTE_CLDEQUANTIZATIONLAYER_H__
+#ifndef ARM_COMPUTE_CLDEQUANTIZATIONLAYER_H
+#define ARM_COMPUTE_CLDEQUANTIZATIONLAYER_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -54,4 +54,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLDEQUANTIZATIONLAYER_H__ */
+#endif /* ARM_COMPUTE_CLDEQUANTIZATIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLDerivative.h b/arm_compute/runtime/CL/functions/CLDerivative.h
index 05033e8..1155d40 100644
--- a/arm_compute/runtime/CL/functions/CLDerivative.h
+++ b/arm_compute/runtime/CL/functions/CLDerivative.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLDERIVATIVE_H__
-#define __ARM_COMPUTE_CLDERIVATIVE_H__
+#ifndef ARM_COMPUTE_CLDERIVATIVE_H
+#define ARM_COMPUTE_CLDERIVATIVE_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -56,4 +56,4 @@
     void configure(ICLTensor *input, ICLTensor *output_x, ICLTensor *output_y, BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /* __ARM_COMPUTE_CLDERIVATIVE_H__ */
+#endif /* ARM_COMPUTE_CLDERIVATIVE_H */
diff --git a/arm_compute/runtime/CL/functions/CLDilate.h b/arm_compute/runtime/CL/functions/CLDilate.h
index e4173ac..ceea456 100644
--- a/arm_compute/runtime/CL/functions/CLDilate.h
+++ b/arm_compute/runtime/CL/functions/CLDilate.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLDILATE_H__
-#define __ARM_COMPUTE_CLDILATE_H__
+#ifndef ARM_COMPUTE_CLDILATE_H
+#define ARM_COMPUTE_CLDILATE_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -52,4 +52,4 @@
     void configure(ICLTensor *input, ICLTensor *output, BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLDILATE_H__ */
+#endif /*ARM_COMPUTE_CLDILATE_H */
diff --git a/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h b/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h
index 31683c5..10bcb75 100644
--- a/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLDIRECTCONVOLUTIONLAYER_H__
-#define __ARM_COMPUTE_CLDIRECTCONVOLUTIONLAYER_H__
+#ifndef ARM_COMPUTE_CLDIRECTCONVOLUTIONLAYER_H
+#define ARM_COMPUTE_CLDIRECTCONVOLUTIONLAYER_H
 
 #include "arm_compute/core/CL/kernels/CLDirectConvolutionLayerKernel.h"
 #include "arm_compute/core/CL/kernels/CLFillBorderKernel.h"
@@ -85,4 +85,4 @@
     bool _is_activationlayer_enabled;
 };
 }
-#endif /* __ARM_COMPUTE_CLDIRECTCONVOLUTIONLAYER_H__ */
+#endif /* ARM_COMPUTE_CLDIRECTCONVOLUTIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLDirectDeconvolutionLayer.h b/arm_compute/runtime/CL/functions/CLDirectDeconvolutionLayer.h
index 9dfc827..f86618d 100644
--- a/arm_compute/runtime/CL/functions/CLDirectDeconvolutionLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDirectDeconvolutionLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLDIRECTDECONVOLUTIONLAYER_H__
-#define __ARM_COMPUTE_CLDIRECTDECONVOLUTIONLAYER_H__
+#ifndef ARM_COMPUTE_CLDIRECTDECONVOLUTIONLAYER_H
+#define ARM_COMPUTE_CLDIRECTDECONVOLUTIONLAYER_H
 
 #include "arm_compute/runtime/CL/functions/CLConvolutionLayer.h"
 #include "arm_compute/runtime/CL/functions/CLDeconvolutionLayerUpsample.h"
@@ -128,4 +128,4 @@
     bool _is_prepared;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLDECONVOLUTIONLAYER_H__ */
+#endif /* ARM_COMPUTE_CLDECONVOLUTIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLElementWiseUnaryLayer.h b/arm_compute/runtime/CL/functions/CLElementWiseUnaryLayer.h
index 79e409c..e2503f7 100644
--- a/arm_compute/runtime/CL/functions/CLElementWiseUnaryLayer.h
+++ b/arm_compute/runtime/CL/functions/CLElementWiseUnaryLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLELEMENTWISEUNARYLAYER_H__
-#define __ARM_COMPUTE_CLELEMENTWISEUNARYLAYER_H__
+#ifndef ARM_COMPUTE_CLELEMENTWISEUNARYLAYER_H
+#define ARM_COMPUTE_CLELEMENTWISEUNARYLAYER_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -170,4 +170,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLELEMENTWISEUNARYLAYER_H__ */
+#endif /* ARM_COMPUTE_CLELEMENTWISEUNARYLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLElementwiseOperations.h b/arm_compute/runtime/CL/functions/CLElementwiseOperations.h
index 4cbec62..a7cb8b4 100644
--- a/arm_compute/runtime/CL/functions/CLElementwiseOperations.h
+++ b/arm_compute/runtime/CL/functions/CLElementwiseOperations.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLELEMENTWISEOPERATIONS_H__
-#define __ARM_COMPUTE_CLELEMENTWISEOPERATIONS_H__
+#ifndef ARM_COMPUTE_CLELEMENTWISEOPERATIONS_H
+#define ARM_COMPUTE_CLELEMENTWISEOPERATIONS_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -231,4 +231,4 @@
     static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLELEMENTWISEOPERATIONS_H__ */
+#endif /* ARM_COMPUTE_CLELEMENTWISEOPERATIONS_H */
diff --git a/arm_compute/runtime/CL/functions/CLEqualizeHistogram.h b/arm_compute/runtime/CL/functions/CLEqualizeHistogram.h
index d718275..79c18fa 100644
--- a/arm_compute/runtime/CL/functions/CLEqualizeHistogram.h
+++ b/arm_compute/runtime/CL/functions/CLEqualizeHistogram.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLEQUALIZEHISTOGRAM_H__
-#define __ARM_COMPUTE_CLEQUALIZEHISTOGRAM_H__
+#ifndef ARM_COMPUTE_CLEQUALIZEHISTOGRAM_H
+#define ARM_COMPUTE_CLEQUALIZEHISTOGRAM_H
 
 #include "arm_compute/core/CL/kernels/CLHistogramKernel.h"
 #include "arm_compute/core/CL/kernels/CLTableLookupKernel.h"
@@ -69,4 +69,4 @@
     static const uint32_t   nr_bins   = 256;          /**< Histogram bins of the internal histograms. */
 };
 }
-#endif /*__ARM_COMPUTE_CLEQUALIZEHISTOGRAM_H__ */
+#endif /*ARM_COMPUTE_CLEQUALIZEHISTOGRAM_H */
diff --git a/arm_compute/runtime/CL/functions/CLErode.h b/arm_compute/runtime/CL/functions/CLErode.h
index a929cc9..a438f4e 100644
--- a/arm_compute/runtime/CL/functions/CLErode.h
+++ b/arm_compute/runtime/CL/functions/CLErode.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLERODE_H__
-#define __ARM_COMPUTE_CLERODE_H__
+#ifndef ARM_COMPUTE_CLERODE_H
+#define ARM_COMPUTE_CLERODE_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -52,4 +52,4 @@
     void configure(ICLTensor *input, ICLTensor *output, BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLERODE_H__ */
+#endif /*ARM_COMPUTE_CLERODE_H */
diff --git a/arm_compute/runtime/CL/functions/CLFFT1D.h b/arm_compute/runtime/CL/functions/CLFFT1D.h
index 47b1508..31e57e1 100644
--- a/arm_compute/runtime/CL/functions/CLFFT1D.h
+++ b/arm_compute/runtime/CL/functions/CLFFT1D.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLFFT1D_H__
-#define __ARM_COMPUTE_CLFFT1D_H__
+#ifndef ARM_COMPUTE_CLFFT1D_H
+#define ARM_COMPUTE_CLFFT1D_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -80,4 +80,4 @@
     bool                               _run_scale;
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLFFT1D_H__ */
+#endif /*ARM_COMPUTE_CLFFT1D_H */
diff --git a/arm_compute/runtime/CL/functions/CLFFT2D.h b/arm_compute/runtime/CL/functions/CLFFT2D.h
index d53f1ef..d34528b 100644
--- a/arm_compute/runtime/CL/functions/CLFFT2D.h
+++ b/arm_compute/runtime/CL/functions/CLFFT2D.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLFFT2D_H__
-#define __ARM_COMPUTE_CLFFT2D_H__
+#ifndef ARM_COMPUTE_CLFFT2D_H
+#define ARM_COMPUTE_CLFFT2D_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -73,4 +73,4 @@
     CLTensor    _first_pass_tensor;
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLFFT2D_H__ */
+#endif /*ARM_COMPUTE_CLFFT2D_H */
diff --git a/arm_compute/runtime/CL/functions/CLFFTConvolutionLayer.h b/arm_compute/runtime/CL/functions/CLFFTConvolutionLayer.h
index d326c59..34bb93a 100644
--- a/arm_compute/runtime/CL/functions/CLFFTConvolutionLayer.h
+++ b/arm_compute/runtime/CL/functions/CLFFTConvolutionLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLFFTCONVOLUTIONLAYER_H__
-#define __ARM_COMPUTE_CLFFTCONVOLUTIONLAYER_H__
+#ifndef ARM_COMPUTE_CLFFTCONVOLUTIONLAYER_H
+#define ARM_COMPUTE_CLFFTCONVOLUTIONLAYER_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -151,4 +151,4 @@
     bool             _is_prepared;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLFFTCONVOLUTIONLAYER_H__ */
+#endif /* ARM_COMPUTE_CLFFTCONVOLUTIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLFastCorners.h b/arm_compute/runtime/CL/functions/CLFastCorners.h
index 2c208ab..2a0e010 100644
--- a/arm_compute/runtime/CL/functions/CLFastCorners.h
+++ b/arm_compute/runtime/CL/functions/CLFastCorners.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLFASTCORNERS_H__
-#define __ARM_COMPUTE_CLFASTCORNERS_H__
+#ifndef ARM_COMPUTE_CLFASTCORNERS_H
+#define ARM_COMPUTE_CLFASTCORNERS_H
 
 #include "arm_compute/core/CL/OpenCL.h"
 #include "arm_compute/core/CL/kernels/CLFastCornersKernel.h"
@@ -89,4 +89,4 @@
     uint8_t                   _constant_border_value;
 };
 }
-#endif /*__ARM_COMPUTE_CLFASTCORNERS_H__ */
+#endif /*ARM_COMPUTE_CLFASTCORNERS_H */
diff --git a/arm_compute/runtime/CL/functions/CLFillBorder.h b/arm_compute/runtime/CL/functions/CLFillBorder.h
index f4515b6..ded79e5 100644
--- a/arm_compute/runtime/CL/functions/CLFillBorder.h
+++ b/arm_compute/runtime/CL/functions/CLFillBorder.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLFILLBORDER_H__
-#define __ARM_COMPUTE_CLFILLBORDER_H__
+#ifndef ARM_COMPUTE_CLFILLBORDER_H
+#define ARM_COMPUTE_CLFILLBORDER_H
 
 #include "arm_compute/core/PixelValue.h"
 #include "arm_compute/core/Types.h"
@@ -46,4 +46,4 @@
     void configure(ICLTensor *tensor, unsigned int border_width, BorderMode border_mode, const PixelValue &constant_border_value = PixelValue());
 };
 }
-#endif /*__ARM_COMPUTE_FILLBORDER_H__ */
+#endif /*ARM_COMPUTE_FILLBORDER_H */
diff --git a/arm_compute/runtime/CL/functions/CLFlattenLayer.h b/arm_compute/runtime/CL/functions/CLFlattenLayer.h
index 24ed56f..9597cd2 100644
--- a/arm_compute/runtime/CL/functions/CLFlattenLayer.h
+++ b/arm_compute/runtime/CL/functions/CLFlattenLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLFLATTENLAYER_H__
-#define __ARM_COMPUTE_CLFLATTENLAYER_H__
+#ifndef ARM_COMPUTE_CLFLATTENLAYER_H
+#define ARM_COMPUTE_CLFLATTENLAYER_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -60,4 +60,4 @@
 };
 } // namespace arm_compute
 
-#endif /* __ARM_COMPUTE_CLFLATTENLAYER_H__ */
\ No newline at end of file
+#endif /* ARM_COMPUTE_CLFLATTENLAYER_H */
\ No newline at end of file
diff --git a/arm_compute/runtime/CL/functions/CLFloor.h b/arm_compute/runtime/CL/functions/CLFloor.h
index 5e8368e..33d0321 100644
--- a/arm_compute/runtime/CL/functions/CLFloor.h
+++ b/arm_compute/runtime/CL/functions/CLFloor.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLFLOOR_H__
-#define __ARM_COMPUTE_CLFLOOR_H__
+#ifndef ARM_COMPUTE_CLFLOOR_H
+#define ARM_COMPUTE_CLFLOOR_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -52,4 +52,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output);
 };
 }
-#endif /* __ARM_COMPUTE_CLFLOOR_H__ */
+#endif /* ARM_COMPUTE_CLFLOOR_H */
diff --git a/arm_compute/runtime/CL/functions/CLFullyConnectedLayer.h b/arm_compute/runtime/CL/functions/CLFullyConnectedLayer.h
index f284359..e76a975 100644
--- a/arm_compute/runtime/CL/functions/CLFullyConnectedLayer.h
+++ b/arm_compute/runtime/CL/functions/CLFullyConnectedLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLFULLYCONNECTEDLAYER_H__
-#define __ARM_COMPUTE_CLFULLYCONNECTEDLAYER_H__
+#ifndef ARM_COMPUTE_CLFULLYCONNECTEDLAYER_H
+#define ARM_COMPUTE_CLFULLYCONNECTEDLAYER_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -198,4 +198,4 @@
     const ICLTensor                                                    *_original_weights;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLFULLYCONNECTEDLAYER_H__ */
+#endif /* ARM_COMPUTE_CLFULLYCONNECTEDLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLFuseBatchNormalization.h b/arm_compute/runtime/CL/functions/CLFuseBatchNormalization.h
index 50385d4..650d2e5 100644
--- a/arm_compute/runtime/CL/functions/CLFuseBatchNormalization.h
+++ b/arm_compute/runtime/CL/functions/CLFuseBatchNormalization.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLFUSEBATCHNORMALIZATION_H__
-#define __ARM_COMPUTE_CLFUSEBATCHNORMALIZATION_H__
+#ifndef ARM_COMPUTE_CLFUSEBATCHNORMALIZATION_H
+#define ARM_COMPUTE_CLFUSEBATCHNORMALIZATION_H
 
 #include "arm_compute/core/CL/kernels/CLFuseBatchNormalizationKernel.h"
 #include "arm_compute/core/Types.h"
@@ -96,4 +96,4 @@
     CLFuseBatchNormalizationKernel _fuse_bn_kernel;
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLFUSEBATCHNORMALIZATION_H__ */
+#endif /*ARM_COMPUTE_CLFUSEBATCHNORMALIZATION_H */
diff --git a/arm_compute/runtime/CL/functions/CLGEMM.h b/arm_compute/runtime/CL/functions/CLGEMM.h
index 3691fe9..bb620eb 100644
--- a/arm_compute/runtime/CL/functions/CLGEMM.h
+++ b/arm_compute/runtime/CL/functions/CLGEMM.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLGEMM_H__
-#define __ARM_COMPUTE_CLGEMM_H__
+#ifndef ARM_COMPUTE_CLGEMM_H
+#define ARM_COMPUTE_CLGEMM_H
 
 #include "arm_compute/core/CL/kernels/CLGEMMMatrixMultiplyKernel.h"
 #include "arm_compute/core/CL/kernels/CLGEMMMatrixMultiplyReshapedKernel.h"
@@ -191,4 +191,4 @@
 };
 } // namespace arm_compute
 
-#endif /* __ARM_COMPUTE_CLGEMM_H__ */
+#endif /* ARM_COMPUTE_CLGEMM_H */
diff --git a/arm_compute/runtime/CL/functions/CLGEMMLowpMatrixMultiplyCore.h b/arm_compute/runtime/CL/functions/CLGEMMLowpMatrixMultiplyCore.h
index b364653..770ef0b 100644
--- a/arm_compute/runtime/CL/functions/CLGEMMLowpMatrixMultiplyCore.h
+++ b/arm_compute/runtime/CL/functions/CLGEMMLowpMatrixMultiplyCore.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLGEMMLOWPMATRIXMULTIPLYCORE_H__
-#define __ARM_COMPUTE_CLGEMMLOWPMATRIXMULTIPLYCORE_H__
+#ifndef ARM_COMPUTE_CLGEMMLOWPMATRIXMULTIPLYCORE_H
+#define ARM_COMPUTE_CLGEMMLOWPMATRIXMULTIPLYCORE_H
 
 #include "arm_compute/core/CL/kernels/CLDepthConvertLayerKernel.h"
 #include "arm_compute/core/CL/kernels/CLGEMMLowpMatrixMultiplyKernel.h"
@@ -139,4 +139,4 @@
     bool    _convert_to_qasymm8;
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLGEMMLOWPMATRIXMULTIPLYCORE_H__ */
\ No newline at end of file
+#endif /*ARM_COMPUTE_CLGEMMLOWPMATRIXMULTIPLYCORE_H */
\ No newline at end of file
diff --git a/arm_compute/runtime/CL/functions/CLGEMMLowpOutputStage.h b/arm_compute/runtime/CL/functions/CLGEMMLowpOutputStage.h
index 25fa142..f453879 100644
--- a/arm_compute/runtime/CL/functions/CLGEMMLowpOutputStage.h
+++ b/arm_compute/runtime/CL/functions/CLGEMMLowpOutputStage.h
@@ -308,4 +308,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *bias, const ITensorInfo *output, int min = 0, int max = 0);
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLGEMMLOWPOUTPUTSTAGE_H__ */
\ No newline at end of file
+#endif /*ARM_COMPUTE_CLGEMMLOWPOUTPUTSTAGE_H */
\ No newline at end of file
diff --git a/arm_compute/runtime/CL/functions/CLGather.h b/arm_compute/runtime/CL/functions/CLGather.h
index 78bf825..7824f37 100644
--- a/arm_compute/runtime/CL/functions/CLGather.h
+++ b/arm_compute/runtime/CL/functions/CLGather.h
@@ -22,8 +22,8 @@
  * SOFTWARE.
  */
 
-#ifndef __ARM_COMPUTE_CLGATHER_H__
-#define __ARM_COMPUTE_CLGATHER_H__
+#ifndef ARM_COMPUTE_CLGATHER_H
+#define ARM_COMPUTE_CLGATHER_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -56,4 +56,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *indices, const ITensorInfo *output, int axis = 0);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLGATHER_H__ */
+#endif /* ARM_COMPUTE_CLGATHER_H */
diff --git a/arm_compute/runtime/CL/functions/CLGaussian3x3.h b/arm_compute/runtime/CL/functions/CLGaussian3x3.h
index f8223bc..2caf6c9 100644
--- a/arm_compute/runtime/CL/functions/CLGaussian3x3.h
+++ b/arm_compute/runtime/CL/functions/CLGaussian3x3.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLGAUSSIAN3X3_H__
-#define __ARM_COMPUTE_CLGAUSSIAN3X3_H__
+#ifndef ARM_COMPUTE_CLGAUSSIAN3X3_H
+#define ARM_COMPUTE_CLGAUSSIAN3X3_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -52,4 +52,4 @@
     void configure(ICLTensor *input, ICLTensor *output, BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLGAUSSIAN3X3_H__ */
+#endif /*ARM_COMPUTE_CLGAUSSIAN3X3_H */
diff --git a/arm_compute/runtime/CL/functions/CLGaussian5x5.h b/arm_compute/runtime/CL/functions/CLGaussian5x5.h
index 0f5a6cd..5d121a4 100644
--- a/arm_compute/runtime/CL/functions/CLGaussian5x5.h
+++ b/arm_compute/runtime/CL/functions/CLGaussian5x5.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLGAUSSIAN5X5_H__
-#define __ARM_COMPUTE_CLGAUSSIAN5X5_H__
+#ifndef ARM_COMPUTE_CLGAUSSIAN5X5_H
+#define ARM_COMPUTE_CLGAUSSIAN5X5_H
 
 #include "arm_compute/core/CL/kernels/CLFillBorderKernel.h"
 #include "arm_compute/core/CL/kernels/CLGaussian5x5Kernel.h"
@@ -74,4 +74,4 @@
     CLImage                 _tmp;            /**< Temporary buffer */
 };
 }
-#endif /*__ARM_COMPUTE_CLGAUSSIAN5X5_H__ */
+#endif /*ARM_COMPUTE_CLGAUSSIAN5X5_H */
diff --git a/arm_compute/runtime/CL/functions/CLGaussianPyramid.h b/arm_compute/runtime/CL/functions/CLGaussianPyramid.h
index 292d078..aa90a5d 100644
--- a/arm_compute/runtime/CL/functions/CLGaussianPyramid.h
+++ b/arm_compute/runtime/CL/functions/CLGaussianPyramid.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLGAUSSIANPYRAMID_H__
-#define __ARM_COMPUTE_CLGAUSSIANPYRAMID_H__
+#ifndef ARM_COMPUTE_CLGAUSSIANPYRAMID_H
+#define ARM_COMPUTE_CLGAUSSIANPYRAMID_H
 
 #include "arm_compute/core/CL/kernels/CLGaussianPyramidKernel.h"
 
@@ -116,4 +116,4 @@
     std::vector<CLScaleKernel> _scale_nearest;
 };
 }
-#endif /*__ARM_COMPUTE_CLGAUSSIANPYRAMID_H__ */
+#endif /*ARM_COMPUTE_CLGAUSSIANPYRAMID_H */
diff --git a/arm_compute/runtime/CL/functions/CLGenerateProposalsLayer.h b/arm_compute/runtime/CL/functions/CLGenerateProposalsLayer.h
index e14e195..8c91a5d 100644
--- a/arm_compute/runtime/CL/functions/CLGenerateProposalsLayer.h
+++ b/arm_compute/runtime/CL/functions/CLGenerateProposalsLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLGENERATEPROPOSALSLAYER_H__
-#define __ARM_COMPUTE_CLGENERATEPROPOSALSLAYER_H__
+#ifndef ARM_COMPUTE_CLGENERATEPROPOSALSLAYER_H
+#define ARM_COMPUTE_CLGENERATEPROPOSALSLAYER_H
 #include "arm_compute/core/CL/kernels/CLBoundingBoxTransformKernel.h"
 #include "arm_compute/core/CL/kernels/CLDequantizationLayerKernel.h"
 #include "arm_compute/core/CL/kernels/CLGenerateProposalsLayerKernel.h"
@@ -158,4 +158,4 @@
     void run_cpp_nms_kernel();
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLGENERATEPROPOSALSLAYER_H__ */
+#endif /* ARM_COMPUTE_CLGENERATEPROPOSALSLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLHOGDescriptor.h b/arm_compute/runtime/CL/functions/CLHOGDescriptor.h
index ce229ea..3214e8c 100644
--- a/arm_compute/runtime/CL/functions/CLHOGDescriptor.h
+++ b/arm_compute/runtime/CL/functions/CLHOGDescriptor.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLHOGDESCRIPTOR_H__
-#define __ARM_COMPUTE_CLHOGDESCRIPTOR_H__
+#ifndef ARM_COMPUTE_CLHOGDESCRIPTOR_H
+#define ARM_COMPUTE_CLHOGDESCRIPTOR_H
 
 #include "arm_compute/core/CL/kernels/CLHOGDescriptorKernel.h"
 #include "arm_compute/core/Types.h"
@@ -74,4 +74,4 @@
 };
 }
 
-#endif /* __ARM_COMPUTE_CLHOGDESCRIPTOR_H__ */
+#endif /* ARM_COMPUTE_CLHOGDESCRIPTOR_H */
diff --git a/arm_compute/runtime/CL/functions/CLHOGDetector.h b/arm_compute/runtime/CL/functions/CLHOGDetector.h
index 1587836..6703de9 100644
--- a/arm_compute/runtime/CL/functions/CLHOGDetector.h
+++ b/arm_compute/runtime/CL/functions/CLHOGDetector.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLHOGDETECTOR_H__
-#define __ARM_COMPUTE_CLHOGDETECTOR_H__
+#ifndef ARM_COMPUTE_CLHOGDETECTOR_H
+#define ARM_COMPUTE_CLHOGDETECTOR_H
 
 #include "arm_compute/core/CL/OpenCL.h"
 #include "arm_compute/core/CL/kernels/CLHOGDetectorKernel.h"
@@ -75,4 +75,4 @@
 };
 }
 
-#endif /* __ARM_COMPUTE_CLHOGDETECTOR_H__ */
+#endif /* ARM_COMPUTE_CLHOGDETECTOR_H */
diff --git a/arm_compute/runtime/CL/functions/CLHOGGradient.h b/arm_compute/runtime/CL/functions/CLHOGGradient.h
index dbcc335..ec4a187 100644
--- a/arm_compute/runtime/CL/functions/CLHOGGradient.h
+++ b/arm_compute/runtime/CL/functions/CLHOGGradient.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLHOGGRADIENT_H__
-#define __ARM_COMPUTE_CLHOGGRADIENT_H__
+#ifndef ARM_COMPUTE_CLHOGGRADIENT_H
+#define ARM_COMPUTE_CLHOGGRADIENT_H
 
 #include "arm_compute/core/CL/ICLKernel.h"
 
@@ -73,4 +73,4 @@
     CLTensor               _gy;
 };
 }
-#endif /*__ARM_COMPUTE_CLHOGGRADIENT_H__ */
+#endif /*ARM_COMPUTE_CLHOGGRADIENT_H */
diff --git a/arm_compute/runtime/CL/functions/CLHOGMultiDetection.h b/arm_compute/runtime/CL/functions/CLHOGMultiDetection.h
index 6f87eb5..424c69d 100644
--- a/arm_compute/runtime/CL/functions/CLHOGMultiDetection.h
+++ b/arm_compute/runtime/CL/functions/CLHOGMultiDetection.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLHOGMULTIDETECTION_H__
-#define __ARM_COMPUTE_CLHOGMULTIDETECTION_H__
+#ifndef ARM_COMPUTE_CLHOGMULTIDETECTION_H
+#define ARM_COMPUTE_CLHOGMULTIDETECTION_H
 
 #include "arm_compute/core/CL/ICLArray.h"
 #include "arm_compute/core/CL/ICLMultiHOG.h"
@@ -107,4 +107,4 @@
 };
 }
 
-#endif /* __ARM_COMPUTE_CLHOGMULTIDETECTION_H__ */
\ No newline at end of file
+#endif /* ARM_COMPUTE_CLHOGMULTIDETECTION_H */
\ No newline at end of file
diff --git a/arm_compute/runtime/CL/functions/CLHarrisCorners.h b/arm_compute/runtime/CL/functions/CLHarrisCorners.h
index d8cc7c7..6c89d6d 100644
--- a/arm_compute/runtime/CL/functions/CLHarrisCorners.h
+++ b/arm_compute/runtime/CL/functions/CLHarrisCorners.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLHARRISCORNERS_H__
-#define __ARM_COMPUTE_CLHARRISCORNERS_H__
+#ifndef ARM_COMPUTE_CLHARRISCORNERS_H
+#define ARM_COMPUTE_CLHARRISCORNERS_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -104,4 +104,4 @@
     ICLKeyPointArray              *_corners;               /**< Output corners array */
 };
 }
-#endif /*__ARM_COMPUTE_CLHARRISCORNERS_H__ */
+#endif /*ARM_COMPUTE_CLHARRISCORNERS_H */
diff --git a/arm_compute/runtime/CL/functions/CLHistogram.h b/arm_compute/runtime/CL/functions/CLHistogram.h
index 05b08db..ad38924 100644
--- a/arm_compute/runtime/CL/functions/CLHistogram.h
+++ b/arm_compute/runtime/CL/functions/CLHistogram.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLHISTOGRAM_H__
-#define __ARM_COMPUTE_CLHISTOGRAM_H__
+#ifndef ARM_COMPUTE_CLHISTOGRAM_H
+#define ARM_COMPUTE_CLHISTOGRAM_H
 
 #include "arm_compute/core/CL/kernels/CLHistogramKernel.h"
 #include "arm_compute/runtime/IFunction.h"
@@ -64,4 +64,4 @@
     CLHistogramBorderKernel _kernel_border; /**< Border kernel to run */
 };
 }
-#endif /*__ARM_COMPUTE_CLHISTOGRAM_H__ */
+#endif /*ARM_COMPUTE_CLHISTOGRAM_H */
diff --git a/arm_compute/runtime/CL/functions/CLInstanceNormalizationLayer.h b/arm_compute/runtime/CL/functions/CLInstanceNormalizationLayer.h
index e13826a..ca0da51 100644
--- a/arm_compute/runtime/CL/functions/CLInstanceNormalizationLayer.h
+++ b/arm_compute/runtime/CL/functions/CLInstanceNormalizationLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLINSTANCENORMALIZATIONLAYER_H__
-#define __ARM_COMPUTE_CLINSTANCENORMALIZATIONLAYER_H__
+#ifndef ARM_COMPUTE_CLINSTANCENORMALIZATIONLAYER_H
+#define ARM_COMPUTE_CLINSTANCENORMALIZATIONLAYER_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -64,4 +64,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, float gamma = 1.0f, float beta = 0.0f, float epsilon = 1e-12f);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLINSTANCENORMALIZATIONLAYER_H__ */
+#endif /* ARM_COMPUTE_CLINSTANCENORMALIZATIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLIntegralImage.h b/arm_compute/runtime/CL/functions/CLIntegralImage.h
index 71f6897..2a452a9 100644
--- a/arm_compute/runtime/CL/functions/CLIntegralImage.h
+++ b/arm_compute/runtime/CL/functions/CLIntegralImage.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLINTEGRALIMAGE_H__
-#define __ARM_COMPUTE_CLINTEGRALIMAGE_H__
+#ifndef ARM_COMPUTE_CLINTEGRALIMAGE_H
+#define ARM_COMPUTE_CLINTEGRALIMAGE_H
 
 #include "arm_compute/core/CL/kernels/CLIntegralImageKernel.h"
 #include "arm_compute/runtime/IFunction.h"
@@ -57,4 +57,4 @@
     CLIntegralImageVertKernel _integral_vert; /**< Integral Image Vertical kernel */
 };
 }
-#endif /*__ARM_COMPUTE_CLINTEGRALIMAGE_H__ */
+#endif /*ARM_COMPUTE_CLINTEGRALIMAGE_H */
diff --git a/arm_compute/runtime/CL/functions/CLL2NormalizeLayer.h b/arm_compute/runtime/CL/functions/CLL2NormalizeLayer.h
index 2617076..e200dc7 100644
--- a/arm_compute/runtime/CL/functions/CLL2NormalizeLayer.h
+++ b/arm_compute/runtime/CL/functions/CLL2NormalizeLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLL2NORMALIZELAYER_H__
-#define __ARM_COMPUTE_CLL2NORMALIZELAYER_H__
+#ifndef ARM_COMPUTE_CLL2NORMALIZELAYER_H
+#define ARM_COMPUTE_CLL2NORMALIZELAYER_H
 
 #include "arm_compute/core/CL/kernels/CLL2NormalizeLayerKernel.h"
 #include "arm_compute/core/Types.h"
@@ -81,4 +81,4 @@
     CLTensor                 _sumsq;
 };
 }
-#endif /*__ARM_COMPUTE_CLL2NORMALIZELAYER_H__ */
+#endif /*ARM_COMPUTE_CLL2NORMALIZELAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLLSTMLayer.h b/arm_compute/runtime/CL/functions/CLLSTMLayer.h
index 20b20b6..9509016 100644
--- a/arm_compute/runtime/CL/functions/CLLSTMLayer.h
+++ b/arm_compute/runtime/CL/functions/CLLSTMLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLLSTMLAYER_H__
-#define __ARM_COMPUTE_CLLSTMLAYER_H__
+#ifndef ARM_COMPUTE_CLLSTMLAYER_H
+#define ARM_COMPUTE_CLLSTMLAYER_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -240,4 +240,4 @@
     bool                                 _is_layer_norm_lstm;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLLSTMLAYER_H__ */
+#endif /* ARM_COMPUTE_CLLSTMLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLLSTMLayerQuantized.h b/arm_compute/runtime/CL/functions/CLLSTMLayerQuantized.h
index 12040a9..1d39060 100644
--- a/arm_compute/runtime/CL/functions/CLLSTMLayerQuantized.h
+++ b/arm_compute/runtime/CL/functions/CLLSTMLayerQuantized.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLLSTMLAYERQUANTIZED_H__
-#define __ARM_COMPUTE_CLLSTMLAYERQUANTIZED_H__
+#ifndef ARM_COMPUTE_CLLSTMLAYERQUANTIZED_H
+#define ARM_COMPUTE_CLLSTMLAYERQUANTIZED_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/functions/CLActivationLayer.h"
@@ -200,4 +200,4 @@
     bool _is_prepared;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLLSTMLAYERQUANTIZED_H__ */
+#endif /* ARM_COMPUTE_CLLSTMLAYERQUANTIZED_H */
diff --git a/arm_compute/runtime/CL/functions/CLLaplacianPyramid.h b/arm_compute/runtime/CL/functions/CLLaplacianPyramid.h
index 7287204..a407e98 100644
--- a/arm_compute/runtime/CL/functions/CLLaplacianPyramid.h
+++ b/arm_compute/runtime/CL/functions/CLLaplacianPyramid.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLLAPLACIANPYRAMID_H__
-#define __ARM_COMPUTE_CLLAPLACIANPYRAMID_H__
+#ifndef ARM_COMPUTE_CLLAPLACIANPYRAMID_H
+#define ARM_COMPUTE_CLLAPLACIANPYRAMID_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/CLPyramid.h"
@@ -82,4 +82,4 @@
     CLPyramid                            _conv_pyr;
 };
 }
-#endif /*__ARM_COMPUTE_CLLAPLACIANPYRAMID_H__ */
+#endif /*ARM_COMPUTE_CLLAPLACIANPYRAMID_H */
diff --git a/arm_compute/runtime/CL/functions/CLLaplacianReconstruct.h b/arm_compute/runtime/CL/functions/CLLaplacianReconstruct.h
index 8bae119..3407f46 100644
--- a/arm_compute/runtime/CL/functions/CLLaplacianReconstruct.h
+++ b/arm_compute/runtime/CL/functions/CLLaplacianReconstruct.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLLAPLACIANRECONSTRUCT_H__
-#define __ARM_COMPUTE_CLLAPLACIANRECONSTRUCT_H__
+#ifndef ARM_COMPUTE_CLLAPLACIANRECONSTRUCT_H
+#define ARM_COMPUTE_CLLAPLACIANRECONSTRUCT_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/CLPyramid.h"
@@ -88,4 +88,4 @@
     CLDepthConvertLayer               _depthf;
 };
 }
-#endif /*__ARM_COMPUTE_CLLAPLACIANRECONSTRUCT_H__ */
+#endif /*ARM_COMPUTE_CLLAPLACIANRECONSTRUCT_H */
diff --git a/arm_compute/runtime/CL/functions/CLLocallyConnectedLayer.h b/arm_compute/runtime/CL/functions/CLLocallyConnectedLayer.h
index 36228bd..1186a44 100644
--- a/arm_compute/runtime/CL/functions/CLLocallyConnectedLayer.h
+++ b/arm_compute/runtime/CL/functions/CLLocallyConnectedLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLLOCALLYCONNECTEDLAYER_H__
-#define __ARM_COMPUTE_CLLOCALLYCONNECTEDLAYER_H__
+#ifndef ARM_COMPUTE_CLLOCALLYCONNECTEDLAYER_H
+#define ARM_COMPUTE_CLLOCALLYCONNECTEDLAYER_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -105,4 +105,4 @@
     const ICLTensor                       *_original_weights;
 };
 }
-#endif /* __ARM_COMPUTE_CLLOCALLYCONNECTEDLAYER_H__ */
+#endif /* ARM_COMPUTE_CLLOCALLYCONNECTEDLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLMagnitude.h b/arm_compute/runtime/CL/functions/CLMagnitude.h
index 9fd85f9..2f5932b 100644
--- a/arm_compute/runtime/CL/functions/CLMagnitude.h
+++ b/arm_compute/runtime/CL/functions/CLMagnitude.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLMAGNITUDE_H__
-#define __ARM_COMPUTE_CLMAGNITUDE_H__
+#ifndef ARM_COMPUTE_CLMAGNITUDE_H
+#define ARM_COMPUTE_CLMAGNITUDE_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -45,4 +45,4 @@
     void configure(const ICLTensor *input1, const ICLTensor *input2, ICLTensor *output, MagnitudeType mag_type = MagnitudeType::L2NORM);
 };
 }
-#endif /*__ARM_COMPUTE_CLMAGNITUDE_H__ */
+#endif /*ARM_COMPUTE_CLMAGNITUDE_H */
diff --git a/arm_compute/runtime/CL/functions/CLMeanStdDev.h b/arm_compute/runtime/CL/functions/CLMeanStdDev.h
index 2e4e884..fea1ed1 100644
--- a/arm_compute/runtime/CL/functions/CLMeanStdDev.h
+++ b/arm_compute/runtime/CL/functions/CLMeanStdDev.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLMEANSTDDEV_H__
-#define __ARM_COMPUTE_CLMEANSTDDEV_H__
+#ifndef ARM_COMPUTE_CLMEANSTDDEV_H
+#define ARM_COMPUTE_CLMEANSTDDEV_H
 
 #include "arm_compute/core/CL/OpenCL.h"
 #include "arm_compute/core/CL/kernels/CLFillBorderKernel.h"
@@ -91,4 +91,4 @@
     cl::Buffer           _global_sum_squared;         /**< Variable that holds the global sum of squared values among calls in order to ease reduction */
 };
 }
-#endif /*__ARM_COMPUTE_CLMEANSTDDEV_H__ */
+#endif /*ARM_COMPUTE_CLMEANSTDDEV_H */
diff --git a/arm_compute/runtime/CL/functions/CLMeanStdDevNormalizationLayer.h b/arm_compute/runtime/CL/functions/CLMeanStdDevNormalizationLayer.h
index 087650b..565f8f3 100644
--- a/arm_compute/runtime/CL/functions/CLMeanStdDevNormalizationLayer.h
+++ b/arm_compute/runtime/CL/functions/CLMeanStdDevNormalizationLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLMEANSTDDEVNORMALIZATIONLAYER_H__
-#define __ARM_COMPUTE_CLMEANSTDDEVNORMALIZATIONLAYER_H__
+#ifndef ARM_COMPUTE_CLMEANSTDDEVNORMALIZATIONLAYER_H
+#define ARM_COMPUTE_CLMEANSTDDEVNORMALIZATIONLAYER_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -56,4 +56,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output = nullptr, float epsilon = 1e-8f);
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLMEANSTDDEVNORMALIZATIONLAYER_H__ */
+#endif /*ARM_COMPUTE_CLMEANSTDDEVNORMALIZATIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLMedian3x3.h b/arm_compute/runtime/CL/functions/CLMedian3x3.h
index af84ba7..3a9a95a 100644
--- a/arm_compute/runtime/CL/functions/CLMedian3x3.h
+++ b/arm_compute/runtime/CL/functions/CLMedian3x3.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLMEDIAN3X3_H__
-#define __ARM_COMPUTE_CLMEDIAN3X3_H__
+#ifndef ARM_COMPUTE_CLMEDIAN3X3_H
+#define ARM_COMPUTE_CLMEDIAN3X3_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -52,4 +52,4 @@
     void configure(ICLTensor *input, ICLTensor *output, BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLMEDIAN3X3_H__ */
+#endif /*ARM_COMPUTE_CLMEDIAN3X3_H */
diff --git a/arm_compute/runtime/CL/functions/CLMinMaxLocation.h b/arm_compute/runtime/CL/functions/CLMinMaxLocation.h
index 52a2857..30a29f2 100644
--- a/arm_compute/runtime/CL/functions/CLMinMaxLocation.h
+++ b/arm_compute/runtime/CL/functions/CLMinMaxLocation.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLMINMAXLOCATION_H__
-#define __ARM_COMPUTE_CLMINMAXLOCATION_H__
+#ifndef ARM_COMPUTE_CLMINMAXLOCATION_H
+#define ARM_COMPUTE_CLMINMAXLOCATION_H
 
 #include "arm_compute/core/CL/kernels/CLMinMaxLocationKernel.h"
 #include "arm_compute/runtime/CL/CLArray.h"
@@ -83,4 +83,4 @@
     CLCoordinates2DArray *_max_loc;             /**< Maximum value occurrences  coordinates. */
 };
 }
-#endif /*__ARM_COMPUTE_CLMINMAXLOCATION_H__ */
+#endif /*ARM_COMPUTE_CLMINMAXLOCATION_H */
diff --git a/arm_compute/runtime/CL/functions/CLNonLinearFilter.h b/arm_compute/runtime/CL/functions/CLNonLinearFilter.h
index 9eee33e..a7c87d3 100644
--- a/arm_compute/runtime/CL/functions/CLNonLinearFilter.h
+++ b/arm_compute/runtime/CL/functions/CLNonLinearFilter.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLNONLINEARFILTER_H__
-#define __ARM_COMPUTE_CLNONLINEARFILTER_H__
+#ifndef ARM_COMPUTE_CLNONLINEARFILTER_H
+#define ARM_COMPUTE_CLNONLINEARFILTER_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -58,4 +58,4 @@
                    BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLNONLINEARFILTER_H__ */
+#endif /*ARM_COMPUTE_CLNONLINEARFILTER_H */
diff --git a/arm_compute/runtime/CL/functions/CLNonMaximaSuppression3x3.h b/arm_compute/runtime/CL/functions/CLNonMaximaSuppression3x3.h
index 7adced4..0859a09 100644
--- a/arm_compute/runtime/CL/functions/CLNonMaximaSuppression3x3.h
+++ b/arm_compute/runtime/CL/functions/CLNonMaximaSuppression3x3.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLNONMAXIMASUPPRESSION3X3_H__
-#define __ARM_COMPUTE_CLNONMAXIMASUPPRESSION3X3_H__
+#ifndef ARM_COMPUTE_CLNONMAXIMASUPPRESSION3X3_H
+#define ARM_COMPUTE_CLNONMAXIMASUPPRESSION3X3_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -52,4 +52,4 @@
     void configure(ICLTensor *input, ICLTensor *output, BorderMode border_mode);
 };
 }
-#endif /* __ARM_COMPUTE_CLNONMAXIMASUPPRESSION3X3_H__ */
+#endif /* ARM_COMPUTE_CLNONMAXIMASUPPRESSION3X3_H */
diff --git a/arm_compute/runtime/CL/functions/CLNormalizationLayer.h b/arm_compute/runtime/CL/functions/CLNormalizationLayer.h
index 1ed87fd..d06bf56 100644
--- a/arm_compute/runtime/CL/functions/CLNormalizationLayer.h
+++ b/arm_compute/runtime/CL/functions/CLNormalizationLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLNORMALIZATIONLAYER_H__
-#define __ARM_COMPUTE_CLNORMALIZATIONLAYER_H__
+#ifndef ARM_COMPUTE_CLNORMALIZATIONLAYER_H
+#define ARM_COMPUTE_CLNORMALIZATIONLAYER_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -78,4 +78,4 @@
     CLFillBorderKernel         _border_handler; /**< Kernel to handle  borders */
 };
 }
-#endif /* __ARM_COMPUTE_CLNORMALIZATIONLAYER_H__ */
+#endif /* ARM_COMPUTE_CLNORMALIZATIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLNormalizePlanarYUVLayer.h b/arm_compute/runtime/CL/functions/CLNormalizePlanarYUVLayer.h
index 6d28803..4fe5a11 100644
--- a/arm_compute/runtime/CL/functions/CLNormalizePlanarYUVLayer.h
+++ b/arm_compute/runtime/CL/functions/CLNormalizePlanarYUVLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLNORMALIZEPLANARYUVLAYER_H__
-#define __ARM_COMPUTE_CLNORMALIZEPLANARYUVLAYER_H__
+#ifndef ARM_COMPUTE_CLNORMALIZEPLANARYUVLAYER_H
+#define ARM_COMPUTE_CLNORMALIZEPLANARYUVLAYER_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -72,4 +72,4 @@
     CLNormalizePlanarYUVLayerKernel _norm_kernel; /**< NormalizePlanarYUV layer kernel to run */
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLNORMALIZEPLANARYUVLAYER_H__ */
+#endif /* ARM_COMPUTE_CLNORMALIZEPLANARYUVLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLOpticalFlow.h b/arm_compute/runtime/CL/functions/CLOpticalFlow.h
index f577520..33df175 100644
--- a/arm_compute/runtime/CL/functions/CLOpticalFlow.h
+++ b/arm_compute/runtime/CL/functions/CLOpticalFlow.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLOPTICALFLOW_H__
-#define __ARM_COMPUTE_CLOPTICALFLOW_H__
+#ifndef ARM_COMPUTE_CLOPTICALFLOW_H
+#define ARM_COMPUTE_CLOPTICALFLOW_H
 
 #include "arm_compute/core/CL/kernels/CLLKTrackerKernel.h"
 
@@ -114,4 +114,4 @@
     size_t                                     _num_levels;
 };
 }
-#endif /*__ARM_COMPUTE_CLOPTICALFLOW_H__ */
+#endif /*ARM_COMPUTE_CLOPTICALFLOW_H */
diff --git a/arm_compute/runtime/CL/functions/CLPReluLayer.h b/arm_compute/runtime/CL/functions/CLPReluLayer.h
index 871b48e..42876cd 100644
--- a/arm_compute/runtime/CL/functions/CLPReluLayer.h
+++ b/arm_compute/runtime/CL/functions/CLPReluLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLPRELULAYER_H__
-#define __ARM_COMPUTE_CLPRELULAYER_H__
+#ifndef ARM_COMPUTE_CLPRELULAYER_H
+#define ARM_COMPUTE_CLPRELULAYER_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -58,4 +58,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *alpha, const ITensorInfo *output);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLPRELULAYER_H__ */
+#endif /* ARM_COMPUTE_CLPRELULAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLPadLayer.h b/arm_compute/runtime/CL/functions/CLPadLayer.h
index fd801ea..98f1e5f 100644
--- a/arm_compute/runtime/CL/functions/CLPadLayer.h
+++ b/arm_compute/runtime/CL/functions/CLPadLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLPADLAYER_H__
-#define __ARM_COMPUTE_CLPADLAYER_H__
+#ifndef ARM_COMPUTE_CLPADLAYER_H
+#define ARM_COMPUTE_CLPADLAYER_H
 
 #include "arm_compute/core/CL/kernels/CLCopyKernel.h"
 #include "arm_compute/core/CL/kernels/CLPadLayerKernel.h"
@@ -87,4 +87,4 @@
     bool             _perform_pad;
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_PADLAYER_H__ */
+#endif /*ARM_COMPUTE_PADLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLPermute.h b/arm_compute/runtime/CL/functions/CLPermute.h
index e1e3ce7..322c472 100644
--- a/arm_compute/runtime/CL/functions/CLPermute.h
+++ b/arm_compute/runtime/CL/functions/CLPermute.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLPERMUTE_H__
-#define __ARM_COMPUTE_CLPERMUTE_H__
+#ifndef ARM_COMPUTE_CLPERMUTE_H
+#define ARM_COMPUTE_CLPERMUTE_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -55,4 +55,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, const PermutationVector &perm);
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLPERMUTE_H__ */
+#endif /*ARM_COMPUTE_CLPERMUTE_H */
diff --git a/arm_compute/runtime/CL/functions/CLPhase.h b/arm_compute/runtime/CL/functions/CLPhase.h
index 7cdfab1..ac8a867 100644
--- a/arm_compute/runtime/CL/functions/CLPhase.h
+++ b/arm_compute/runtime/CL/functions/CLPhase.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLPHASE_H__
-#define __ARM_COMPUTE_CLPHASE_H__
+#ifndef ARM_COMPUTE_CLPHASE_H
+#define ARM_COMPUTE_CLPHASE_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -45,4 +45,4 @@
     void configure(const ICLTensor *input1, const ICLTensor *input2, ICLTensor *output, PhaseType phase_type = PhaseType::SIGNED);
 };
 }
-#endif /*__ARM_COMPUTE_CLPHASE_H__ */
+#endif /*ARM_COMPUTE_CLPHASE_H */
diff --git a/arm_compute/runtime/CL/functions/CLPixelWiseMultiplication.h b/arm_compute/runtime/CL/functions/CLPixelWiseMultiplication.h
index 7833a68..fd64d7b 100644
--- a/arm_compute/runtime/CL/functions/CLPixelWiseMultiplication.h
+++ b/arm_compute/runtime/CL/functions/CLPixelWiseMultiplication.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLPIXELWISEMULTIPLICATION_H__
-#define __ARM_COMPUTE_CLPIXELWISEMULTIPLICATION_H__
+#ifndef ARM_COMPUTE_CLPIXELWISEMULTIPLICATION_H
+#define ARM_COMPUTE_CLPIXELWISEMULTIPLICATION_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -88,4 +88,4 @@
     static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output);
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLPIXELWISEMULTIPLICATION_H__ */
+#endif /*ARM_COMPUTE_CLPIXELWISEMULTIPLICATION_H */
diff --git a/arm_compute/runtime/CL/functions/CLPoolingLayer.h b/arm_compute/runtime/CL/functions/CLPoolingLayer.h
index f7571c1..19acb7f 100644
--- a/arm_compute/runtime/CL/functions/CLPoolingLayer.h
+++ b/arm_compute/runtime/CL/functions/CLPoolingLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLPOOLINGLAYER_H__
-#define __ARM_COMPUTE_CLPOOLINGLAYER_H__
+#ifndef ARM_COMPUTE_CLPOOLINGLAYER_H
+#define ARM_COMPUTE_CLPOOLINGLAYER_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -59,4 +59,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, const PoolingLayerInfo &pool_info);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLPOOLINGLAYER_H__ */
+#endif /* ARM_COMPUTE_CLPOOLINGLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLPriorBoxLayer.h b/arm_compute/runtime/CL/functions/CLPriorBoxLayer.h
index 6adf7f9..eea1399 100644
--- a/arm_compute/runtime/CL/functions/CLPriorBoxLayer.h
+++ b/arm_compute/runtime/CL/functions/CLPriorBoxLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLPRIORBOXLAYER_H__
-#define __ARM_COMPUTE_CLPRIORBOXLAYER_H__
+#ifndef ARM_COMPUTE_CLPRIORBOXLAYER_H
+#define ARM_COMPUTE_CLPRIORBOXLAYER_H
 
 #include "arm_compute/core/CL/kernels/CLPriorBoxLayerKernel.h"
 #include "arm_compute/core/Types.h"
@@ -63,4 +63,4 @@
     cl::Buffer _aspect_ratios;
 };
 } // arm_compute
-#endif /* __ARM_COMPUTE_CLPRIORBOXLAYER_H__ */
+#endif /* ARM_COMPUTE_CLPRIORBOXLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLQuantizationLayer.h b/arm_compute/runtime/CL/functions/CLQuantizationLayer.h
index 41a03fd..718ed5a 100644
--- a/arm_compute/runtime/CL/functions/CLQuantizationLayer.h
+++ b/arm_compute/runtime/CL/functions/CLQuantizationLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLQUANTIZATIONLAYER_H__
-#define __ARM_COMPUTE_CLQUANTIZATIONLAYER_H__
+#ifndef ARM_COMPUTE_CLQUANTIZATIONLAYER_H
+#define ARM_COMPUTE_CLQUANTIZATIONLAYER_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -58,4 +58,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output);
 };
 } //namespace arm_compute
-#endif /* __ARM_COMPUTE_CLQUANTIZATIONLAYER_H__ */
+#endif /* ARM_COMPUTE_CLQUANTIZATIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLRNNLayer.h b/arm_compute/runtime/CL/functions/CLRNNLayer.h
index 47b8cd4..569e3da 100644
--- a/arm_compute/runtime/CL/functions/CLRNNLayer.h
+++ b/arm_compute/runtime/CL/functions/CLRNNLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLRNN_LAYER_H__
-#define __ARM_COMPUTE_CLRNN_LAYER_H__
+#ifndef ARM_COMPUTE_CLRNN_LAYER_H
+#define ARM_COMPUTE_CLRNN_LAYER_H
 
 #include "arm_compute/core/CL/kernels/CLActivationLayerKernel.h"
 #include "arm_compute/core/CL/kernels/CLCopyKernel.h"
@@ -84,4 +84,4 @@
     bool                                 _is_prepared;
 };
 }
-#endif /* __ARM_COMPUTE_CLRNN_LAYER_H__ */
+#endif /* ARM_COMPUTE_CLRNN_LAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLROIAlignLayer.h b/arm_compute/runtime/CL/functions/CLROIAlignLayer.h
index e12978a..d69c33f 100644
--- a/arm_compute/runtime/CL/functions/CLROIAlignLayer.h
+++ b/arm_compute/runtime/CL/functions/CLROIAlignLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLROIALIGNLAYER_H__
-#define __ARM_COMPUTE_CLROIALIGNLAYER_H__
+#ifndef ARM_COMPUTE_CLROIALIGNLAYER_H
+#define ARM_COMPUTE_CLROIALIGNLAYER_H
 
 #include "arm_compute/core/CL/ICLArray.h"
 #include "arm_compute/core/CL/kernels/CLROIPoolingLayerKernel.h"
@@ -74,4 +74,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *rois, ITensorInfo *output, const ROIPoolingLayerInfo &pool_info);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLROIALIGNLAYER_H__ */
+#endif /* ARM_COMPUTE_CLROIALIGNLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLROIPoolingLayer.h b/arm_compute/runtime/CL/functions/CLROIPoolingLayer.h
index 70a3ba9..7d0e1da 100644
--- a/arm_compute/runtime/CL/functions/CLROIPoolingLayer.h
+++ b/arm_compute/runtime/CL/functions/CLROIPoolingLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLROIPOOLINGLAYER_H__
-#define __ARM_COMPUTE_CLROIPOOLINGLAYER_H__
+#ifndef ARM_COMPUTE_CLROIPOOLINGLAYER_H
+#define ARM_COMPUTE_CLROIPOOLINGLAYER_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -58,4 +58,4 @@
     void configure(const ICLTensor *input, const ICLTensor *rois, ICLTensor *output, const ROIPoolingLayerInfo &pool_info);
 };
 }
-#endif /* __ARM_COMPUTE_CLROIPOOLINGLAYER_H__ */
+#endif /* ARM_COMPUTE_CLROIPOOLINGLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLRange.h b/arm_compute/runtime/CL/functions/CLRange.h
index 904e6ad..2cc8376 100644
--- a/arm_compute/runtime/CL/functions/CLRange.h
+++ b/arm_compute/runtime/CL/functions/CLRange.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLRANGE_H__
-#define __ARM_COMPUTE_CLRANGE_H__
+#ifndef ARM_COMPUTE_CLRANGE_H
+#define ARM_COMPUTE_CLRANGE_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -59,4 +59,4 @@
     static Status validate(const ITensorInfo *output, float start, float end, float step = 1.f);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLRANGE_H__ */
+#endif /* ARM_COMPUTE_CLRANGE_H */
diff --git a/arm_compute/runtime/CL/functions/CLReduceMean.h b/arm_compute/runtime/CL/functions/CLReduceMean.h
index 168b56c..35501f5 100644
--- a/arm_compute/runtime/CL/functions/CLReduceMean.h
+++ b/arm_compute/runtime/CL/functions/CLReduceMean.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CL_REDUCE_MEAN_H__
-#define __ARM_COMPUTE_CL_REDUCE_MEAN_H__
+#ifndef ARM_COMPUTE_CL_REDUCE_MEAN_H
+#define ARM_COMPUTE_CL_REDUCE_MEAN_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 #include "arm_compute/runtime/CL/functions/CLElementwiseOperations.h"
@@ -75,4 +75,4 @@
     bool                              _keep_dims;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CL_REDUCE_MEAN_H__ */
+#endif /* ARM_COMPUTE_CL_REDUCE_MEAN_H */
diff --git a/arm_compute/runtime/CL/functions/CLRemap.h b/arm_compute/runtime/CL/functions/CLRemap.h
index 4cb2be9..f035ac9 100644
--- a/arm_compute/runtime/CL/functions/CLRemap.h
+++ b/arm_compute/runtime/CL/functions/CLRemap.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLREMAP_H__
-#define __ARM_COMPUTE_CLREMAP_H__
+#ifndef ARM_COMPUTE_CLREMAP_H
+#define ARM_COMPUTE_CLREMAP_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -56,4 +56,4 @@
                    InterpolationPolicy policy, BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLREMAP_H__ */
+#endif /*ARM_COMPUTE_CLREMAP_H */
diff --git a/arm_compute/runtime/CL/functions/CLReorgLayer.h b/arm_compute/runtime/CL/functions/CLReorgLayer.h
index 88559a8..f8a395f 100644
--- a/arm_compute/runtime/CL/functions/CLReorgLayer.h
+++ b/arm_compute/runtime/CL/functions/CLReorgLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLREORGLAYER_H__
-#define __ARM_COMPUTE_CLREORGLAYER_H__
+#ifndef ARM_COMPUTE_CLREORGLAYER_H
+#define ARM_COMPUTE_CLREORGLAYER_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -59,4 +59,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, int32_t stride);
 };
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CLREORGLAYER_H__ */
+#endif /*ARM_COMPUTE_CLREORGLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLReshapeLayer.h b/arm_compute/runtime/CL/functions/CLReshapeLayer.h
index 82daa23..baeed6c 100644
--- a/arm_compute/runtime/CL/functions/CLReshapeLayer.h
+++ b/arm_compute/runtime/CL/functions/CLReshapeLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLRESHAPELAYER_H__
-#define __ARM_COMPUTE_CLRESHAPELAYER_H__
+#ifndef ARM_COMPUTE_CLRESHAPELAYER_H
+#define ARM_COMPUTE_CLRESHAPELAYER_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -51,4 +51,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output);
 };
 }
-#endif /*__ARM_COMPUTE_CLRESHAPELAYER_H__ */
+#endif /*ARM_COMPUTE_CLRESHAPELAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLReverse.h b/arm_compute/runtime/CL/functions/CLReverse.h
index d23e2f4..323aa13 100644
--- a/arm_compute/runtime/CL/functions/CLReverse.h
+++ b/arm_compute/runtime/CL/functions/CLReverse.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLREVERSE_H__
-#define __ARM_COMPUTE_CLREVERSE_H__
+#ifndef ARM_COMPUTE_CLREVERSE_H
+#define ARM_COMPUTE_CLREVERSE_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -52,4 +52,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, const ITensorInfo *axis);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLREVERSE_H__ */
+#endif /* ARM_COMPUTE_CLREVERSE_H */
diff --git a/arm_compute/runtime/CL/functions/CLScale.h b/arm_compute/runtime/CL/functions/CLScale.h
index ec32494..6a638e9 100644
--- a/arm_compute/runtime/CL/functions/CLScale.h
+++ b/arm_compute/runtime/CL/functions/CLScale.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSCALE_H__
-#define __ARM_COMPUTE_CLSCALE_H__
+#ifndef ARM_COMPUTE_CLSCALE_H
+#define ARM_COMPUTE_CLSCALE_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -66,4 +66,4 @@
                            SamplingPolicy sampling_policy = SamplingPolicy::CENTER);
 };
 }
-#endif /*__ARM_COMPUTE_CLSCALE_H__ */
+#endif /*ARM_COMPUTE_CLSCALE_H */
diff --git a/arm_compute/runtime/CL/functions/CLScharr3x3.h b/arm_compute/runtime/CL/functions/CLScharr3x3.h
index 3ea0b84..7082432 100644
--- a/arm_compute/runtime/CL/functions/CLScharr3x3.h
+++ b/arm_compute/runtime/CL/functions/CLScharr3x3.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSCHARR3X3_H__
-#define __ARM_COMPUTE_CLSCHARR3X3_H__
+#ifndef ARM_COMPUTE_CLSCHARR3X3_H
+#define ARM_COMPUTE_CLSCHARR3X3_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -55,4 +55,4 @@
     void configure(ICLTensor *input, ICLTensor *output_x, ICLTensor *output_y, BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLSCHARR3X3_H__ */
+#endif /*ARM_COMPUTE_CLSCHARR3X3_H */
diff --git a/arm_compute/runtime/CL/functions/CLSelect.h b/arm_compute/runtime/CL/functions/CLSelect.h
index dab62a7..e34cba7 100644
--- a/arm_compute/runtime/CL/functions/CLSelect.h
+++ b/arm_compute/runtime/CL/functions/CLSelect.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSELECT_H__
-#define __ARM_COMPUTE_CLSELECT_H__
+#ifndef ARM_COMPUTE_CLSELECT_H
+#define ARM_COMPUTE_CLSELECT_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -57,4 +57,4 @@
     static Status validate(const ITensorInfo *c, const ITensorInfo *x, const ITensorInfo *y, const ITensorInfo *output);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLSELECT_H__ */
+#endif /* ARM_COMPUTE_CLSELECT_H */
diff --git a/arm_compute/runtime/CL/functions/CLSlice.h b/arm_compute/runtime/CL/functions/CLSlice.h
index 5e8d019..51e5cf5 100644
--- a/arm_compute/runtime/CL/functions/CLSlice.h
+++ b/arm_compute/runtime/CL/functions/CLSlice.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CL_SLICE_H__
-#define __ARM_COMPUTE_CL_SLICE_H__
+#ifndef ARM_COMPUTE_CL_SLICE_H
+#define ARM_COMPUTE_CL_SLICE_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -66,4 +66,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, const Coordinates &starts, const Coordinates &ends);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CL_SLICE_H__ */
+#endif /* ARM_COMPUTE_CL_SLICE_H */
diff --git a/arm_compute/runtime/CL/functions/CLSobel3x3.h b/arm_compute/runtime/CL/functions/CLSobel3x3.h
index 7a4f47d..2f4cf50 100644
--- a/arm_compute/runtime/CL/functions/CLSobel3x3.h
+++ b/arm_compute/runtime/CL/functions/CLSobel3x3.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSOBEL3X3_H__
-#define __ARM_COMPUTE_CLSOBEL3X3_H__
+#ifndef ARM_COMPUTE_CLSOBEL3X3_H
+#define ARM_COMPUTE_CLSOBEL3X3_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -55,4 +55,4 @@
     void configure(ICLTensor *input, ICLTensor *output_x, ICLTensor *output_y, BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLSOBEL3X3_H__ */
+#endif /*ARM_COMPUTE_CLSOBEL3X3_H */
diff --git a/arm_compute/runtime/CL/functions/CLSobel5x5.h b/arm_compute/runtime/CL/functions/CLSobel5x5.h
index 7b62066..2a9136b 100644
--- a/arm_compute/runtime/CL/functions/CLSobel5x5.h
+++ b/arm_compute/runtime/CL/functions/CLSobel5x5.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSOBEL5X5_H__
-#define __ARM_COMPUTE_CLSOBEL5X5_H__
+#ifndef ARM_COMPUTE_CLSOBEL5X5_H
+#define ARM_COMPUTE_CLSOBEL5X5_H
 
 #include "arm_compute/core/CL/kernels/CLFillBorderKernel.h"
 #include "arm_compute/core/CL/kernels/CLSobel5x5Kernel.h"
@@ -78,4 +78,4 @@
     CLImage              _tmp_y;          /**< Temporary buffer for Sobel Y */
 };
 }
-#endif /*__ARM_COMPUTE_CLSOBEL5X5_H__ */
+#endif /*ARM_COMPUTE_CLSOBEL5X5_H */
diff --git a/arm_compute/runtime/CL/functions/CLSobel7x7.h b/arm_compute/runtime/CL/functions/CLSobel7x7.h
index d7c3476..e3188b8 100644
--- a/arm_compute/runtime/CL/functions/CLSobel7x7.h
+++ b/arm_compute/runtime/CL/functions/CLSobel7x7.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSOBEL7X7_H__
-#define __ARM_COMPUTE_CLSOBEL7X7_H__
+#ifndef ARM_COMPUTE_CLSOBEL7X7_H
+#define ARM_COMPUTE_CLSOBEL7X7_H
 
 #include "arm_compute/core/CL/kernels/CLFillBorderKernel.h"
 #include "arm_compute/core/CL/kernels/CLSobel7x7Kernel.h"
@@ -78,4 +78,4 @@
     CLImage              _tmp_y;          /**< Temporary buffer for Sobel Y */
 };
 }
-#endif /*__ARM_COMPUTE_CLSOBEL7X7_H__ */
+#endif /*ARM_COMPUTE_CLSOBEL7X7_H */
diff --git a/arm_compute/runtime/CL/functions/CLSoftmaxLayer.h b/arm_compute/runtime/CL/functions/CLSoftmaxLayer.h
index e3feebb..751b68d 100644
--- a/arm_compute/runtime/CL/functions/CLSoftmaxLayer.h
+++ b/arm_compute/runtime/CL/functions/CLSoftmaxLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSOFTMAXLAYER_H__
-#define __ARM_COMPUTE_CLSOFTMAXLAYER_H__
+#ifndef ARM_COMPUTE_CLSOFTMAXLAYER_H
+#define ARM_COMPUTE_CLSOFTMAXLAYER_H
 
 #include "arm_compute/core/CL/kernels/CLFlattenLayerKernel.h"
 #include "arm_compute/core/CL/kernels/CLReshapeLayerKernel.h"
@@ -114,4 +114,4 @@
 using CLSoftmaxLayer    = CLSoftmaxLayerGeneric<false>;
 using CLLogSoftmaxLayer = CLSoftmaxLayerGeneric<true>;
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLSOFTMAXLAYER_H__ */
+#endif /* ARM_COMPUTE_CLSOFTMAXLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLSpaceToBatchLayer.h b/arm_compute/runtime/CL/functions/CLSpaceToBatchLayer.h
index 9b1dd97..ef19410 100644
--- a/arm_compute/runtime/CL/functions/CLSpaceToBatchLayer.h
+++ b/arm_compute/runtime/CL/functions/CLSpaceToBatchLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSPACETOBATCHLAYER_H__
-#define __ARM_COMPUTE_CLSPACETOBATCHLAYER_H__
+#ifndef ARM_COMPUTE_CLSPACETOBATCHLAYER_H
+#define ARM_COMPUTE_CLSPACETOBATCHLAYER_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -105,4 +105,4 @@
     bool                      _has_padding;           /**< Flag to check if the output has padding */
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLSPACETOBATCHLAYER_H__ */
+#endif /* ARM_COMPUTE_CLSPACETOBATCHLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLSpaceToDepthLayer.h b/arm_compute/runtime/CL/functions/CLSpaceToDepthLayer.h
index 5a4bf1e..2531b6a 100644
--- a/arm_compute/runtime/CL/functions/CLSpaceToDepthLayer.h
+++ b/arm_compute/runtime/CL/functions/CLSpaceToDepthLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSPACETODEPTHLAYER_H__
-#define __ARM_COMPUTE_CLSPACETODEPTHLAYER_H__
+#ifndef ARM_COMPUTE_CLSPACETODEPTHLAYER_H
+#define ARM_COMPUTE_CLSPACETODEPTHLAYER_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -63,4 +63,4 @@
     CLSpaceToDepthLayerKernel _space_to_depth_kernel; /**< CLSpaceToDepthLayerKernel to run */
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLSPACETODEPTHLAYER_H__ */
+#endif /* ARM_COMPUTE_CLSPACETODEPTHLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLSplit.h b/arm_compute/runtime/CL/functions/CLSplit.h
index 709be3b..6f51be9 100644
--- a/arm_compute/runtime/CL/functions/CLSplit.h
+++ b/arm_compute/runtime/CL/functions/CLSplit.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSPLIT_H__
-#define __ARM_COMPUTE_CLSPLIT_H__
+#ifndef ARM_COMPUTE_CLSPLIT_H
+#define ARM_COMPUTE_CLSPLIT_H
 
 #include "arm_compute/core/Types.h"
 
@@ -73,4 +73,4 @@
     unsigned int             _num_outputs;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLSPLIT_H__ */
+#endif /* ARM_COMPUTE_CLSPLIT_H */
diff --git a/arm_compute/runtime/CL/functions/CLStackLayer.h b/arm_compute/runtime/CL/functions/CLStackLayer.h
index 30676e1..39e468c 100644
--- a/arm_compute/runtime/CL/functions/CLStackLayer.h
+++ b/arm_compute/runtime/CL/functions/CLStackLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLSTACKLAYER_H__
-#define __ARM_COMPUTE_CLSTACKLAYER_H__
+#ifndef ARM_COMPUTE_CLSTACKLAYER_H
+#define ARM_COMPUTE_CLSTACKLAYER_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/IFunction.h"
@@ -78,4 +78,4 @@
     unsigned int                    _num_inputs;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLSTACKLAYER_H__ */
+#endif /* ARM_COMPUTE_CLSTACKLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLStridedSlice.h b/arm_compute/runtime/CL/functions/CLStridedSlice.h
index 8857517..73ea192 100644
--- a/arm_compute/runtime/CL/functions/CLStridedSlice.h
+++ b/arm_compute/runtime/CL/functions/CLStridedSlice.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CL_STRIDED_SLICE_H__
-#define __ARM_COMPUTE_CL_STRIDED_SLICE_H__
+#ifndef ARM_COMPUTE_CL_STRIDED_SLICE_H
+#define ARM_COMPUTE_CL_STRIDED_SLICE_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -72,4 +72,4 @@
                            int32_t begin_mask = 0, int32_t end_mask = 0, int32_t shrink_axis_mask = 0);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CL_STRIDED_SLICE_H__ */
+#endif /* ARM_COMPUTE_CL_STRIDED_SLICE_H */
diff --git a/arm_compute/runtime/CL/functions/CLTableLookup.h b/arm_compute/runtime/CL/functions/CLTableLookup.h
index ebe6593..c1b7b94 100644
--- a/arm_compute/runtime/CL/functions/CLTableLookup.h
+++ b/arm_compute/runtime/CL/functions/CLTableLookup.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLTABLELOOKUP_H__
-#define __ARM_COMPUTE_CLTABLELOOKUP_H__
+#ifndef ARM_COMPUTE_CLTABLELOOKUP_H
+#define ARM_COMPUTE_CLTABLELOOKUP_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -44,4 +44,4 @@
     void configure(const ICLTensor *input, const ICLLut *lut, ICLTensor *output);
 };
 }
-#endif /*__ARM_COMPUTE_CLTABLELOOKUP_H__ */
+#endif /*ARM_COMPUTE_CLTABLELOOKUP_H */
diff --git a/arm_compute/runtime/CL/functions/CLThreshold.h b/arm_compute/runtime/CL/functions/CLThreshold.h
index 14c0578..a19b320 100644
--- a/arm_compute/runtime/CL/functions/CLThreshold.h
+++ b/arm_compute/runtime/CL/functions/CLThreshold.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLTHRESHOLD_H__
-#define __ARM_COMPUTE_CLTHRESHOLD_H__
+#ifndef ARM_COMPUTE_CLTHRESHOLD_H
+#define ARM_COMPUTE_CLTHRESHOLD_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -52,4 +52,4 @@
                    ThresholdType type = ThresholdType::BINARY, uint8_t upper = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLTHRESHOLD_H__ */
+#endif /*ARM_COMPUTE_CLTHRESHOLD_H */
diff --git a/arm_compute/runtime/CL/functions/CLTile.h b/arm_compute/runtime/CL/functions/CLTile.h
index 3e88896..b125d44 100644
--- a/arm_compute/runtime/CL/functions/CLTile.h
+++ b/arm_compute/runtime/CL/functions/CLTile.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLTILE_H__
-#define __ARM_COMPUTE_CLTILE_H__
+#ifndef ARM_COMPUTE_CLTILE_H
+#define ARM_COMPUTE_CLTILE_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -54,4 +54,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, const Multiples &multiples);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLTILE_H__ */
+#endif /* ARM_COMPUTE_CLTILE_H */
diff --git a/arm_compute/runtime/CL/functions/CLTranspose.h b/arm_compute/runtime/CL/functions/CLTranspose.h
index 1e9bb95..b0ac9f9 100644
--- a/arm_compute/runtime/CL/functions/CLTranspose.h
+++ b/arm_compute/runtime/CL/functions/CLTranspose.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLTRANSPOSE_H__
-#define __ARM_COMPUTE_CLTRANSPOSE_H__
+#ifndef ARM_COMPUTE_CLTRANSPOSE_H
+#define ARM_COMPUTE_CLTRANSPOSE_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -55,4 +55,4 @@
 };
 }
 
-#endif /* __ARM_COMPUTE_CLTRANSPOSE_H__ */
+#endif /* ARM_COMPUTE_CLTRANSPOSE_H */
diff --git a/arm_compute/runtime/CL/functions/CLUnstack.h b/arm_compute/runtime/CL/functions/CLUnstack.h
index bc32a3d..814d073 100644
--- a/arm_compute/runtime/CL/functions/CLUnstack.h
+++ b/arm_compute/runtime/CL/functions/CLUnstack.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLUNSTACK_H__
-#define __ARM_COMPUTE_CLUNSTACK_H__
+#ifndef ARM_COMPUTE_CLUNSTACK_H
+#define ARM_COMPUTE_CLUNSTACK_H
 
 #include "arm_compute/core/CL/OpenCL.h"
 #include "arm_compute/core/Types.h"
@@ -73,4 +73,4 @@
     std::vector<CLStridedSlice> _strided_slice_vector;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLUNSTACK_H__ */
+#endif /* ARM_COMPUTE_CLUNSTACK_H */
diff --git a/arm_compute/runtime/CL/functions/CLUpsampleLayer.h b/arm_compute/runtime/CL/functions/CLUpsampleLayer.h
index df504fb..719cbd5 100644
--- a/arm_compute/runtime/CL/functions/CLUpsampleLayer.h
+++ b/arm_compute/runtime/CL/functions/CLUpsampleLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLUPSAMPLELAYER_H__
-#define __ARM_COMPUTE_CLUPSAMPLELAYER_H__
+#ifndef ARM_COMPUTE_CLUPSAMPLELAYER_H
+#define ARM_COMPUTE_CLUPSAMPLELAYER_H
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -80,4 +80,4 @@
     ICLTensor            *_output;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLUPSAMPLELAYER_H__ */
+#endif /* ARM_COMPUTE_CLUPSAMPLELAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLWarpAffine.h b/arm_compute/runtime/CL/functions/CLWarpAffine.h
index 05a2815..2de7107 100644
--- a/arm_compute/runtime/CL/functions/CLWarpAffine.h
+++ b/arm_compute/runtime/CL/functions/CLWarpAffine.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLWARPAFFINE_H__
-#define __ARM_COMPUTE_CLWARPAFFINE_H__
+#ifndef ARM_COMPUTE_CLWARPAFFINE_H
+#define ARM_COMPUTE_CLWARPAFFINE_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -50,4 +50,4 @@
     void configure(ICLTensor *input, ICLTensor *output, const std::array<float, 9> &matrix, InterpolationPolicy policy, BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLWARPAFFINE_H__ */
+#endif /*ARM_COMPUTE_CLWARPAFFINE_H */
diff --git a/arm_compute/runtime/CL/functions/CLWarpPerspective.h b/arm_compute/runtime/CL/functions/CLWarpPerspective.h
index acefb11..93fcc85 100644
--- a/arm_compute/runtime/CL/functions/CLWarpPerspective.h
+++ b/arm_compute/runtime/CL/functions/CLWarpPerspective.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLWARPPERSPECTIVE_H__
-#define __ARM_COMPUTE_CLWARPPERSPECTIVE_H__
+#ifndef ARM_COMPUTE_CLWARPPERSPECTIVE_H
+#define ARM_COMPUTE_CLWARPPERSPECTIVE_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -49,4 +49,4 @@
     void configure(ICLTensor *input, ICLTensor *output, const std::array<float, 9> &matrix, InterpolationPolicy policy, BorderMode border_mode, uint8_t constant_border_value = 0);
 };
 }
-#endif /*__ARM_COMPUTE_CLWARPPERSPECTIVE_H__ */
+#endif /*ARM_COMPUTE_CLWARPPERSPECTIVE_H */
diff --git a/arm_compute/runtime/CL/functions/CLWinogradConvolutionLayer.h b/arm_compute/runtime/CL/functions/CLWinogradConvolutionLayer.h
index d887bca..7ac59c9 100644
--- a/arm_compute/runtime/CL/functions/CLWinogradConvolutionLayer.h
+++ b/arm_compute/runtime/CL/functions/CLWinogradConvolutionLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLWINOGRADCONVOLUTIONLAYER_H__
-#define __ARM_COMPUTE_CLWINOGRADCONVOLUTIONLAYER_H__
+#ifndef ARM_COMPUTE_CLWINOGRADCONVOLUTIONLAYER_H
+#define ARM_COMPUTE_CLWINOGRADCONVOLUTIONLAYER_H
 
 #include "arm_compute/core/CL/kernels/CLWinogradFilterTransformKernel.h"
 #include "arm_compute/core/CL/kernels/CLWinogradOutputTransformKernel.h"
@@ -114,4 +114,4 @@
     bool                            _is_prepared;
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLWINOGRADCONVOLUTIONLAYER_H__ */
+#endif /* ARM_COMPUTE_CLWINOGRADCONVOLUTIONLAYER_H */
diff --git a/arm_compute/runtime/CL/functions/CLWinogradInputTransform.h b/arm_compute/runtime/CL/functions/CLWinogradInputTransform.h
index 71b4ea4..e1ab928 100644
--- a/arm_compute/runtime/CL/functions/CLWinogradInputTransform.h
+++ b/arm_compute/runtime/CL/functions/CLWinogradInputTransform.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLWINOGRADINPUTTRANSFORM_H__
-#define __ARM_COMPUTE_CLWINOGRADINPUTTRANSFORM_H__
+#ifndef ARM_COMPUTE_CLWINOGRADINPUTTRANSFORM_H
+#define ARM_COMPUTE_CLWINOGRADINPUTTRANSFORM_H
 
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
@@ -77,4 +77,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, const WinogradInfo &winograd_info);
 };
 }
-#endif /*__ARM_COMPUTE_CLWINOGRADINPUTTRANSFORM_H__ */
+#endif /*ARM_COMPUTE_CLWINOGRADINPUTTRANSFORM_H */
diff --git a/arm_compute/runtime/CL/functions/CLYOLOLayer.h b/arm_compute/runtime/CL/functions/CLYOLOLayer.h
index 9931122..95c684b 100644
--- a/arm_compute/runtime/CL/functions/CLYOLOLayer.h
+++ b/arm_compute/runtime/CL/functions/CLYOLOLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CLYOLOLAYER_H__
-#define __ARM_COMPUTE_CLYOLOLAYER_H__
+#ifndef ARM_COMPUTE_CLYOLOLAYER_H
+#define ARM_COMPUTE_CLYOLOLAYER_H
 
 #include "arm_compute/runtime/CL/ICLSimpleFunction.h"
 
@@ -66,4 +66,4 @@
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, const ActivationLayerInfo &act_info, int32_t num_classes);
 };
 } // namespace arm_compute
-#endif /* __ARM_COMPUTE_CLYOLOLAYER_H__ */
+#endif /* ARM_COMPUTE_CLYOLOLAYER_H */
diff --git a/arm_compute/runtime/CL/tuners/BifrostTuner.h b/arm_compute/runtime/CL/tuners/BifrostTuner.h
index 080a37c..06f76cb 100644
--- a/arm_compute/runtime/CL/tuners/BifrostTuner.h
+++ b/arm_compute/runtime/CL/tuners/BifrostTuner.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_TUNERS_BIFROST_TUNER_H__
-#define __ARM_COMPUTE_TUNERS_BIFROST_TUNER_H__
+#ifndef ARM_COMPUTE_TUNERS_BIFROST_TUNER_H
+#define ARM_COMPUTE_TUNERS_BIFROST_TUNER_H
 
 #include "arm_compute/runtime/CL/ICLTuner.h"
 
@@ -40,4 +40,4 @@
 };
 } // namespace tuners
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_TUNERS_BIFROST_TUNER_H__ */
+#endif /*ARM_COMPUTE_TUNERS_BIFROST_TUNER_H */
diff --git a/arm_compute/runtime/CL/tuners/CLLWSList.h b/arm_compute/runtime/CL/tuners/CLLWSList.h
index d623834..61a1d79 100644
--- a/arm_compute/runtime/CL/tuners/CLLWSList.h
+++ b/arm_compute/runtime/CL/tuners/CLLWSList.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_CL_LWS_LIST_H__
-#define __ARM_COMPUTE_CL_LWS_LIST_H__
+#ifndef ARM_COMPUTE_CL_LWS_LIST_H
+#define ARM_COMPUTE_CL_LWS_LIST_H
 
 #include "arm_compute/core/CL/OpenCL.h"
 #include "arm_compute/core/Error.h"
@@ -210,4 +210,4 @@
 };
 } // namespace cl_tuner
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_CL_LWS_LIST_H__ */
+#endif /*ARM_COMPUTE_CL_LWS_LIST_H */
diff --git a/arm_compute/runtime/CL/tuners/MidgardTuner.h b/arm_compute/runtime/CL/tuners/MidgardTuner.h
index 4aa58f4..2609f32 100644
--- a/arm_compute/runtime/CL/tuners/MidgardTuner.h
+++ b/arm_compute/runtime/CL/tuners/MidgardTuner.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_TUNERS_MIDGARD_TUNER_H__
-#define __ARM_COMPUTE_TUNERS_MIDGARD_TUNER_H__
+#ifndef ARM_COMPUTE_TUNERS_MIDGARD_TUNER_H
+#define ARM_COMPUTE_TUNERS_MIDGARD_TUNER_H
 
 #include "arm_compute/runtime/CL/ICLTuner.h"
 
@@ -40,4 +40,4 @@
 };
 } // namespace tuners
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_TUNERS_MIDGARD_TUNER_H__ */
+#endif /*ARM_COMPUTE_TUNERS_MIDGARD_TUNER_H */
diff --git a/arm_compute/runtime/CL/tuners/Tuners.h b/arm_compute/runtime/CL/tuners/Tuners.h
index a9eaa07..05d5b68 100644
--- a/arm_compute/runtime/CL/tuners/Tuners.h
+++ b/arm_compute/runtime/CL/tuners/Tuners.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_TUNERS_H__
-#define __ARM_COMPUTE_TUNERS_H__
+#ifndef ARM_COMPUTE_TUNERS_H
+#define ARM_COMPUTE_TUNERS_H
 
 #include "arm_compute/runtime/CL/tuners/BifrostTuner.h"
 #include "arm_compute/runtime/CL/tuners/MidgardTuner.h"
@@ -53,4 +53,4 @@
 };
 } // namespace tuners
 } // namespace arm_compute
-#endif /*__ARM_COMPUTE_TUNERS_H__ */
+#endif /*ARM_COMPUTE_TUNERS_H */
