Skip to content

Commit cc7a605

Browse files
committed
Merge remote-tracking branch 'intel_llvm/sycl' into llvmspirv_pulldown
2 parents 7c08291 + dcfb6b1 commit cc7a605

File tree

294 files changed

+2638
-1255
lines changed

Some content is hidden

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

294 files changed

+2638
-1255
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ llvm-spirv/ @AlexeySotkin @AlexeySachkov
1313
opencl-aot/ @dm-vodopyanov @AlexeySachkov @romanovvlad
1414

1515
# Device library
16-
libdevice/ @vzakhari
16+
libdevice/ @vzakhari @jinge90
1717

1818
# DPC++ runtime library
1919
sycl/ @intel/llvm-reviewers-runtime

.github/workflows/linux_post_commit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
- sycl
77
jobs:
88
check:
9-
runs-on: ubuntu-latest
9+
runs-on: ubuntu-18.04
1010
strategy:
1111
fail-fast: false
1212
matrix:

buildbot/dependency.conf

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
[VERSIONS]
2-
# https://github.com/intel/llvm/releases/download/2020-WW45/oclcpuexp-2020.11.11.0.04_rel.tar.gz
3-
ocl_cpu_rt_ver=2020.11.11.0.04
4-
# https://github.com/intel/llvm/releases/download/2020-WW45/win-oclcpuexp-2020.11.11.0.04_rel.zip
5-
ocl_cpu_rt_ver_win=2020.11.11.0.04
2+
# https://github.com/intel/llvm/releases/download/2021-WW10/oclcpuexp-2021.11.3.0.02_rel.tar.gz
3+
ocl_cpu_rt_ver=2021.11.3.0.02
4+
# https://github.com/intel/llvm/releases/download/2021-WW10/win-oclcpuexp-2021.11.3.0.02_rel.zip
5+
ocl_cpu_rt_ver_win=2021.11.3.0.02
66
# Same GPU driver supports Level Zero and OpenCL
7-
# https://github.com/intel/compute-runtime/releases/tag/21.07.19042
8-
ocl_gpu_rt_ver=21.07.19042
7+
# https://github.com/intel/compute-runtime/releases/tag/21.08.19096
8+
ocl_gpu_rt_ver=21.08.19096
99
# Same GPU driver supports Level Zero and OpenCL
10-
# https://downloadmirror.intel.com/30148/a08/igfx_win10_100.9168.zip
11-
ocl_gpu_rt_ver_win=27.20.100.9168
10+
# https://downloadmirror.intel.com/30266/a08/igfx_win10_100.9316.zip
11+
ocl_gpu_rt_ver_win=27.20.100.9316
1212
intel_sycl_ver=build
1313

1414
# TBB binaries can be built from sources following instructions under
1515
# https://github.com/oneapi-src/oneTBB/blob/master/cmake/README.md
1616
# or downloaded using links below:
1717
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.1.1/oneapi-tbb-2021.1.1-lin.tgz
18-
tbb_ver=2021.1.053
18+
tbb_ver=2021.2.0.236
1919
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.1.1/oneapi-tbb-2021.1.1-win.zip
20-
tbb_ver_win=2021.1.049
20+
tbb_ver_win=2021.2.0.221
2121

22-
# https://github.com/intel/llvm/releases/download/2020-WW45/fpgaemu-2020.11.11.0.04_rel.tar.gz
23-
ocl_fpga_emu_ver=2020.11.11.0.04
24-
# https://github.com/intel/llvm/releases/download/2020-WW45/win-fpgaemu-2020.11.11.0.04_rel.zip
25-
ocl_fpga_emu_ver_win=2020.11.11.0.04
26-
fpga_ver=20201021_000005
27-
fpga_ver_win=20201022_000005
22+
# https://github.com/intel/llvm/releases/download/2021-WW10/fpgaemu-2021.11.3.0.02_rel.tar.gz
23+
ocl_fpga_emu_ver=2021.11.3.0.02
24+
# https://github.com/intel/llvm/releases/download/2021-WW10/win-fpgaemu-2021.11.3.0.02_rel.zip
25+
ocl_fpga_emu_ver_win=2021.11.3.0.02
26+
fpga_ver=20210205_000005
27+
fpga_ver_win=20210204_000003_signed_bom_fixed
2828
ocloc_ver_win=27.20.100.9168
2929

3030
[DRIVER VERSIONS]
31-
cpu_driver_lin=2020.11.11.0.04
32-
cpu_driver_win=2020.11.11.0.04
33-
gpu_driver_lin=21.07.19042
34-
gpu_driver_win=27.20.100.9168
35-
fpga_driver_lin=2020.11.11.0.04
36-
fpga_driver_win=2020.11.11.0.04
31+
cpu_driver_lin=2021.11.3.0.02
32+
cpu_driver_win=2021.11.3.0.02
33+
gpu_driver_lin=21.08.19096
34+
gpu_driver_win=27.20.100.9316
35+
fpga_driver_lin=2021.11.3.0.02
36+
fpga_driver_win=2021.11.3.0.02
3737
# NVidia CUDA driver
3838
# TODO provide URL for CUDA driver
3939
nvidia_gpu_driver_lin=435.21

clang/include/clang/Basic/AttrDocs.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2470,8 +2470,8 @@ device kernel, the attribute is not ignored and it is propagated to the kernel.
24702470
If the`` intel::reqd_work_group_size`` or ``cl::reqd_work_group_size``
24712471
attribute is specified on a declaration along with a
24722472
intel::num_simd_work_items attribute, the work group size attribute
2473-
arguments must all be evenly divisible by the argument specified in
2474-
the ``intel::num_simd_work_items`` attribute.
2473+
argument (the first argument) must be evenly divisible by the argument specified
2474+
in the ``intel::num_simd_work_items`` attribute.
24752475

24762476
.. code-block:: c++
24772477

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3198,9 +3198,6 @@ def warn_dllimport_dropped_from_inline_function : Warning<
31983198
InGroup<IgnoredAttributes>;
31993199
def warn_attribute_ignored : Warning<"%0 attribute ignored">,
32003200
InGroup<IgnoredAttributes>;
3201-
def warn_attribute_on_direct_kernel_callee_only : Warning<"%0 attribute allowed"
3202-
" only on a function directly called from a SYCL kernel function; attribute ignored">,
3203-
InGroup<IgnoredAttributes>;
32043201
def warn_nothrow_attribute_ignored : Warning<"'nothrow' attribute conflicts with"
32053202
" exception specification; attribute ignored">,
32063203
InGroup<IgnoredAttributes>;

clang/include/clang/Basic/LangOptions.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,6 @@ LANGOPT(GPUMaxThreadsPerBlock, 32, 1024, "default max threads per block for kern
248248
LANGOPT(GPUDeferDiag, 1, 0, "defer host/device related diagnostic messages for CUDA/HIP")
249249
LANGOPT(GPUExcludeWrongSideOverloads, 1, 0, "always exclude wrong side overloads in overloading resolution for CUDA/HIP")
250250

251-
LANGOPT(SYCL , 1, 0, "SYCL")
252251
LANGOPT(SYCLIsDevice , 1, 0, "Generate code for SYCL device")
253252
LANGOPT(SYCLIsHost , 1, 0, "SYCL host compilation")
254253
LANGOPT(SYCLAllowFuncPtr , 1, 0, "Allow function pointers in SYCL device code")

clang/include/clang/Driver/Options.td

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4349,18 +4349,18 @@ defm whole_file : BooleanFFlag<"whole-file">, Group<gfortran_Group>;
43494349
def reuse_exe_EQ : Joined<["-"], "reuse-exe=">, Flags<[CoreOption]>,
43504350
HelpText<"Speed up FPGA aoc compile if the device code in <exe> is unchanged.">,
43514351
MetaVarName<"<exe>">;
4352-
defm sycl : BoolOption<"f", "sycl",
4353-
LangOpts<"SYCL">, DefaultFalse,
4354-
PosFlag<SetTrue, [CC1Option], "Enable">, NegFlag<SetFalse, [], "Disable">,
4355-
BothFlags<[CoreOption], " SYCL kernels compilation for device">>,
4356-
Group<sycl_Group>;
4352+
def fsycl : Flag<["-"], "fsycl">, Flags<[NoXarchOption, CoreOption]>, Group<sycl_Group>,
4353+
HelpText<"Enables SYCL kernels compilation for device">;
4354+
def fno_sycl : Flag<["-"], "fno-sycl">, Flags<[NoXarchOption, CoreOption]>, Group<sycl_Group>,
4355+
HelpText<"Disables SYCL kernels compilation for device">;
43574356
def sycl_std_EQ : Joined<["-"], "sycl-std=">, Group<sycl_Group>, Flags<[CC1Option, NoArgumentUnused, CoreOption]>,
43584357
HelpText<"SYCL language standard to compile for.">, Values<"2020,2017,121,1.2.1,sycl-1.2.1">,
43594358
NormalizedValues<["SYCL_2020", "SYCL_2017", "SYCL_2017", "SYCL_2017", "SYCL_2017"]>, NormalizedValuesScope<"LangOptions">,
4360-
MarshallingInfoEnum<LangOpts<"SYCLVersion">, "SYCL_None">, ShouldParseIf<fsycl.KeyPath>;
4361-
defm sycl_esimd: BoolFOption<"sycl-explicit-simd", LangOpts<"SYCLExplicitSIMD">, DefaultFalse,
4362-
PosFlag<SetTrue, [], "Enable">, NegFlag<SetFalse, [], "Disable">,
4363-
BothFlags<[CC1Option,CoreOption], " SYCL explicit SIMD extension.">>;
4359+
MarshallingInfoEnum<LangOpts<"SYCLVersion">, "SYCL_None">;
4360+
defm sycl_esimd: BoolFOption<"sycl-explicit-simd",
4361+
LangOpts<"SYCLExplicitSIMD">, DefaultFalse,
4362+
PosFlag<SetTrue, [CC1Option], "Enable">, NegFlag<SetFalse, [], "Disable">,
4363+
BothFlags<[NoArgumentUnused, CoreOption], "SYCL explicit SIMD extension.">>;
43644364
defm sycl_early_optimizations : OptOutFFlag<"sycl-early-optimizations", "Enable", "Disable", " standard optimization pipeline for SYCL device compiler", [CoreOption]>;
43654365
def fsycl_dead_args_optimization : Flag<["-"], "fsycl-dead-args-optimization">,
43664366
Group<sycl_Group>, Flags<[NoArgumentUnused, CoreOption]>, HelpText<"Enables "
@@ -5616,8 +5616,7 @@ def fopenmp_host_ir_file_path : Separate<["-"], "fopenmp-host-ir-file-path">,
56165616

56175617
def fsycl_is_device : Flag<["-"], "fsycl-is-device">,
56185618
HelpText<"Generate code for SYCL device.">,
5619-
MarshallingInfoFlag<LangOpts<"SYCLIsDevice">>,
5620-
ShouldParseIf<fsycl.KeyPath>;
5619+
MarshallingInfoFlag<LangOpts<"SYCLIsDevice">>;
56215620
def fsycl_is_host : Flag<["-"], "fsycl-is-host">,
56225621
HelpText<"SYCL host compilation">,
56235622
MarshallingInfoFlag<LangOpts<"SYCLIsHost">>;

clang/include/clang/Sema/Sema.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3473,8 +3473,6 @@ class Sema final {
34733473
EnforceTCBLeafAttr *mergeEnforceTCBLeafAttr(Decl *D,
34743474
const EnforceTCBLeafAttr &AL);
34753475

3476-
SYCLIntelLoopFuseAttr *
3477-
mergeSYCLIntelLoopFuseAttr(Decl *D, const AttributeCommonInfo &CI, Expr *E);
34783476
void mergeDeclAttributes(NamedDecl *New, Decl *Old,
34793477
AvailabilityMergeKind AMK = AMK_Redeclaration);
34803478
void MergeTypedefNameDecl(Scope *S, TypedefNameDecl *New,
@@ -10236,6 +10234,10 @@ class Sema final {
1023610234
Expr *E);
1023710235
SYCLIntelNoGlobalWorkOffsetAttr *MergeSYCLIntelNoGlobalWorkOffsetAttr(
1023810236
Decl *D, const SYCLIntelNoGlobalWorkOffsetAttr &A);
10237+
void AddSYCLIntelLoopFuseAttr(Decl *D, const AttributeCommonInfo &CI,
10238+
Expr *E);
10239+
SYCLIntelLoopFuseAttr *
10240+
MergeSYCLIntelLoopFuseAttr(Decl *D, const SYCLIntelLoopFuseAttr &A);
1023910241

1024010242
/// AddAlignedAttr - Adds an aligned attribute to a particular declaration.
1024110243
void AddAlignedAttr(Decl *D, const AttributeCommonInfo &CI, Expr *E,
@@ -10290,8 +10292,6 @@ class Sema final {
1029010292
/// addSYCLIntelPipeIOAttr - Adds a pipe I/O attribute to a particular
1029110293
/// declaration.
1029210294
void addSYCLIntelPipeIOAttr(Decl *D, const AttributeCommonInfo &CI, Expr *ID);
10293-
void addSYCLIntelLoopFuseAttr(Decl *D, const AttributeCommonInfo &CI,
10294-
Expr *E);
1029510295

1029610296
bool checkNSReturnsRetainedReturnType(SourceLocation loc, QualType type);
1029710297
bool checkAllowedSYCLInitializer(VarDecl *VD,
@@ -13033,7 +13033,6 @@ class Sema final {
1303313033

1303413034
bool isKnownGoodSYCLDecl(const Decl *D);
1303513035
void checkSYCLDeviceVarDecl(VarDecl *Var);
13036-
void copySYCLKernelAttrs(const CXXRecordDecl *KernelObj);
1303713036
void ConstructOpenCLKernel(FunctionDecl *KernelCallerFunc, MangleContext &MC);
1303813037
void MarkDevice();
1303913038

clang/lib/AST/ASTContext.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2105,7 +2105,7 @@ TypeInfo ASTContext::getTypeInfoImpl(const Type *T) const {
21052105
Align = Target->getDoubleAlign();
21062106
break;
21072107
case BuiltinType::LongDouble:
2108-
if (((getLangOpts().SYCL && getLangOpts().SYCLIsDevice) ||
2108+
if ((getLangOpts().SYCLIsDevice ||
21092109
(getLangOpts().OpenMP && getLangOpts().OpenMPIsDevice)) &&
21102110
AuxTarget != nullptr &&
21112111
(Target->getLongDoubleWidth() != AuxTarget->getLongDoubleWidth() ||

clang/lib/CodeGen/BackendUtil.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -969,12 +969,9 @@ void EmitAssemblyHelper::EmitAssembly(BackendAction Action,
969969
std::unique_ptr<llvm::ToolOutputFile> ThinLinkOS, DwoOS;
970970

971971
// Eliminate dead arguments from SPIR kernels in SYCL environment.
972-
// 1. Run DAE when LLVM optimizations are applied as well.
973-
// 2. We cannot run DAE for ESIMD since the pointers to SPIR kernel
974-
// functions are saved in !genx.kernels metadata.
975-
// 3. DAE pass temporary guarded under option.
972+
// Run DAE when LLVM optimizations are applied as well.
976973
if (LangOpts.SYCLIsDevice && !CodeGenOpts.DisableLLVMPasses &&
977-
!LangOpts.SYCLExplicitSIMD && LangOpts.EnableDAEInSpirKernels)
974+
LangOpts.EnableDAEInSpirKernels)
978975
PerModulePasses.add(createDeadArgEliminationSYCLPass());
979976

980977
switch (Action) {

clang/lib/CodeGen/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,5 +98,6 @@ add_clang_library(clangCodeGen
9898
clangBasic
9999
clangFrontend
100100
clangLex
101+
clangSema
101102
clangSerialization
102103
)

clang/lib/CodeGen/CodeGenFunction.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -984,10 +984,11 @@ void CodeGenFunction::StartFunction(GlobalDecl GD, QualType RetTy,
984984

985985
if (getLangOpts().SYCLIsDevice && D) {
986986
if (const auto *A = D->getAttr<SYCLIntelLoopFuseAttr>()) {
987-
Expr *E = A->getValue();
987+
const auto *CE = cast<ConstantExpr>(A->getValue());
988+
Optional<llvm::APSInt> ArgVal = CE->getResultAsAPSInt();
988989
llvm::Metadata *AttrMDArgs[] = {
989-
llvm::ConstantAsMetadata::get(Builder.getInt32(
990-
E->getIntegerConstantExpr(D->getASTContext())->getZExtValue())),
990+
llvm::ConstantAsMetadata::get(
991+
Builder.getInt32(ArgVal->getZExtValue())),
991992
llvm::ConstantAsMetadata::get(
992993
A->isIndependent() ? Builder.getInt32(1) : Builder.getInt32(0))};
993994
Fn->setMetadata("loop_fuse",

clang/lib/CodeGen/TargetInfo.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10026,7 +10026,7 @@ LangAS SPIRTargetCodeGenInfo::getGlobalVarAddressSpace(CodeGenModule &CGM,
1002610026
LangAS AddrSpace = D->getType().getAddressSpace();
1002710027
assert(AddrSpace == LangAS::Default || isTargetAddressSpace(AddrSpace) ||
1002810028
// allow applying clang AST address spaces in SYCL mode
10029-
(CGM.getLangOpts().SYCL && CGM.getLangOpts().SYCLIsDevice));
10029+
CGM.getLangOpts().SYCLIsDevice);
1003010030
if (AddrSpace != LangAS::Default)
1003110031
return AddrSpace;
1003210032

clang/lib/Driver/Driver.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -813,9 +813,9 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
813813
// If -fsycl is supplied without any of these we will assume SPIR-V.
814814
// Use of -fsycl-device-only overrides -fsycl.
815815
bool HasValidSYCLRuntime =
816-
(C.getInputArgs().hasFlag(options::OPT_fsycl, options::OPT_fno_sycl,
817-
false) ||
818-
C.getInputArgs().hasArg(options::OPT_fsycl_device_only));
816+
C.getInputArgs().hasFlag(options::OPT_fsycl, options::OPT_fno_sycl,
817+
false) ||
818+
C.getInputArgs().hasArg(options::OPT_fsycl_device_only);
819819

820820
// A mechanism for retrieving SYCL-specific options, erroring out
821821
// if SYCL offloading wasn't enabled prior to that

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4337,7 +4337,6 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
43374337

43384338
if (UseSYCLTriple) {
43394339
// We want to compile sycl kernels.
4340-
CmdArgs.push_back("-fsycl");
43414340
CmdArgs.push_back("-fsycl-is-device");
43424341
CmdArgs.push_back("-fdeclare-spirv-builtins");
43434342

@@ -5927,8 +5926,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
59275926
// Forward -cl options to -cc1
59285927
RenderOpenCLOptions(Args, CmdArgs, InputType);
59295928

5930-
// Forward -sycl-std option to -cc1
5931-
Args.AddLastArg(CmdArgs, options::OPT_sycl_std_EQ);
5929+
// Forward -sycl-std option to -cc1 only if -fsycl is enabled.
5930+
if (Args.hasFlag(options::OPT_fsycl, options::OPT_fno_sycl, false))
5931+
Args.AddLastArg(CmdArgs, options::OPT_sycl_std_EQ);
59325932

59335933
if (IsHIP) {
59345934
if (Args.hasFlag(options::OPT_fhip_new_launch_api,
@@ -6616,7 +6616,6 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
66166616
}
66176617
// Let the FE know we are doing a SYCL offload compilation, but we are
66186618
// doing the host pass.
6619-
CmdArgs.push_back("-fsycl");
66206619
CmdArgs.push_back("-fsycl-is-host");
66216620

66226621
if (Args.hasFlag(options::OPT_fsycl_esimd, options::OPT_fno_sycl_esimd,

clang/lib/Frontend/CompilerInvocation.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -466,6 +466,11 @@ static bool FixupInvocation(CompilerInvocation &Invocation,
466466
LangOpts.NewAlignOverride = 0;
467467
}
468468

469+
// Prevent the user from specifying both -fsycl-is-device and -fsycl-is-host.
470+
if (LangOpts.SYCLIsDevice && LangOpts.SYCLIsHost)
471+
Diags.Report(diag::err_drv_argument_not_allowed_with) << "-fsycl-is-device"
472+
<< "-fsycl-is-host";
473+
469474
if (Args.hasArg(OPT_fgnu89_inline) && LangOpts.CPlusPlus)
470475
Diags.Report(diag::err_drv_argument_not_allowed_with)
471476
<< "-fgnu89-inline" << GetInputKindName(IK);
@@ -3563,7 +3568,7 @@ bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args,
35633568
LangStd = OpenCLLangStd;
35643569
}
35653570

3566-
if (Opts.SYCL) {
3571+
if (Args.hasArg(OPT_fsycl_is_device) || Args.hasArg(OPT_fsycl_is_host)) {
35673572
// -sycl-std applies to any SYCL source, not only those containing kernels,
35683573
// but also those using the SYCL API
35693574
if (const Arg *A = Args.getLastArg(OPT_sycl_std_EQ)) {

clang/lib/Frontend/InitPreprocessor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ static void InitializeStandardPredefinedMacros(const TargetInfo &TI,
474474
Builder.defineMacro("__FAST_RELAXED_MATH__");
475475
}
476476

477-
if (LangOpts.SYCL) {
477+
if (LangOpts.SYCLIsDevice || LangOpts.SYCLIsHost) {
478478
// SYCL Version is set to a value when building SYCL applications
479479
if (LangOpts.getSYCLVersion() == LangOptions::SYCL_2017) {
480480
Builder.defineMacro("CL_SYCL_LANGUAGE_VERSION", "121");

clang/lib/Frontend/Rewrite/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ add_clang_library(clangRewriteFrontend
1919
clangFrontend
2020
clangLex
2121
clangRewrite
22+
clangSema
2223
clangSerialization
2324

2425
DEPENDS

clang/lib/Index/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ add_clang_library(clangIndex
2424
clangFrontend
2525
clangLex
2626
clangRewrite
27+
clangSema
2728
clangSerialization
2829
clangToolingCore
2930

clang/lib/Sema/SemaDecl.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2612,8 +2612,8 @@ static bool mergeDeclAttribute(Sema &S, NamedDecl *D,
26122612
NewAttr = S.mergeImportModuleAttr(D, *IMA);
26132613
else if (const auto *INA = dyn_cast<WebAssemblyImportNameAttr>(Attr))
26142614
NewAttr = S.mergeImportNameAttr(D, *INA);
2615-
else if (const auto *LFA = dyn_cast<SYCLIntelLoopFuseAttr>(Attr))
2616-
NewAttr = S.mergeSYCLIntelLoopFuseAttr(D, *LFA, LFA->getValue());
2615+
else if (const auto *A = dyn_cast<SYCLIntelLoopFuseAttr>(Attr))
2616+
NewAttr = S.MergeSYCLIntelLoopFuseAttr(D, *A);
26172617
else if (const auto *TCBA = dyn_cast<EnforceTCBAttr>(Attr))
26182618
NewAttr = S.mergeEnforceTCBAttr(D, *TCBA);
26192619
else if (const auto *TCBLA = dyn_cast<EnforceTCBLeafAttr>(Attr))

0 commit comments

Comments
 (0)