From 7266cf6464bc3ec65044c5783df739cfe7b6cd61 Mon Sep 17 00:00:00 2001 From: Guy Benyei Date: Thu, 10 Jan 2013 10:41:05 +0000 Subject: [PATCH] Enable intel_ocl_bicc for x86_64 target only. Remove fix from 171969 that enabled this extension for multiple targets. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172052 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/TargetInfo.h | 1 - lib/Basic/Targets.cpp | 4 +++- test/CodeGen/intel_ocl_bicc.c | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/clang/Basic/TargetInfo.h b/include/clang/Basic/TargetInfo.h index 7ecd6d5335..328ffd9601 100644 --- a/include/clang/Basic/TargetInfo.h +++ b/include/clang/Basic/TargetInfo.h @@ -775,7 +775,6 @@ public: return CCCR_Warning; case CC_C: case CC_Default: - case CC_IntelOclBicc: return CCCR_OK; } } diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index f79aec3c5c..3426262b2a 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -2895,7 +2895,9 @@ public: } virtual CallingConvCheckResult checkCallingConvention(CallingConv CC) const { - return TargetInfo::checkCallingConvention(CC); + return (CC == CC_Default || + CC == CC_C || + CC == CC_IntelOclBicc) ? CCCR_OK : CCCR_Warning; } virtual CallingConv getDefaultCallingConv(CallingConvMethodType MT) const { diff --git a/test/CodeGen/intel_ocl_bicc.c b/test/CodeGen/intel_ocl_bicc.c index 2f5c58cfc3..c5c5229e1c 100644 --- a/test/CodeGen/intel_ocl_bicc.c +++ b/test/CodeGen/intel_ocl_bicc.c @@ -1,4 +1,5 @@ // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | FileCheck %s void __attribute__((intel_ocl_bicc)) f1(void); -- 2.40.0