Re: [PATCH] D12855: [OpenCL] Add new types for OpenCL 2.0.

2015-09-15 Thread Alexey Bader via cfe-commits
bader added a comment.

In http://reviews.llvm.org/D12855#246004, @pekka.jaaskelainen wrote:

> The patch seems straightforward enough. BTW does someone know if anyone has 
> worked on the 'pipe' qualifier?


I'm currently supporting Intel's implementation of 'pipe' qualifier and I'd 
like to contribute this implementation to the community if there is any 
interest.



Comment at: lib/Serialization/ASTCommon.cpp:70
@@ -69,1 +69,3 @@
   case BuiltinType::OCLImage2dArray:  ID = PREDEF_TYPE_IMAGE2D_ARR_ID;  break;
+  case BuiltinType::OCLImage2dDepth:
+ID = PREDEF_TYPE_IMAGE2D_DEP_ID;

pekka.jaaskelainen wrote:
> A nitpick, but why deviate from the style where each case has been stuffed to 
> a single line?
My guess it's effect of clang-format. Original patch sent by Pedro matched the 
style, but violated 80-character limit, so he was asked to run clang-format 
over the patch. Do you want me to run clang-format on surrounding code to unify 
the style?


http://reviews.llvm.org/D12855



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: [PATCH] D12855: [OpenCL] Add new types for OpenCL 2.0.

2015-09-15 Thread Alexey Bader via cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rL247676: [OpenCL] Add new types for OpenCL 2.0. (authored by 
bader).

Changed prior to commit:
  http://reviews.llvm.org/D12855?vs=34709=34796#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D12855

Files:
  cfe/trunk/include/clang/AST/ASTContext.h
  cfe/trunk/include/clang/AST/BuiltinTypes.def
  cfe/trunk/include/clang/AST/Type.h
  cfe/trunk/include/clang/Basic/OpenCLExtensions.def
  cfe/trunk/include/clang/Serialization/ASTBitCodes.h
  cfe/trunk/lib/AST/ASTContext.cpp
  cfe/trunk/lib/AST/ItaniumMangle.cpp
  cfe/trunk/lib/AST/MicrosoftMangle.cpp
  cfe/trunk/lib/AST/NSAPI.cpp
  cfe/trunk/lib/AST/Type.cpp
  cfe/trunk/lib/AST/TypeLoc.cpp
  cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
  cfe/trunk/lib/CodeGen/CGDebugInfo.h
  cfe/trunk/lib/CodeGen/CGOpenCLRuntime.cpp
  cfe/trunk/lib/CodeGen/CodeGenTypes.cpp
  cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp
  cfe/trunk/lib/Index/USRGeneration.cpp
  cfe/trunk/lib/Sema/Sema.cpp
  cfe/trunk/lib/Sema/SemaType.cpp
  cfe/trunk/lib/Serialization/ASTCommon.cpp
  cfe/trunk/lib/Serialization/ASTReader.cpp
  cfe/trunk/test/PCH/ocl_types.h
  cfe/trunk/tools/libclang/CIndex.cpp

Index: cfe/trunk/tools/libclang/CIndex.cpp
===
--- cfe/trunk/tools/libclang/CIndex.cpp
+++ cfe/trunk/tools/libclang/CIndex.cpp
@@ -1460,9 +1460,19 @@
   case BuiltinType::OCLImage1dBuffer:
   case BuiltinType::OCLImage2d:
   case BuiltinType::OCLImage2dArray:
+  case BuiltinType::OCLImage2dDepth:
+  case BuiltinType::OCLImage2dArrayDepth:
+  case BuiltinType::OCLImage2dMSAA:
+  case BuiltinType::OCLImage2dArrayMSAA:
+  case BuiltinType::OCLImage2dMSAADepth:
+  case BuiltinType::OCLImage2dArrayMSAADepth:
   case BuiltinType::OCLImage3d:
   case BuiltinType::OCLSampler:
   case BuiltinType::OCLEvent:
+  case BuiltinType::OCLClkEvent:
+  case BuiltinType::OCLQueue:
+  case BuiltinType::OCLNDRange:
+  case BuiltinType::OCLReserveID:
 #define BUILTIN_TYPE(Id, SingletonId)
 #define SIGNED_TYPE(Id, SingletonId) case BuiltinType::Id:
 #define UNSIGNED_TYPE(Id, SingletonId) case BuiltinType::Id:
Index: cfe/trunk/include/clang/AST/BuiltinTypes.def
===
--- cfe/trunk/include/clang/AST/BuiltinTypes.def
+++ cfe/trunk/include/clang/AST/BuiltinTypes.def
@@ -160,14 +160,32 @@
 BUILTIN_TYPE(OCLImage1dBuffer, OCLImage1dBufferTy)
 BUILTIN_TYPE(OCLImage2d, OCLImage2dTy)
 BUILTIN_TYPE(OCLImage2dArray, OCLImage2dArrayTy)
+BUILTIN_TYPE(OCLImage2dDepth, OCLImage2dDepthTy)
+BUILTIN_TYPE(OCLImage2dArrayDepth, OCLImage2dArrayDepthTy)
+BUILTIN_TYPE(OCLImage2dMSAA, OCLImage2dMSAATy)
+BUILTIN_TYPE(OCLImage2dArrayMSAA, OCLImage2dArrayMSAATy)
+BUILTIN_TYPE(OCLImage2dMSAADepth, OCLImage2dMSAADepthTy)
+BUILTIN_TYPE(OCLImage2dArrayMSAADepth, OCLImage2dArrayMSAADepthTy)
 BUILTIN_TYPE(OCLImage3d, OCLImage3dTy)
 
 // OpenCL sampler_t.
 BUILTIN_TYPE(OCLSampler, OCLSamplerTy)
 
 // OpenCL event_t.
 BUILTIN_TYPE(OCLEvent, OCLEventTy)
 
+// OpenCL clk_event_t.
+BUILTIN_TYPE(OCLClkEvent, OCLClkEventTy)
+
+// OpenCL queue_t.
+BUILTIN_TYPE(OCLQueue, OCLQueueTy)
+
+// OpenCL ndrange_t.
+BUILTIN_TYPE(OCLNDRange, OCLNDRangeTy)
+
+// OpenCL reserve_id_t.
+BUILTIN_TYPE(OCLReserveID, OCLReserveIDTy)
+
 // This represents the type of an expression whose type is
 // totally unknown, e.g. 'T::foo'.  It is permitted for this to
 // appear in situations where the structure of the type is
Index: cfe/trunk/include/clang/AST/Type.h
===
--- cfe/trunk/include/clang/AST/Type.h
+++ cfe/trunk/include/clang/AST/Type.h
@@ -1683,17 +1683,27 @@
   bool isNullPtrType() const;   // C++0x nullptr_t
   bool isAtomicType() const;// C11 _Atomic()
 
-  bool isImage1dT() const;  // OpenCL image1d_t
-  bool isImage1dArrayT() const; // OpenCL image1d_array_t
-  bool isImage1dBufferT() const;// OpenCL image1d_buffer_t
-  bool isImage2dT() const;  // OpenCL image2d_t
-  bool isImage2dArrayT() const; // OpenCL image2d_array_t
-  bool isImage3dT() const;  // OpenCL image3d_t
+  bool isImage1dT() const;   // OpenCL image1d_t
+  bool isImage1dArrayT() const;  // OpenCL image1d_array_t
+  bool isImage1dBufferT() const; // OpenCL image1d_buffer_t
+  bool isImage2dT() const;   // OpenCL image2d_t
+  bool isImage2dArrayT() const;  // OpenCL image2d_array_t
+  bool isImage2dDepthT() const;  // OpenCL image_2d_depth_t
+  bool isImage2dArrayDepthT() const; // OpenCL image_2d_array_depth_t
+  bool isImage2dMSAAT() const;   // OpenCL image_2d_msaa_t
+  bool isImage2dArrayMSAAT() const;  // OpenCL image_2d_array_msaa_t
+  bool isImage2dMSAATDepth() const;  // OpenCL image_2d_msaa_depth_t
+  bool