mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:40:38 +00:00
Revert "Support "preserving" the summary information when using setModule() API in LTOCodeGenerator"
This reverts commit r267657, r267656, and r267655. The test does not pass on multiple bots, I'm unsure why yet but let's unbreak them. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 267664
This commit is contained in:
parent
9d35c64dc2
commit
4c94cd20e1
@ -201,7 +201,6 @@ private:
|
||||
|
||||
LLVMContext &Context;
|
||||
std::unique_ptr<Module> MergedModule;
|
||||
bool MainModuleHasSummary = false;
|
||||
std::unique_ptr<Linker> TheLinker;
|
||||
std::unique_ptr<TargetMachine> TargetMach;
|
||||
bool EmitDwarfDebugInfo = false;
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
#include "llvm/Analysis/Passes.h"
|
||||
#include "llvm/Analysis/ModuleSummaryAnalysis.h"
|
||||
#include "llvm/Analysis/TargetLibraryInfo.h"
|
||||
#include "llvm/Analysis/TargetTransformInfo.h"
|
||||
#include "llvm/Bitcode/ReaderWriter.h"
|
||||
@ -146,7 +145,6 @@ void LTOCodeGenerator::setModule(std::unique_ptr<LTOModule> Mod) {
|
||||
|
||||
MergedModule = Mod->takeModule();
|
||||
TheLinker = make_unique<Linker>(*MergedModule);
|
||||
MainModuleHasSummary = Mod->isThinLTO();
|
||||
|
||||
const std::vector<const char*> &Undefs = Mod->getAsmUndefinedRefs();
|
||||
for (int I = 0, E = Undefs.size(); I != E; ++I)
|
||||
@ -211,13 +209,8 @@ bool LTOCodeGenerator::writeMergedModules(const char *Path) {
|
||||
return false;
|
||||
}
|
||||
|
||||
std::unique_ptr<ModuleSummaryIndex> Index;
|
||||
if (MainModuleHasSummary)
|
||||
Index = ModuleSummaryIndexBuilder(MergedModule.get()).takeIndex();
|
||||
|
||||
// write bitcode to it
|
||||
WriteBitcodeToFile(MergedModule.get(), Out.os(), ShouldEmbedUselists,
|
||||
Index.get());
|
||||
WriteBitcodeToFile(MergedModule.get(), Out.os(), ShouldEmbedUselists);
|
||||
Out.os().close();
|
||||
|
||||
if (Out.os().has_error()) {
|
||||
|
@ -1,37 +0,0 @@
|
||||
; RUN: opt -module-summary < %s > %t1
|
||||
; RUN: llvm-lto -save-merged-module -exported-symbol=_main -set-merged-module -o %t2 %t1
|
||||
; RUN: llvm-bcanalyzer -dump %t2.merged.bc | FileCheck %s
|
||||
; Verify that the module includes the ThinLTO informations
|
||||
; CHECK: GLOBALVAL_SUMMARY_BLOCK
|
||||
|
||||
|
||||
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-apple-macosx10.10.0"
|
||||
|
||||
define i32 @_Z3fooi(i32 %a) {
|
||||
entry:
|
||||
%a.addr = alloca i32, align 4
|
||||
store i32 %a, i32* %a.addr, align 4
|
||||
%0 = load i32, i32* %a.addr, align 4
|
||||
%1 = load i32, i32* %a.addr, align 4
|
||||
%call = call i32 @_Z4bar2i(i32 %1)
|
||||
%add = add nsw i32 %0, %call
|
||||
ret i32 %add
|
||||
}
|
||||
|
||||
define i32 @_Z4bar2i(i32 %a) {
|
||||
entry:
|
||||
%a.addr = alloca i32, align 4
|
||||
store i32 %a, i32* %a.addr, align 4
|
||||
%0 = load i32, i32* %a.addr, align 4
|
||||
%mul = mul nsw i32 2, %0
|
||||
ret i32 %mul
|
||||
}
|
||||
|
||||
define i32 @main() {
|
||||
entry:
|
||||
%retval = alloca i32, align 4
|
||||
store i32 0, i32* %retval
|
||||
%call = call i32 @_Z3fooi(i32 44)
|
||||
ret i32 %call
|
||||
}
|
Loading…
Reference in New Issue
Block a user