Skip to content

Commit a5e0194

Browse files
committed
Revert "Rename InlineFeatureAnalysis to FunctionPropertiesAnalysis"
This reverts commit 44a6bda. I forgot to correctly attibute it to tarinduj. Fixing and resubmitting.
1 parent 88ba9fa commit a5e0194

File tree

8 files changed

+27
-30
lines changed

8 files changed

+27
-30
lines changed

llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h renamed to llvm/include/llvm/Analysis/InlineFeaturesAnalysis.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
//=- FunctionPropertiesAnalysis.h - Function Properties extraction -*- C++ -=//
1+
//===- InlineFeaturesAnalysis.h - ML Policy Feature extraction -*- C++ -*-===//
22
//
33
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
44
// See https://llvm.org/LICENSE.txt for license information.
55
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#ifndef LLVM_FUNCTIONPROPERTIESANALYSIS_H_
10-
#define LLVM_FUNCTIONPROPERTIESANALYSIS_H_
9+
#ifndef LLVM_INLINEFEATURESANALYSIS_H_
10+
#define LLVM_INLINEFEATURESANALYSIS_H_
1111

1212
#include "llvm/IR/PassManager.h"
1313

1414
namespace llvm {
1515
class Function;
1616

17-
class FunctionPropertiesAnalysis
18-
: public AnalysisInfoMixin<FunctionPropertiesAnalysis> {
17+
class InlineFeaturesAnalysis
18+
: public AnalysisInfoMixin<InlineFeaturesAnalysis> {
1919
public:
2020
static AnalysisKey Key;
2121
struct Result {
@@ -42,4 +42,4 @@ class FunctionPropertiesAnalysis
4242
};
4343

4444
} // namespace llvm
45-
#endif // LLVM_FUNCTIONPROPERTIESANALYSIS_H_
45+
#endif // LLVM_INLINEFEATURESANALYSIS_H_

llvm/lib/Analysis/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ add_llvm_component_library(LLVMAnalysis
4949
DomTreeUpdater.cpp
5050
DominanceFrontier.cpp
5151
EHPersonalities.cpp
52-
FunctionPropertiesAnalysis.cpp
5352
GlobalsModRef.cpp
5453
GuardUtils.cpp
5554
HeatUtils.cpp
@@ -58,6 +57,7 @@ add_llvm_component_library(LLVMAnalysis
5857
IndirectCallPromotionAnalysis.cpp
5958
InlineCost.cpp
6059
InlineAdvisor.cpp
60+
InlineFeaturesAnalysis.cpp
6161
InlineSizeEstimatorAnalysis.cpp
6262
InstCount.cpp
6363
InstructionPrecedenceTracking.cpp

llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp renamed to llvm/lib/Analysis/InlineFeaturesAnalysis.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//===- FunctionPropertiesAnalysis.cpp - Function properties extraction ----===//
1+
//===- InlineFeaturesAnalysis.cpp - Feature extraction for ML Policies ----===//
22
//
33
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
44
// See https://llvm.org/LICENSE.txt for license information.
@@ -11,16 +11,15 @@
1111
//
1212
//===----------------------------------------------------------------------===//
1313

14-
#include "llvm/Analysis/FunctionPropertiesAnalysis.h"
14+
#include "llvm/Analysis/InlineFeaturesAnalysis.h"
1515
#include "llvm/IR/Instructions.h"
1616

1717
using namespace llvm;
1818

19-
AnalysisKey FunctionPropertiesAnalysis::Key;
19+
AnalysisKey InlineFeaturesAnalysis::Key;
2020

21-
FunctionPropertiesAnalysis::Result
22-
FunctionPropertiesAnalysis::run(const Function &F,
23-
FunctionAnalysisManager &FAM) {
21+
InlineFeaturesAnalysis::Result
22+
InlineFeaturesAnalysis::run(const Function &F, FunctionAnalysisManager &FAM) {
2423
Result Ret;
2524
Ret.Uses = ((!F.hasLocalLinkage()) ? 1 : 0) + F.getNumUses();
2625
for (const auto &BB : F) {

llvm/lib/Analysis/MLInlineAdvisor.cpp

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
#include "llvm/ADT/SCCIterator.h"
2222
#include "llvm/Analysis/CallGraph.h"
23-
#include "llvm/Analysis/FunctionPropertiesAnalysis.h"
2423
#include "llvm/Analysis/InlineCost.h"
24+
#include "llvm/Analysis/InlineFeaturesAnalysis.h"
2525
#include "llvm/Analysis/MLInlineAdvisor.h"
2626
#include "llvm/Analysis/MLModelRunner.h"
2727
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
@@ -118,8 +118,7 @@ void MLInlineAdvisor::onPassEntry() {
118118
}
119119

120120
int64_t MLInlineAdvisor::getLocalCalls(Function &F) {
121-
return FAM.getResult<FunctionPropertiesAnalysis>(F)
122-
.DirectCallsToDefinedFunctions;
121+
return FAM.getResult<InlineFeaturesAnalysis>(F).DirectCallsToDefinedFunctions;
123122
}
124123

125124
// Update the internal state of the advisor, and force invalidate feature
@@ -134,7 +133,7 @@ void MLInlineAdvisor::onSuccessfulInlining(const MLInlineAdvice &Advice,
134133
Function *Callee = Advice.getCallee();
135134

136135
// The caller features aren't valid anymore.
137-
FAM.invalidate<FunctionPropertiesAnalysis>(*Caller);
136+
FAM.invalidate<InlineFeaturesAnalysis>(*Caller);
138137
int64_t IRSizeAfter =
139138
getIRSize(*Caller) + (CalleeWasDeleted ? 0 : Advice.CalleeIRSize);
140139
CurrentIRSize += IRSizeAfter - (Advice.CallerIRSize + Advice.CalleeIRSize);
@@ -147,15 +146,14 @@ void MLInlineAdvisor::onSuccessfulInlining(const MLInlineAdvice &Advice,
147146
// For edges, we 'forget' the edges that the caller and callee used to have
148147
// before inlining, and add back what they currently have together.
149148
int64_t NewCallerAndCalleeEdges =
150-
FAM.getResult<FunctionPropertiesAnalysis>(*Caller)
149+
FAM.getResult<InlineFeaturesAnalysis>(*Caller)
151150
.DirectCallsToDefinedFunctions;
152151

153152
if (CalleeWasDeleted)
154153
--NodeCount;
155154
else
156-
NewCallerAndCalleeEdges +=
157-
FAM.getResult<FunctionPropertiesAnalysis>(*Callee)
158-
.DirectCallsToDefinedFunctions;
155+
NewCallerAndCalleeEdges += FAM.getResult<InlineFeaturesAnalysis>(*Callee)
156+
.DirectCallsToDefinedFunctions;
159157
EdgeCount += (NewCallerAndCalleeEdges - Advice.CallerAndCalleeEdges);
160158
assert(CurrentIRSize >= 0 && EdgeCount >= 0 && NodeCount >= 0);
161159
}
@@ -226,8 +224,8 @@ std::unique_ptr<InlineAdvice> MLInlineAdvisor::getAdvice(CallBase &CB) {
226224
NrCtantParams += (isa<Constant>(*I));
227225
}
228226

229-
auto &CallerBefore = FAM.getResult<FunctionPropertiesAnalysis>(Caller);
230-
auto &CalleeBefore = FAM.getResult<FunctionPropertiesAnalysis>(Callee);
227+
auto &CallerBefore = FAM.getResult<InlineFeaturesAnalysis>(Caller);
228+
auto &CalleeBefore = FAM.getResult<InlineFeaturesAnalysis>(Callee);
231229

232230
ModelRunner->setFeature(FeatureIndex::CalleeBasicBlockCount,
233231
CalleeBefore.BasicBlockCount);

llvm/lib/Passes/PassBuilder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@
3131
#include "llvm/Analysis/DemandedBits.h"
3232
#include "llvm/Analysis/DependenceAnalysis.h"
3333
#include "llvm/Analysis/DominanceFrontier.h"
34-
#include "llvm/Analysis/FunctionPropertiesAnalysis.h"
3534
#include "llvm/Analysis/GlobalsModRef.h"
3635
#include "llvm/Analysis/IVUsers.h"
3736
#include "llvm/Analysis/InlineAdvisor.h"
37+
#include "llvm/Analysis/InlineFeaturesAnalysis.h"
3838
#include "llvm/Analysis/InlineSizeEstimatorAnalysis.h"
3939
#include "llvm/Analysis/LazyCallGraph.h"
4040
#include "llvm/Analysis/LazyValueInfo.h"

llvm/lib/Passes/PassRegistry.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ FUNCTION_ANALYSIS("domfrontier", DominanceFrontierAnalysis())
132132
FUNCTION_ANALYSIS("loops", LoopAnalysis())
133133
FUNCTION_ANALYSIS("lazy-value-info", LazyValueAnalysis())
134134
FUNCTION_ANALYSIS("da", DependenceAnalysis())
135-
FUNCTION_ANALYSIS("func-properties", FunctionPropertiesAnalysis())
135+
FUNCTION_ANALYSIS("inliner-features", InlineFeaturesAnalysis())
136136
FUNCTION_ANALYSIS("inliner-size-estimator", InlineSizeEstimatorAnalysis())
137137
FUNCTION_ANALYSIS("memdep", MemoryDependenceAnalysis())
138138
FUNCTION_ANALYSIS("memoryssa", MemorySSAAnalysis())

llvm/unittests/Analysis/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ add_llvm_unittest_with_input_files(AnalysisTests
2727
DivergenceAnalysisTest.cpp
2828
DomTreeUpdaterTest.cpp
2929
GlobalsModRefTest.cpp
30-
FunctionPropertiesAnalysisTest.cpp
30+
InlineFeaturesAnalysisTest.cpp
3131
IVDescriptorsTest.cpp
3232
LazyCallGraphTest.cpp
3333
LoadsTest.cpp

llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp renamed to llvm/unittests/Analysis/InlineFeaturesAnalysisTest.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
//===- FunctionPropertiesAnalysisTest.cpp - function properties unit tests-===//
1+
//===- InlineFeaturesAnalysisTest.cpp - inline features unit tests --------===//
22
//
33
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
44
// See https://llvm.org/LICENSE.txt for license information.
55
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "llvm/Analysis/FunctionPropertiesAnalysis.h"
9+
#include "llvm/Analysis/InlineFeaturesAnalysis.h"
1010
#include "llvm/AsmParser/Parser.h"
1111
#include "llvm/IR/Instructions.h"
1212
#include "llvm/IR/LLVMContext.h"
@@ -24,7 +24,7 @@ static std::unique_ptr<Module> parseIR(LLVMContext &C, const char *IR) {
2424
return Mod;
2525
}
2626

27-
TEST(FunctionPropertiesTest, BasicTest) {
27+
TEST(InlineFeaturesTest, BasicTest) {
2828
LLVMContext C;
2929
std::unique_ptr<Module> M = parseIR(C,
3030
R"IR(
@@ -59,7 +59,7 @@ define internal i32 @top() {
5959
)IR");
6060

6161
FunctionAnalysisManager FAM;
62-
FunctionPropertiesAnalysis FA;
62+
InlineFeaturesAnalysis FA;
6363

6464
auto BranchesFeatures = FA.run(*M->getFunction("branches"), FAM);
6565
EXPECT_EQ(BranchesFeatures.BasicBlockCount, 4);

0 commit comments

Comments
 (0)