mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-26 21:56:11 +00:00
[NewPM][PassInstrumentation] IR printing support for (Thin)LTO
Summary: IR printing has not been correctly supported with (Thin)LTO if the new pass manager is enabled. Previously we only get outputs from backend(codegen) passes, as they are still under legacy pass manager even when the new pass manager is enabled. This patch addresses the issue and enables IR printing for optimization passes with new pass manager + (Thin)LTO setting. Reviewers: fedor.sergeev, philip.pfaffe Subscribers: mehdi_amini, inglorion, hiraditya, steven_wu, dexonsmith, dang, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66253 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369024 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
de920afcf3
commit
49aed1565e
@ -28,6 +28,7 @@
|
||||
#include "llvm/MC/SubtargetFeature.h"
|
||||
#include "llvm/Object/ModuleSymbolTable.h"
|
||||
#include "llvm/Passes/PassBuilder.h"
|
||||
#include "llvm/Passes/StandardInstrumentations.h"
|
||||
#include "llvm/Support/Error.h"
|
||||
#include "llvm/Support/FileSystem.h"
|
||||
#include "llvm/Support/MemoryBuffer.h"
|
||||
@ -165,7 +166,10 @@ static void runNewPMPasses(Config &Conf, Module &Mod, TargetMachine *TM,
|
||||
PGOOptions::IRUse, PGOOptions::CSIRUse);
|
||||
}
|
||||
|
||||
PassBuilder PB(TM, PipelineTuningOptions(), PGOOpt);
|
||||
PassInstrumentationCallbacks PIC;
|
||||
StandardInstrumentations SI;
|
||||
SI.registerCallbacks(PIC);
|
||||
PassBuilder PB(TM, PipelineTuningOptions(),PGOOpt, &PIC);
|
||||
AAManager AA;
|
||||
|
||||
// Parse a custom AA pipeline if asked to.
|
||||
|
12
test/ThinLTO/X86/printer.ll
Normal file
12
test/ThinLTO/X86/printer.ll
Normal file
@ -0,0 +1,12 @@
|
||||
; RUN: llvm-as %s -o %t.bc
|
||||
; RUN: llvm-lto2 run -r=%t.bc,foo,pxl -use-new-pm --print-before-all %t.bc -o - 2>&1 | FileCheck %s --check-prefix=CHECK-BEFORE
|
||||
; RUN: llvm-lto2 run -r=%t.bc,foo,pxl -use-new-pm --print-after-all %t.bc -o - 2>&1 | FileCheck %s --check-prefix=CHECK-AFTER
|
||||
; CHECK-BEFORE: *** IR Dump Before GlobalDCEPass ***
|
||||
; CHECK-AFTER: *** IR Dump After GlobalDCEPass ***
|
||||
|
||||
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-unknown-linux-gnu"
|
||||
|
||||
define i32 @foo() {
|
||||
ret i32 42
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user