This patch allows to set a MinVersion, stating from which OpenCL version
a function is available, and a MaxVersion, stating the version from which
a function should not be available anymore.
Definitions of the "work-item" functions have been updated, and some of
the "vector data load and store" functions (e.g.: vload/vstore) have been
added to show use of versions.
This depends on:
-1, splitting opencl-c.h file: https://reviews.llvm.org/D63256/new/
-2, Adding generic types: https://reviews.llvm.org/D63434
-3, Adding const, volatile and pointer types: https://reviews.llvm.org/D63442
-4, Adding image types: https://reviews.llvm.org/D63480