Skip to content

Commit 7ed30f8

Browse files
committed
Removing the changes from ThinLTO
1 parent 1ecbeb9 commit 7ed30f8

File tree

2 files changed

+21
-16
lines changed

2 files changed

+21
-16
lines changed

flang/lib/Frontend/FrontendActions.cpp

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1023,10 +1023,6 @@ void CodeGenAction::runOptimizationPipeline(llvm::raw_pwrite_stream &os) {
10231023
// except for ld64 targets.
10241024
bool emitSummary = (opts.PrepareForThinLTO || opts.PrepareForFullLTO) &&
10251025
(triple.getVendor() != llvm::Triple::Apple);
1026-
1027-
if (emitSummary && !opts.PrepareForThinLTO)
1028-
llvmModule->addModuleFlag(llvm::Module::Error, "ThinLTO", uint32_t(0));
1029-
10301026
if (opts.PrepareForFatLTO)
10311027
mpm = pb.buildFatLTODefaultPipeline(level, opts.PrepareForThinLTO,
10321028
emitSummary);
@@ -1037,12 +1033,27 @@ void CodeGenAction::runOptimizationPipeline(llvm::raw_pwrite_stream &os) {
10371033
else
10381034
mpm = pb.buildPerModuleDefaultPipeline(level);
10391035

1040-
if (action == BackendActionTy::Backend_EmitBC)
1041-
mpm.addPass(llvm::BitcodeWriterPass(
1042-
os, /*ShouldPreserveUseListOrder=*/false, emitSummary));
1043-
else if (action == BackendActionTy::Backend_EmitLL)
1044-
mpm.addPass(llvm::PrintModulePass(
1045-
os, /*Banner=*/"", /*ShouldPreserveUseListOrder=*/false, emitSummary));
1036+
if (action == BackendActionTy::Backend_EmitBC ||
1037+
action == BackendActionTy::Backend_EmitLL || opts.PrepareForFatLTO) {
1038+
if (opts.PrepareForThinLTO) {
1039+
// TODO: ThinLTO module summary support is yet to be enabled.
1040+
if (action == BackendActionTy::Backend_EmitBC)
1041+
mpm.addPass(llvm::BitcodeWriterPass(os));
1042+
else if (action == BackendActionTy::Backend_EmitLL)
1043+
mpm.addPass(llvm::PrintModulePass(os));
1044+
} else {
1045+
if (emitSummary && !llvmModule->getModuleFlag("ThinLTO"))
1046+
llvmModule->addModuleFlag(llvm::Module::Error, "ThinLTO",
1047+
uint32_t(0));
1048+
if (action == BackendActionTy::Backend_EmitBC)
1049+
mpm.addPass(llvm::BitcodeWriterPass(
1050+
os, /*ShouldPreserveUseListOrder=*/false, emitSummary));
1051+
else if (action == BackendActionTy::Backend_EmitLL)
1052+
mpm.addPass(llvm::PrintModulePass(os, /*Banner=*/"",
1053+
/*ShouldPreserveUseListOrder=*/false,
1054+
emitSummary));
1055+
}
1056+
}
10461057

10471058
// FIXME: This should eventually be replaced by a first-class driver option.
10481059
// This should be done for both flang and clang simultaneously.

flang/test/Driver/lto-bc.f90

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,7 @@
1212
! CHECK-NOT: ^{{.*}} = blockcount:
1313

1414
! RUN: %flang -flto=thin %s -c -o - | llvm-dis -o - | FileCheck %s --check-prefix=THIN
15-
! THIN: define void @_QQmain()
16-
! THIN-NEXT: ret void
17-
! THIN-NEXT: }
1815
! THIN-NOT: !{{.*}} = !{i32 1, !"ThinLTO", i32 0}
19-
! THIN: ^{{.*}} = module:
20-
! THIN: ^{{.*}} = gv: (name:
21-
! THIN: ^{{.*}} = blockcount:
2216

2317
! RUN: %flang -flto %s -c -o - | llvm-dis -o - | FileCheck %s --check-prefix=FULL
2418
! FULL: define void @_QQmain()

0 commit comments

Comments
 (0)