1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01: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:
Mehdi Amini 2016-04-27 03:34:28 +00:00
parent 9d35c64dc2
commit 4c94cd20e1
3 changed files with 1 additions and 46 deletions

View File

@ -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;

View File

@ -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()) {

View File

@ -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
}