Skip to content

Commit 1f4948f

Browse files
committed
fix codegen opts
1 parent ee374ee commit 1f4948f

File tree

3 files changed

+2
-39
lines changed

3 files changed

+2
-39
lines changed

clang/lib/Interpreter/DeviceOffload.cpp

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ IncrementalCUDADeviceParser::IncrementalCUDADeviceParser(
3030
llvm::IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS,
3131
llvm::Error &Err, std::list<PartialTranslationUnit> &PTUs)
3232
: IncrementalParser(*DeviceInstance, Err), PTUs(PTUs), VFS(FS),
33-
CodeGenOpts(DeviceInstance->getCodeGenOpts()),
33+
CodeGenOpts(HostInstance.getCodeGenOpts()),
3434
TargetOpts(DeviceInstance->getTargetOpts()) {
3535
if (Err)
3636
return;
@@ -73,16 +73,6 @@ IncrementalCUDADeviceParser::Parse(llvm::StringRef Input) {
7373
return PTU;
7474
}
7575

76-
PartialTranslationUnit &
77-
IncrementalCUDADeviceParser::RegisterPTU(TranslationUnitDecl *TU) {
78-
llvm::errs() << "[CUDA] RegisterPTU called. TU = " << TU << "\n";
79-
PTUs.push_back(PartialTranslationUnit());
80-
llvm::errs() << "[CUDA] PTUs size after push: " << PTUs.size() << "\n";
81-
PartialTranslationUnit &LastPTU = PTUs.back();
82-
LastPTU.TUPart = TU;
83-
return LastPTU;
84-
}
85-
8676
llvm::Expected<llvm::StringRef> IncrementalCUDADeviceParser::GeneratePTX() {
8777
llvm::errs() << "[CUDA] Generating PTX. PTUs size: " << PTUs.size() << "\n";
8878
assert(!PTUs.empty() && "PTUs list is empty during PTX generation!");

clang/lib/Interpreter/DeviceOffload.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,6 @@ class IncrementalCUDADeviceParser : public IncrementalParser {
4141
// Generate fatbinary contents in memory
4242
llvm::Error GenerateFatbinary();
4343

44-
PartialTranslationUnit &RegisterPTU(TranslationUnitDecl *TU);
45-
// llvm::Expected<TranslationUnitDecl *> Parse(llvm::StringRef Input) override;
46-
4744
~IncrementalCUDADeviceParser();
4845

4946
protected:

clang/lib/Interpreter/Interpreter.cpp

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -572,32 +572,8 @@ Interpreter::Parse(llvm::StringRef Code) {
572572
auto *CudaParser = llvm::cast<IncrementalCUDADeviceParser>(DeviceParser.get());
573573
llvm::errs() << "[CUDA] Registering device PTU...\n";
574574

575-
PartialTranslationUnit &DevicePTU = CudaParser->RegisterPTU(*DeviceTU);
576-
FrontendAction *WrappedAct = Act->getWrapped();
577-
if (!WrappedAct->hasIRSupport()) {
578-
llvm::errs() << "[CUDA] Error: WrappedAct has no IR support!\n";
579-
return llvm::make_error<llvm::StringError>(
580-
"Device action has no IR support", llvm::inconvertibleErrorCode());
581-
}
575+
PartialTranslationUnit &DevicePTU = RegisterPTU(*DeviceTU);
582576

583-
CodeGenerator *CG = static_cast<CodeGenAction *>(WrappedAct)->getCodeGenerator();
584-
if (!CG) {
585-
llvm::errs() << "[CUDA] Error: CodeGen is null!\n";
586-
return llvm::make_error<llvm::StringError>(
587-
"Device CodeGen is null", llvm::inconvertibleErrorCode());
588-
}
589-
std::unique_ptr<llvm::Module> M(CG->ReleaseModule());
590-
if (!M) {
591-
llvm::errs() << "[CUDA] Error: Released module is null!\n";
592-
return llvm::make_error<llvm::StringError>(
593-
"Device LLVM module is null", llvm::inconvertibleErrorCode());
594-
}
595-
static unsigned ID = 0;
596-
CG->StartModule("incr_module_" + std::to_string(ID++), M->getContext());
597-
DevicePTU.TheModule = std::move(M);
598-
llvm::errs() << "[CUDA] Assigned LLVM module to DevicePTU\n";
599-
llvm::errs() << "[CUDA] Registered device PTU. TUPart=" << DevicePTU.TUPart << "\n";
600-
llvm::errs() << "[CUDA] Generating PTX...\n";
601577
llvm::Expected<llvm::StringRef> PTX = CudaParser->GeneratePTX();
602578
if (!PTX)
603579
return PTX.takeError();

0 commit comments

Comments
 (0)