mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-26 23:24:34 +00:00
Add support for optimization reports.
Summary: This patch adds backend support for -Rpass=, which indicates the name of the optimization pass that should emit remarks stating when it made a transformation to the code. Pass names are taken from their DEBUG_NAME definitions. When emitting an optimization report diagnostic, the lack of debug information causes the diagnostic to use "<unknown>:0:0" as the location string. This is the back end counterpart for http://llvm-reviews.chandlerc.com/D3226 Reviewers: qcolombet CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D3227 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205774 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -21,6 +21,7 @@
|
||||
#include "llvm/Analysis/InlineCost.h"
|
||||
#include "llvm/IR/CallSite.h"
|
||||
#include "llvm/IR/DataLayout.h"
|
||||
#include "llvm/IR/DiagnosticInfo.h"
|
||||
#include "llvm/IR/Instructions.h"
|
||||
#include "llvm/IR/IntrinsicInst.h"
|
||||
#include "llvm/IR/Module.h"
|
||||
@ -522,7 +523,12 @@ bool Inliner::runOnSCC(CallGraphSCC &SCC) {
|
||||
InlineHistoryID, InsertLifetime, DL))
|
||||
continue;
|
||||
++NumInlined;
|
||||
|
||||
|
||||
// Report the inline decision.
|
||||
Caller->getContext().emitOptimizationRemark(
|
||||
DEBUG_TYPE, *Caller, CS.getInstruction()->getDebugLoc(),
|
||||
Twine(Callee->getName() + " inlined into " + Caller->getName()));
|
||||
|
||||
// If inlining this function gave us any new call sites, throw them
|
||||
// onto our worklist to process. They are useful inline candidates.
|
||||
if (!InlineInfo.InlinedCalls.empty()) {
|
||||
|
Reference in New Issue
Block a user