Skip to content

Commit c9123d1

Browse files
author
iclsrc
committed
Merge from 'sycl' to 'sycl-web'
2 parents f077a2d + 1588535 commit c9123d1

File tree

78 files changed

+1313
-219
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+1313
-219
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Linux Post Commit Checks
2+
3+
on:
4+
push:
5+
branches:
6+
- sycl
7+
jobs:
8+
check:
9+
runs-on: ubuntu-latest
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
config: ["Default", "SharedLibs", "Assertions"]
14+
15+
steps:
16+
- uses: actions/checkout@v2
17+
with:
18+
path: src
19+
- name: Install Ubuntu deps
20+
run: sudo apt install -y ninja-build
21+
- name: Configure
22+
run: |
23+
CONFIG=${{ matrix.config }}
24+
case $CONFIG in
25+
Default)
26+
export ARGS=""
27+
;;
28+
SharedLibs)
29+
export ARGS="--shared-libs"
30+
;;
31+
Assertiosn)
32+
export ARGS="--assertions"
33+
;;
34+
esac
35+
mkdir -p $GITHUB_WORKSPACE/build
36+
cd $GITHUB_WORKSPACE/build
37+
python3 $GITHUB_WORKSPACE/src/buildbot/configure.py -w $GITHUB_WORKSPACE \
38+
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t Release --no-ocl $ARGS
39+
- name: Compile
40+
run: |
41+
python3 $GITHUB_WORKSPACE/src/buildbot/compile.py -w $GITHUB_WORKSPACE \
42+
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build
43+
- name: check-llvm
44+
if: always()
45+
run: |
46+
python3 $GITHUB_WORKSPACE/src/buildbot/check.py -w $GITHUB_WORKSPACE \
47+
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t check-llvm
48+
- name: check-clang
49+
if: always()
50+
run: |
51+
python3 $GITHUB_WORKSPACE/src/buildbot/check.py -w $GITHUB_WORKSPACE \
52+
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t check-clang
53+
- name: check-sycl
54+
if: always()
55+
run: |
56+
python3 $GITHUB_WORKSPACE/src/buildbot/check.py -w $GITHUB_WORKSPACE \
57+
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t check-sycl
58+
- name: check-llvm-spirv
59+
if: always()
60+
run: |
61+
python3 $GITHUB_WORKSPACE/src/buildbot/check.py -w $GITHUB_WORKSPACE \
62+
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t check-llvm-spirv
63+
- name: Pack
64+
run: tar -czvf llvm_sycl.tar.gz -C $GITHUB_WORKSPACE/build/install .
65+
- name: Upload artifacts
66+
uses: actions/upload-artifact@v1
67+
with:
68+
name: sycl_linux_${{ matrix.config }}
69+
path: llvm_sycl.tar.gz
70+

buildbot/configure.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ def do_configure(args):
1919
sycl_build_pi_cuda = 'OFF'
2020
llvm_enable_assertions = 'ON'
2121
llvm_enable_doxygen = 'OFF'
22+
llvm_build_shared_libs = 'OFF'
2223

2324
if platform.system() == 'Linux':
2425
icd_loader_lib = os.path.join(icd_loader_lib, "libOpenCL.so")
@@ -37,6 +38,9 @@ def do_configure(args):
3738
if args.docs:
3839
llvm_enable_doxygen = 'ON'
3940

41+
if args.shared_libs:
42+
llvm_build_shared_libs = 'ON'
43+
4044
install_dir = os.path.join(args.obj_dir, "install")
4145

4246
cmake_cmd = [
@@ -59,10 +63,16 @@ def do_configure(args):
5963
"-DCMAKE_INSTALL_PREFIX={}".format(install_dir),
6064
"-DSYCL_INCLUDE_TESTS=ON", # Explicitly include all kinds of SYCL tests.
6165
"-DLLVM_ENABLE_DOXYGEN={}".format(llvm_enable_doxygen),
66+
"-DBUILD_SHARED_LIBS={}".format(llvm_build_shared_libs),
6267
"-DSYCL_ENABLE_XPTI_TRACING=ON", # Explicitly turn on XPTI tracing
6368
llvm_dir
6469
]
6570

71+
if not args.no_ocl:
72+
cmake_cmd.extend([
73+
"-DOpenCL_INCLUDE_DIR={}".format(ocl_header_dir),
74+
"-DOpenCL_LIBRARY={}".format(icd_loader_lib)])
75+
6676
print(cmake_cmd)
6777

6878
try:
@@ -93,6 +103,8 @@ def main():
93103
parser.add_argument("--cuda", action='store_true', help="switch from OpenCL to CUDA")
94104
parser.add_argument("--assertions", action='store_true', help="build with assertions")
95105
parser.add_argument("--docs", action='store_true', help="build Doxygen documentation")
106+
parser.add_argument("--no-ocl", action='store_true', help="download OpenCL deps via CMake")
107+
parser.add_argument("--shared-libs", action='store_true', help="Build shared libraries")
96108

97109
args = parser.parse_args()
98110

clang/lib/CodeGen/BackendUtil.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
//===----------------------------------------------------------------------===//
88

99
#include "clang/CodeGen/BackendUtil.h"
10-
#include "SYCLLowerIR/LowerWGScope.h"
1110
#include "clang/Basic/CodeGenOptions.h"
1211
#include "clang/Basic/Diagnostic.h"
1312
#include "clang/Basic/LangOptions.h"

clang/lib/CodeGen/CGLoopInfo.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -871,8 +871,9 @@ void LoopInfoStack::push(BasicBlock *Header, clang::ASTContext &Ctx,
871871
// legacy GNU attributes and pragma styles.
872872
//
873873
// For attribute ivdep:
874-
// 0 - 'llvm.loop.ivdep.enable' metadata will be emitted
875-
// n - 'llvm.loop.ivdep.safelen, i32 n' metadata will be emitted
874+
// Metadata 'llvm.loop.parallel_access_indices' & index group metadata
875+
// will be emitted, depending on the conditions described at the
876+
// helpers' site
876877
// For attribute ii:
877878
// n - 'llvm.loop.ii.count, i32 n' metadata will be emitted
878879
// For attribute max_concurrency:

clang/lib/CodeGen/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
add_subdirectory(SYCLLowerIR)
2-
31
set(LLVM_LINK_COMPONENTS
42
Analysis
53
BitReader
@@ -23,6 +21,7 @@ set(LLVM_LINK_COMPONENTS
2321
Remarks
2422
ScalarOpts
2523
Support
24+
SYCLLowerIR
2625
Target
2726
TransformUtils
2827
)
@@ -112,5 +111,4 @@ add_clang_library(clangCodeGen
112111
clangFrontend
113112
clangLex
114113
clangSerialization
115-
clangSYCLLowerIR
116114
)

clang/lib/CodeGen/CodeGenAction.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
#include "CodeGenModule.h"
1111
#include "CoverageMappingGen.h"
1212
#include "MacroPPCallbacks.h"
13-
#include "SYCLLowerIR/LowerWGScope.h"
1413
#include "clang/AST/ASTConsumer.h"
1514
#include "clang/AST/ASTContext.h"
1615
#include "clang/AST/DeclCXX.h"
@@ -39,6 +38,7 @@
3938
#include "llvm/IRReader/IRReader.h"
4039
#include "llvm/Linker/Linker.h"
4140
#include "llvm/Pass.h"
41+
#include "llvm/SYCLLowerIR/LowerWGScope.h"
4242
#include "llvm/Support/MemoryBuffer.h"
4343
#include "llvm/Support/SourceMgr.h"
4444
#include "llvm/Support/TimeProfiler.h"
@@ -335,7 +335,7 @@ namespace clang {
335335
if (LangOpts.SYCLIsDevice) {
336336
PrettyStackTraceString CrashInfo("Pre-linking SYCL passes");
337337
legacy::PassManager PreLinkingSyclPasses;
338-
PreLinkingSyclPasses.add(createSYCLLowerWGScopePass());
338+
PreLinkingSyclPasses.add(llvm::createSYCLLowerWGScopePass());
339339
PreLinkingSyclPasses.run(*getModule());
340340
}
341341

clang/lib/CodeGen/SYCLLowerIR/CMakeLists.txt

Lines changed: 0 additions & 18 deletions
This file was deleted.

clang/lib/Driver/Driver.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5525,9 +5525,11 @@ InputInfo Driver::BuildJobsForActionNoCache(
55255525
else {
55265526
std::string OffloadingPrefix;
55275527
// When generating binaries with -fsycl-link-target or -fsycl-link, the
5528-
// output file prefix is the triple arch only.
5529-
if (Args.getLastArg(options::OPT_fsycl_link_targets_EQ) ||
5530-
Args.hasArg(options::OPT_fsycl_link_EQ)) {
5528+
// output file prefix is the triple arch only. Do not add the arch when
5529+
// compiling for host.
5530+
if (!A->getOffloadingHostActiveKinds() &&
5531+
(Args.getLastArg(options::OPT_fsycl_link_targets_EQ) ||
5532+
Args.hasArg(options::OPT_fsycl_link_EQ))) {
55315533
OffloadingPrefix = "-";
55325534
OffloadingPrefix += TC->getTriple().getArchName();
55335535
} else {

clang/test/CodeGenSYCL/hier_par.cpp

Lines changed: 0 additions & 43 deletions
This file was deleted.

clang/test/Driver/sycl-offload-intelfpga.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,16 @@
8686
// RUN: | FileCheck %s --check-prefix=CHK-FPGA-LINK-WARN
8787
// CHK-FPGA-LINK-WARN: warning: appending to an existing archive 'dummy.a'
8888

89+
/// -fintelfpga -fsycl-link name creation without output file specified
90+
// RUN: mkdir -p %t_dir
91+
// RUN: touch %t_dir/dummy_file.cpp
92+
// RUN: %clang++ -### -fsycl -fintelfpga -fsycl-link %t_dir/dummy_file.cpp 2>&1 \
93+
// RUN: | FileCheck -check-prefixes=CHK-SYCL-LINK-LIN -DINPUTSRC=dummy_file %s
94+
// RUN: %clang_cl -### -fsycl -fintelfpga -fsycl-link %t_dir/dummy_file.cpp 2>&1 \
95+
// RUN: | FileCheck -check-prefixes=CHK-SYCL-LINK-WIN -DINPUTSRC=dummy_file %s
96+
// CHK-SYCL-LINK-LIN: llvm-ar{{.*}} "cr" "[[INPUTSRC]].a"
97+
// CHK-SYCL-LINK-WIN: lib.exe{{.*}} "-OUT:[[INPUTSRC]].a"
98+
8999
/// -fintelfpga with AOCR library and additional object
90100
// RUN: touch %t2.o
91101
// RUN: %clangxx -### -target x86_64-unknown-linux-gnu -fsycl -fintelfpga %t.a %t2.o 2>&1 \

llvm/include/llvm/InitializePasses.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,7 @@ void initializeStripNonDebugSymbolsPass(PassRegistry&);
404404
void initializeStripNonLineTableDebugInfoPass(PassRegistry&);
405405
void initializeStripSymbolsPass(PassRegistry&);
406406
void initializeStructurizeCFGPass(PassRegistry&);
407+
void initializeSYCLLowerWGScopeLegacyPassPass(PassRegistry &);
407408
void initializeTailCallElimPass(PassRegistry&);
408409
void initializeTailDuplicatePass(PassRegistry&);
409410
void initializeTargetLibraryInfoWrapperPassPass(PassRegistry&);

llvm/include/llvm/LinkAllPasses.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include "llvm/CodeGen/Passes.h"
3838
#include "llvm/IR/Function.h"
3939
#include "llvm/IR/IRPrintingPasses.h"
40+
#include "llvm/SYCLLowerIR/LowerWGScope.h"
4041
#include "llvm/Support/Valgrind.h"
4142
#include "llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h"
4243
#include "llvm/Transforms/IPO.h"
@@ -199,6 +200,7 @@ namespace {
199200
(void) llvm::createMergeFunctionsPass();
200201
(void) llvm::createMergeICmpsLegacyPass();
201202
(void) llvm::createExpandMemCmpPass();
203+
(void)llvm::createSYCLLowerWGScopePass();
202204
std::string buf;
203205
llvm::raw_string_ostream os(buf);
204206
(void) llvm::createPrintModulePass(os);

clang/lib/CodeGen/SYCLLowerIR/LowerWGScope.h renamed to llvm/include/llvm/SYCLLowerIR/LowerWGScope.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ class SYCLLowerWGScopePass : public PassInfoMixin<SYCLLowerWGScopePass> {
2525
};
2626

2727
FunctionPass *createSYCLLowerWGScopePass();
28-
void initializeSYCLLowerWGScopeLegacyPassPass(PassRegistry &);
2928

3029
} // namespace llvm
3130

llvm/lib/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ add_subdirectory(AsmParser)
2727
add_subdirectory(LineEditor)
2828
add_subdirectory(ProfileData)
2929
add_subdirectory(Passes)
30+
add_subdirectory(SYCLLowerIR)
3031
add_subdirectory(TextAPI)
3132
add_subdirectory(ToolDrivers)
3233
add_subdirectory(XRay)

llvm/lib/LLVMBuild.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ subdirectories =
4242
Passes
4343
ProfileData
4444
Support
45+
SYCLLowerIR
4546
TableGen
4647
TextAPI
4748
Target

llvm/lib/SYCLLowerIR/CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
add_llvm_component_library(LLVMSYCLLowerIR
2+
LowerWGScope.cpp
3+
4+
ADDITIONAL_HEADER_DIRS
5+
${LLVM_MAIN_INCLUDE_DIR}/llvm/SYCLLowerIR
6+
7+
DEPENDS
8+
intrinsics_gen
9+
)

llvm/lib/SYCLLowerIR/LLVMBuild.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
;===- ./lib/SYCLLowerIR/LLVMBuild.txt -----------------------------*- Conf -*--===;
2+
;
3+
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4+
; See https://llvm.org/LICENSE.txt for license information.
5+
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
;
7+
;===------------------------------------------------------------------------===;
8+
;
9+
; This is an LLVMBuild description file for the components in this subdirectory.
10+
;
11+
; For more information on the LLVMBuild system, please see:
12+
;
13+
; http://llvm.org/docs/LLVMBuild.html
14+
;
15+
;===------------------------------------------------------------------------===;
16+
17+
[component_0]
18+
type = Group
19+
name = SYCLLowerIR
20+
parent = Libraries

clang/lib/CodeGen/SYCLLowerIR/LowerWGScope.cpp renamed to llvm/lib/SYCLLowerIR/LowerWGScope.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,7 @@
7373
// et. al.
7474
//===----------------------------------------------------------------------===//
7575

76-
#include "LowerWGScope.h"
77-
78-
#include "clang/Basic/AddressSpaces.h"
79-
76+
#include "llvm/SYCLLowerIR/LowerWGScope.h"
8077
#include "llvm/ADT/SmallPtrSet.h"
8178
#include "llvm/ADT/SmallVector.h"
8279
#include "llvm/ADT/Statistic.h"
@@ -85,6 +82,7 @@
8582
#include "llvm/IR/Instructions.h"
8683
#include "llvm/IR/IntrinsicInst.h"
8784
#include "llvm/IR/Module.h"
85+
#include "llvm/InitializePasses.h"
8886
#include "llvm/Pass.h"
8987
#include "llvm/Support/CommandLine.h"
9088

0 commit comments

Comments
 (0)