Skip to content

Commit dc5e614

Browse files
authored
[SYCL] Refactor -fsycl-esimd and -fsycl-int-header options (#2466)
-fsycl-int-header option initialization code moved closer to code section processing other SYCL options. -fsycl-esimd enables optimizations in SYCL mode, which is not necessary after 5976ff0
1 parent dd7fec8 commit dc5e614

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

clang/lib/Frontend/CompilerInvocation.cpp

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -823,14 +823,10 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK,
823823
Args.getLastArg(OPT_emit_llvm_uselists, OPT_no_emit_llvm_uselists))
824824
Opts.EmitLLVMUseLists = A->getOption().getID() == OPT_emit_llvm_uselists;
825825

826-
// ESIMD GPU Back-end requires optimized IR
827-
bool IsSyclESIMD = Args.hasFlag(options::OPT_fsycl_esimd,
828-
options::OPT_fno_sycl_esimd, false);
829-
830826
Opts.DisableLLVMPasses =
831827
Args.hasArg(OPT_disable_llvm_passes) ||
832828
(Args.hasArg(OPT_fsycl_is_device) && Triple.isSPIR() &&
833-
Args.hasArg(OPT_fno_sycl_early_optimizations) && !IsSyclESIMD);
829+
Args.hasArg(OPT_fno_sycl_early_optimizations));
834830
Opts.DisableLifetimeMarkers = Args.hasArg(OPT_disable_lifetimemarkers);
835831

836832
const llvm::Triple::ArchType DebugEntryValueArchs[] = {
@@ -2612,6 +2608,8 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
26122608
Opts.SYCLValueFitInMaxInt =
26132609
Args.hasFlag(options::OPT_fsycl_id_queries_fit_in_int,
26142610
options::OPT_fno_sycl_id_queries_fit_in_int, false);
2611+
Opts.SYCLIntHeader =
2612+
std::string(Args.getLastArgValue(OPT_fsycl_int_header));
26152613
}
26162614

26172615
Opts.IncludeDefaultHeader = Args.hasArg(OPT_finclude_default_header);
@@ -2672,8 +2670,6 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
26722670
Diags.Report(diag::warn_ignored_hip_only_option)
26732671
<< Args.getLastArg(OPT_gpu_max_threads_per_block_EQ)->getAsString(Args);
26742672

2675-
Opts.SYCLIntHeader = std::string(Args.getLastArgValue(OPT_fsycl_int_header));
2676-
26772673
if (Opts.ObjC) {
26782674
if (Arg *arg = Args.getLastArg(OPT_fobjc_runtime_EQ)) {
26792675
StringRef value = arg->getValue();

0 commit comments

Comments
 (0)