[PATCH] D15603: [OpenCL] Pipe type support

Anastasia Stulova via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 28 11:45:29 PST 2016

Anastasia added a comment.

Yes, I see that it happens only for some vector types. The CodeGen follows quite different paths for both targets. And in the case of s390x-linux-gnu it ends up in ABIArgInfo::Indirect case of the second switch statement where an additional pointer will be added here:

  ArgTypes[FirstIRArg] = LTy->getPointerTo();

I don't have enough knowledge at the moment of this ABI to tell whether it's Ok, but the generated code appears to be completely wrong.

As a temporary workaround to fix your build bot, I suggest you to add '-triple x86_64-linux-gnu' into RUN line of the test:

  -// RUN: %clang_cc1 -emit-llvm -O0 -cl-std=CL2.0 -o - %s | FileCheck %s
  +// RUN: %clang_cc1 -emit-llvm -O0 -cl-std=CL2.0 -o - -triple x86_64-linux-gnu %s | FileCheck %s

It has already been done before in OpenCL tests as we don't support most of targets anyways.

In the meantime, I will try to see if there could be a better fix for this.


More information about the cfe-commits mailing list