summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorAlexey Bader <aleksey.bader@mail.ru>2016-07-13 10:28:13 +0000
committerAlexey Bader <aleksey.bader@mail.ru>2016-07-13 10:28:13 +0000
commit10e9e59898faab77fbb7a4e8a8034130ca3216c4 (patch)
tree72e0fa1806acf022719be729f572d2cafd035424 /clang/lib/CodeGen/CodeGenFunction.cpp
parentdd64bb38bd8126f647672d7ab6f79682bef18106 (diff)
downloadbcm5719-llvm-10e9e59898faab77fbb7a4e8a8034130ca3216c4.tar.gz
bcm5719-llvm-10e9e59898faab77fbb7a4e8a8034130ca3216c4.zip
[OpenCL] Fix code generation of kernel pipe parameters.
Improved test with user define structure pipe type case. Reviewers: Anastasia, pxli168 Subscribers: yaxunl, cfe-commits Differential revision: http://reviews.llvm.org/D21744 llvm-svn: 275259
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
index a0158d8b4b2..755881fb148 100644
--- a/clang/lib/CodeGen/CodeGenFunction.cpp
+++ b/clang/lib/CodeGen/CodeGenFunction.cpp
@@ -516,7 +516,8 @@ static void GenOpenCLArgMetadata(const FunctionDecl *FD, llvm::Function *Fn,
// Get argument type name.
std::string typeName;
if (isPipe)
- typeName = cast<PipeType>(ty)->getElementType().getAsString(Policy);
+ typeName = ty.getCanonicalType()->getAs<PipeType>()->getElementType()
+ .getAsString(Policy);
else
typeName = ty.getUnqualifiedType().getAsString(Policy);
@@ -529,8 +530,9 @@ static void GenOpenCLArgMetadata(const FunctionDecl *FD, llvm::Function *Fn,
std::string baseTypeName;
if (isPipe)
- baseTypeName =
- cast<PipeType>(ty)->getElementType().getCanonicalType().getAsString(Policy);
+ baseTypeName = ty.getCanonicalType()->getAs<PipeType>()
+ ->getElementType().getCanonicalType()
+ .getAsString(Policy);
else
baseTypeName =
ty.getUnqualifiedType().getCanonicalType().getAsString(Policy);
OpenPOWER on IntegriCloud