Skip to content

Commit 06352ff

Browse files
committed
debug and fix last commit
1 parent 803e393 commit 06352ff

File tree

13 files changed

+168
-32
lines changed

13 files changed

+168
-32
lines changed

.project

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>llvm-project</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.cdt.autotools.core.genmakebuilderV2</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
15+
<triggers>clean,full,incremental,</triggers>
16+
<arguments>
17+
</arguments>
18+
</buildCommand>
19+
<buildCommand>
20+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
21+
<triggers>full,incremental,</triggers>
22+
<arguments>
23+
</arguments>
24+
</buildCommand>
25+
</buildSpec>
26+
<natures>
27+
<nature>org.eclipse.cdt.core.cnature</nature>
28+
<nature>org.eclipse.cdt.core.ccnature</nature>
29+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
30+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
31+
<nature>org.eclipse.cdt.autotools.core.autotoolsNatureV2</nature>
32+
</natures>
33+
</projectDescription>

.settings/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/language.settings.xml

amd/comgr/.cproject

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
3+
<storageModule moduleId="org.eclipse.cdt.core.settings">
4+
<cconfiguration id="org.eclipse.cdt.core.default.config.1793801460">
5+
<storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="org.eclipse.cdt.core.default.config.1793801460" moduleId="org.eclipse.cdt.core.settings" name="Configuration">
6+
<externalSettings/>
7+
<extensions/>
8+
</storageModule>
9+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
10+
</cconfiguration>
11+
</storageModule>
12+
<storageModule moduleId="org.eclipse.cdt.core.pathentry">
13+
<pathentry excluding="**/CMakeFiles/**" kind="out" path="build"/>
14+
</storageModule>
15+
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
16+
</cproject>

amd/comgr/.project

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>comgr</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.cdt.core.cBuilder</name>
10+
<triggers>clean,full,incremental,</triggers>
11+
<arguments>
12+
</arguments>
13+
</buildCommand>
14+
</buildSpec>
15+
<natures>
16+
<nature>org.eclipse.cdt.core.cnature</nature>
17+
<nature>org.eclipse.cdt.core.ccnature</nature>
18+
<nature>org.eclipse.cdt.cmake.core.cmakeNature</nature>
19+
</natures>
20+
</projectDescription>

clang/lib/Driver/Driver.cpp

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -769,7 +769,8 @@ Driver::OpenMPRuntimeKind Driver::getOpenMPRuntime(const ArgList &Args) const {
769769

770770
void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
771771
InputList &Inputs) {
772-
772+
/* salinas */ fprintf(
773+
stderr, "DAVE: Criver::CreateOffloadingDeviceToolChains ....\n");
773774
//
774775
// CUDA/HIP
775776
//
@@ -812,14 +813,17 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
812813
CudaInstallation.WarnIfUnsupportedVersion();
813814
}
814815
C.addOffloadDeviceToolChain(CudaTC.get(), OFK);
815-
} else if (IsHIP) {
816+
} else if (IsHIP) { /* salinas */ fprintf(stderr,"\t creating HIP Offloading toolchain ...\n");
816817
if (auto *OMPTargetArg =
817818
C.getInputArgs().getLastArg(options::OPT_fopenmp_targets_EQ)) {
818819
Diag(clang::diag::err_drv_unsupported_opt_for_language_mode)
819820
<< OMPTargetArg->getSpelling() << "HIP";
820821
return;
821822
}
822823
const ToolChain *HostTC = C.getSingleOffloadToolChain<Action::OFK_Host>();
824+
/* salinas */ fprintf(
825+
stderr,
826+
"Driver::CreateOffloadingDeviceToolChain .... OK got a HOST TC ...\n");
823827
auto OFK = Action::OFK_HIP;
824828
auto HIPTriple = getHIPOffloadTargetTriple(*this, C.getInputArgs());
825829
if (!HIPTriple)
@@ -6329,7 +6333,7 @@ std::string Driver::GetClPchPath(Compilation &C, StringRef BaseName) const {
63296333

63306334
const ToolChain &Driver::getToolChain(const ArgList &Args,
63316335
const llvm::Triple &Target) const {
6332-
6336+
/* salinas */ fprintf(stderr, "Driver::getToolChain() ... ->%s<-\n",Target.str().c_str() );
63336337
auto &TC = ToolChains[Target.str()];
63346338
if (!TC) {
63356339
switch (Target.getOS()) {
@@ -6517,10 +6521,17 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
65176521
const ToolChain &Driver::getOffloadingDeviceToolChain(
65186522
const ArgList &Args, const llvm::Triple &Target, const ToolChain &HostTC,
65196523
const Action::OffloadKind &TargetDeviceOffloadKind) const {
6524+
/* salinas */ fprintf(stderr,"===== Driver::getOffloadingDeviceToolChain() ....\n");
6525+
if (HostTC.getTriple().isWindowsMSVCEnvironment())
6526+
fprintf(stderr, "\t\t HOST TC IS WINDOWS !!!!!\n");
6527+
else
6528+
fprintf(stderr, "\t\t HOST TC is NOT Windows \n");
6529+
65206530
// Use device / host triples as the key into the ToolChains map because the
65216531
// device ToolChain we create depends on both.
65226532
auto &TC = ToolChains[Target.str() + "/" + HostTC.getTriple().str()];
65236533
if (!TC) {
6534+
/* salinas */ fprintf(stderr, "\t\t DIDN't GET a TC .....\n");
65246535
// Categorized by offload kind > arch rather than OS > arch like
65256536
// the normal getToolChain call, as it seems a reasonable way to categorize
65266537
// things.
@@ -6530,21 +6541,25 @@ const ToolChain &Driver::getOffloadingDeviceToolChain(
65306541
Target.getArch() == llvm::Triple::spirv64) &&
65316542
Target.getVendor() == llvm::Triple::AMD &&
65326543
Target.getOS() == llvm::Triple::AMDHSA) ||
6533-
!Args.hasArgNoClaim(options::OPT_offload_EQ))
6534-
TC = std::make_unique<toolchains::HIPAMDToolChain>(*this, Target,
6535-
HostTC, Args);
6536-
else if (Target.getArch() == llvm::Triple::spirv64 &&
6537-
Target.getVendor() == llvm::Triple::UnknownVendor &&
6538-
Target.getOS() == llvm::Triple::UnknownOS)
6539-
TC = std::make_unique<toolchains::HIPSPVToolChain>(*this, Target,
6540-
HostTC, Args);
6544+
!Args.hasArgNoClaim(options::OPT_offload_EQ)) /* salinas */ {
6545+
fprintf(stderr, "\t creating HIPAMDToolChain ...\n");
6546+
TC = std::make_unique<toolchains::HIPAMDToolChain>(
6547+
*this, Target, HostTC, Args);
6548+
} else if (Target.getArch() == llvm::Triple::spirv64 &&
6549+
Target.getVendor() == llvm::Triple::UnknownVendor &&
6550+
Target.getOS() == llvm::Triple::UnknownOS) /* salinas */ {
6551+
fprintf(stderr, "\t creating HIPSPVToolChain\n");
6552+
TC = std::make_unique<toolchains::HIPSPVToolChain>(
6553+
*this, Target, HostTC, Args); /* salinas */
6554+
}
65416555
break;
65426556
}
65436557
default:
65446558
break;
65456559
}
65466560
}
6547-
6561+
/* salinas */ fprintf(stderr,
6562+
"\t end of Driver::getOffloadDeviceToolChain\n");
65486563
return *TC;
65496564
}
65506565

clang/lib/Driver/ToolChains/AMDGPU.cpp

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,8 @@ bool RocmInstallationDetector::parseHIPVersionFile(llvm::StringRef V) {
180180
const SmallVectorImpl<RocmInstallationDetector::Candidate> &
181181
RocmInstallationDetector::getInstallationPathCandidates() {
182182

183+
/* salinas */ fprintf(stderr,"DAVE: RocmInstallationDetector::getInstallationPathCandidates() ...\n");
184+
183185
// Return the cached candidate list if it has already been populated.
184186
if (!ROCmSearchDirs.empty())
185187
return ROCmSearchDirs;
@@ -306,7 +308,12 @@ RocmInstallationDetector::getInstallationPathCandidates() {
306308
LatestVer = Ver;
307309
}
308310
}
309-
if (!isHostWindows()) {
311+
312+
fprintf(stderr,"DAVE: checking isHostWindows() ...\n"); /* salinas */
313+
314+
if (!isHostWindows()) { /* salinas */
315+
fprintf(stderr, "\t NOT WINDOWS ....\n");
316+
310317
if (!LatestROCm.empty())
311318
ROCmSearchDirs.emplace_back(D.SysRoot + "/opt/" + LatestROCm,
312319
/*StrictChecking=*/true);
@@ -315,16 +322,19 @@ RocmInstallationDetector::getInstallationPathCandidates() {
315322
/*StrictChecking=*/true);
316323
ROCmSearchDirs.emplace_back(D.SysRoot + "/usr",
317324
/*StrictChecking=*/true);
318-
}
325+
} /* salinas */ else fprintf(stderr,"\t IS WINDOWS!\n");
319326

320327
DoPrintROCmSearchDirs();
321328
return ROCmSearchDirs;
322329
}
323330

324331
RocmInstallationDetector::RocmInstallationDetector(
325332
const Driver &D, const llvm::Triple &TargetTriple,
326-
const llvm::opt::ArgList &Args, bool DetectHIPRuntime, bool DetectDeviceLib)
333+
const llvm::opt::ArgList &Args /*, SALINAS bool DetectHIPRuntime,
334+
bool DetectDeviceLib, bool isMSVC*/)
327335
: D(D), TargetTriple(TargetTriple) {
336+
/* salinas */ fprintf(stderr,"RocmInstallationDetector::RocmInstallationDetector() ... \n");
337+
/* SALINAS IsHostMSVC = isMSVC; */
328338
Verbose = Args.hasArg(options::OPT_v);
329339
RocmPathArg = Args.getLastArgValue(clang::driver::options::OPT_rocm_path_EQ);
330340
PrintROCmSearchDirs =
@@ -378,10 +388,13 @@ RocmInstallationDetector::RocmInstallationDetector(
378388
.str();
379389
}
380390

381-
if (DetectHIPRuntime)
382-
detectHIPRuntime();
383-
if (DetectDeviceLib)
384-
detectDeviceLibrary();
391+
//if (DetectHIPRuntime) /* salinas */ {
392+
// fprintf(stderr, "DAVE: RocmInstallationDetector ctor: calling "
393+
// "detectHIPRuntime() ...\n");
394+
// detectHIPRuntime();
395+
//}
396+
//if (DetectDeviceLib)
397+
// detectDeviceLibrary();
385398
}
386399

387400
void RocmInstallationDetector::detectDeviceLibrary() {
@@ -437,6 +450,7 @@ void RocmInstallationDetector::detectDeviceLibrary() {
437450

438451
// Find device libraries in a legacy ROCm directory structure
439452
// ${ROCM_ROOT}/amdgcn/bitcode/*
453+
/* salinas */ fprintf(stderr,"DAVE 1: calling getInstallationPathCandidates()\n");
440454
auto &ROCmDirs = getInstallationPathCandidates();
441455
for (const auto &Candidate : ROCmDirs) {
442456
LibDevicePath = Candidate.Path;
@@ -447,7 +461,11 @@ void RocmInstallationDetector::detectDeviceLibrary() {
447461
}
448462
}
449463

450-
void RocmInstallationDetector::detectHIPRuntime() {
464+
void RocmInstallationDetector::detectHIPRuntime() { /* salinas */
465+
fprintf(stderr, "DAVE: RocmInstallationDetector::detectHIPRuntime()\n");
466+
/* salinas */ std::optional<std::string> dave =
467+
llvm::sys::Process::GetEnv("HIP_PATH");
468+
/* salinas */ if (dave) fprintf(stderr, "DAVE: in detectHIPRuntime(): HIP_PATH = %s\n",(*dave).c_str());
451469
SmallVector<Candidate, 4> HIPSearchDirs;
452470
if (!HIPPathArg.empty())
453471
HIPSearchDirs.emplace_back(HIPPathArg.str());
@@ -456,8 +474,12 @@ void RocmInstallationDetector::detectHIPRuntime() {
456474
if (!HIPPathEnv->empty())
457475
HIPSearchDirs.emplace_back(std::move(*HIPPathEnv));
458476
}
459-
if (HIPSearchDirs.empty())
477+
if (HIPSearchDirs.empty()) { /* salinas */
478+
/* salinas */ fprintf(stderr,"DAVE 1: calling getInstallationPathCandidates()\n");
460479
HIPSearchDirs.append(getInstallationPathCandidates());
480+
} /* salinas */ else
481+
fprintf(stderr,
482+
"DAVE: detectHIPRuntime() .... HIPSearchDirs is NOT empty!\n");
461483
auto &FS = D.getVFS();
462484

463485
for (const auto &Candidate : HIPSearchDirs) {
@@ -688,13 +710,16 @@ void amdgpu::getAMDGPUTargetFeatures(const Driver &D,
688710
AMDGPUToolChain::AMDGPUToolChain(const Driver &D, const llvm::Triple &Triple,
689711
const ArgList &Args)
690712
: Generic_ELF(D, Triple, Args),
691-
OptionsDefault(
692-
{{options::OPT_O, "3"}, {options::OPT_cl_std_EQ, "CL1.2"}}) {
713+
OptionsDefault({{options::OPT_O, "3"},
714+
{options::OPT_cl_std_EQ, "CL1.2"}}) { /* salinas */
715+
fprintf(stderr, "========= DAVE =========== AMDGPUToolChain() ctor ....\n");
693716
// Check code object version options. Emit warnings for legacy options
694717
// and errors for the last invalid code object version options.
695718
// It is done here to avoid repeated warning or error messages for
696719
// each tool invocation.
697720
checkAMDGPUCodeObjectVersion(D, Args);
721+
/* salinas */ fprintf(
722+
stderr, " ===== DVE: AMDGPUToolChain ctor END ..... =========\n");
698723
}
699724

700725
Tool *AMDGPUToolChain::buildLinker() const {
@@ -823,10 +848,13 @@ bool AMDGPUToolChain::isWave64(const llvm::opt::ArgList &DriverArgs,
823848
/// ROCM Toolchain
824849
ROCMToolChain::ROCMToolChain(const Driver &D, const llvm::Triple &Triple,
825850
const ArgList &Args, bool isHostTCMSVC)
826-
: AMDGPUToolChain(D, Triple, Args) {
851+
: AMDGPUToolChain(D, Triple, Args) { /* salinas */ fprintf(stderr,"DAVE: ROCMToolChain::ROCMToolChain() ...\n");
852+
/* salinas */ fprintf(
853+
stderr, "DAVE: in ROCMToolChain ctor calling setHostWindows()\n");
827854
RocmInstallation->setHostWindows(isHostTCMSVC);
828855

829856
RocmInstallation->detectDeviceLibrary();
857+
/* salinas */ fprintf(stderr, "DAVE: end of ROCMToolChain ctor\n");
830858
}
831859

832860
void AMDGPUToolChain::addClangTargetOptions(

clang/lib/Driver/ToolChains/Darwin.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -931,7 +931,10 @@ MachO::MachO(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
931931
/// Darwin - Darwin tool chain for i386 and x86_64.
932932
Darwin::Darwin(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
933933
: MachO(D, Triple, Args), TargetInitialized(false),
934-
CudaInstallation(D, Triple, Args), RocmInstallation(D, Triple, Args) {}
934+
CudaInstallation(D, Triple, Args), RocmInstallation(D, Triple, Args) {
935+
/* SALINAS*/
936+
RocmInstallation->init();
937+
}
935938

936939
types::ID MachO::LookupTypeForExtension(StringRef Ext) const {
937940
types::ID Ty = ToolChain::LookupTypeForExtension(Ext);

clang/lib/Driver/ToolChains/Gnu.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3050,6 +3050,11 @@ Generic_GCC::Generic_GCC(const Driver &D, const llvm::Triple &Triple,
30503050
: ToolChain(D, Triple, Args), GCCInstallation(D),
30513051
CudaInstallation(D, Triple, Args), RocmInstallation(D, Triple, Args) {
30523052
getProgramPaths().push_back(getDriver().Dir);
3053+
/* SALINAS */
3054+
/* salinas */ fprintf(
3055+
stderr,
3056+
" +++++++++ Generic_GCC ctor ... about to call rocninstall init ...\n");
3057+
//RocmInstallation->init();
30533058
}
30543059

30553060
Generic_GCC::~Generic_GCC() {}

clang/lib/Driver/ToolChains/HIPAMD.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ void AMDGCN::Linker::ConstructJob(Compilation &C, const JobAction &JA,
250250

251251
HIPAMDToolChain::HIPAMDToolChain(const Driver &D, const llvm::Triple &Triple,
252252
const ToolChain &HostTC, const ArgList &Args)
253-
: ROCMToolChain(D, Triple, Args, HostTC.getTriple().isWindowsMSVCEnvironment()), HostTC(HostTC) {
253+
: ROCMToolChain(D, Triple, Args, HostTC.getTriple().isWindowsMSVCEnvironment()), HostTC(HostTC) { /* salinas */ fprintf(stderr,"DAVE: HIPAMDToolChain::HIPAMDToolChain() ...\n");
254254
// Lookup binaries into the driver directory, this is used to
255255
// discover the clang-offload-bundler executable.
256256
getProgramPaths().push_back(getDriver().Dir);
@@ -265,6 +265,7 @@ HIPAMDToolChain::HIPAMDToolChain(const Driver &D, const llvm::Triple &Triple,
265265
D.getDiags().Report(clang::diag::warn_drv_unsupported_option_for_target)
266266
<< A->getAsString(Args) << getTriple().str();
267267
}
268+
/* salinas */ fprintf(stderr, "DAVE: end of HIPAMDToolChain ctor\n");
268269
}
269270

270271
void HIPAMDToolChain::addClangTargetOptions(

clang/lib/Driver/ToolChains/MSVC.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -427,9 +427,12 @@ void visualstudio::Linker::ConstructJob(Compilation &C, const JobAction &JA,
427427
MSVCToolChain::MSVCToolChain(const Driver &D, const llvm::Triple &Triple,
428428
const ArgList &Args)
429429
: ToolChain(D, Triple, Args), CudaInstallation(D, Triple, Args),
430-
RocmInstallation(D, Triple, Args) {
431-
430+
RocmInstallation(D, Triple, Args) { /* salinas */ fprintf(stderr,"DAVE: MSVCToolChain::MSVCToolChain() ... \n");
431+
/* salnas */ fprintf(stderr,
432+
"DAVE in MSVCToolChain ctor calling setHostWindows()\n");
432433
RocmInstallation->setHostWindows(true);
434+
/* SALINAS */
435+
RocmInstallation->init();
433436

434437
getProgramPaths().push_back(getDriver().Dir);
435438

@@ -457,6 +460,7 @@ MSVCToolChain::MSVCToolChain(const Driver &D, const llvm::Triple &Triple,
457460
VCToolChainPath, VSLayout) ||
458461
llvm::findVCToolChainViaRegistry(VCToolChainPath, VSLayout);
459462

463+
/* salinas */ fprintf(stderr, "DAVE: end of MSVC ToolChain ctor\n");
460464
}
461465

462466
Tool *MSVCToolChain::buildLinker() const {

0 commit comments

Comments
 (0)