Skip to content

Commit 8963347

Browse files
committed
[SYCL] Use mangled identifiers for SYCL kernel names
Mangling of kernel names removes characters like '<', ',', '>'. Signed-off-by: Vladimir Lazarev <[email protected]>
1 parent ed3568d commit 8963347

22 files changed

+14610
-37
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
//===- BifNameReflower.h - Built-in name reflower pass (OCLC++) -*- C++ -*-===//
2+
//
3+
// The LLVM Compiler Infrastructure
4+
//
5+
// This file is distributed under the University of Illinois Open Source
6+
// License. See LICENSE.TXT for details.
7+
//
8+
//
9+
//
10+
// Copyright (c) 2015 The Khronos Group Inc.
11+
//
12+
// Permission is hereby granted, free of charge, to any person obtaining a
13+
// copy of this software and/or associated documentation files (the
14+
// "Materials"), to deal in the Materials without restriction, including
15+
// without limitation the rights to use, copy, modify, merge, publish,
16+
// distribute, sublicense, and/or sell copies of the Materials, and to
17+
// permit persons to whom the Materials are furnished to do so, subject to
18+
// the following conditions:
19+
//
20+
// The above copyright notice and this permission notice shall be included
21+
// in all copies or substantial portions of the Materials.
22+
//
23+
// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24+
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25+
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
26+
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
27+
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
28+
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
29+
// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
30+
//
31+
//===----------------------------------------------------------------------===//
32+
33+
34+
#ifndef CLANG_LIB_CODEGEN_OCLCXXREWRITE_BIFNAMEREFLOWER_H
35+
#define CLANG_LIB_CODEGEN_OCLCXXREWRITE_BIFNAMEREFLOWER_H
36+
37+
namespace llvm {
38+
39+
class ModulePass;
40+
class PassRegistry;
41+
42+
void initializeOclCxxBifNameReflowerPass(PassRegistry &);
43+
44+
ModulePass *createOclCxxBifNameReflowerPass();
45+
}
46+
47+
#endif // CLANG_LIB_CODEGEN_OCLCXXREWRITE_BIFNAMEREFLOWER_H

0 commit comments

Comments
 (0)