Skip to content

Commit a270c66

Browse files
author
Mikhail Gudim
committed
addressed review comments and updated tests.
1 parent d185f6a commit a270c66

File tree

8 files changed

+19
-13
lines changed

8 files changed

+19
-13
lines changed

llvm/include/llvm/CodeGen/ReachingDefAnalysis.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -344,13 +344,11 @@ class ReachingDefInfoWrapperPass : public MachineFunctionPass {
344344
ReachingDefInfoWrapperPass();
345345

346346
void getAnalysisUsage(AnalysisUsage &AU) const override;
347-
347+
MachineFunctionProperties getRequiredProperties() const override;
348348
bool runOnMachineFunction(MachineFunction &F) override;
349-
350349
void releaseMemory() override { RDI.releaseMemory(); }
351350

352351
ReachingDefInfo &getRDI() { return RDI; }
353-
354352
const ReachingDefInfo &getRDI() const { return RDI; }
355353
};
356354

llvm/include/llvm/Passes/MachinePassRegistry.def

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,9 @@ MACHINE_FUNCTION_ANALYSIS("machine-post-dom-tree",
8282
MACHINE_FUNCTION_ANALYSIS("machine-trace-metrics", MachineTraceMetricsAnalysis())
8383
MACHINE_FUNCTION_ANALYSIS("machine-uniformity", MachineUniformityAnalysis())
8484
MACHINE_FUNCTION_ANALYSIS("pass-instrumentation", PassInstrumentationAnalysis(PIC))
85+
MACHINE_FUNCTION_ANALYSIS("reaching-def", ReachingDefAnalysis())
8586
MACHINE_FUNCTION_ANALYSIS("regalloc-evict", RegAllocEvictionAdvisorAnalysis())
8687
MACHINE_FUNCTION_ANALYSIS("regalloc-priority", RegAllocPriorityAdvisorAnalysis())
87-
MACHINE_FUNCTION_ANALYSIS("reaching-def",
88-
ReachingDefAnalysis())
8988
MACHINE_FUNCTION_ANALYSIS("slot-indexes", SlotIndexesAnalysis())
9089
MACHINE_FUNCTION_ANALYSIS("spill-code-placement", SpillPlacementAnalysis())
9190
MACHINE_FUNCTION_ANALYSIS("virtregmap", VirtRegMapAnalysis())
@@ -152,9 +151,9 @@ MACHINE_FUNCTION_PASS("print<machine-post-dom-tree>",
152151
MachinePostDominatorTreePrinterPass(errs()))
153152
MACHINE_FUNCTION_PASS("print<machine-uniformity>",
154153
MachineUniformityPrinterPass(errs()))
154+
MACHINE_FUNCTION_PASS("print<reaching-def>", ReachingDefPrinterPass(errs()))
155155
MACHINE_FUNCTION_PASS("print<slot-indexes>", SlotIndexesPrinterPass(errs()))
156156
MACHINE_FUNCTION_PASS("print<virtregmap>", VirtRegMapPrinterPass(errs()))
157-
MACHINE_FUNCTION_PASS("print<reaching-def>", ReachingDefPrinterPass(errs()))
158157
MACHINE_FUNCTION_PASS("process-imp-defs", ProcessImplicitDefsPass())
159158
MACHINE_FUNCTION_PASS("prolog-epilog", PrologEpilogInserterPass())
160159
MACHINE_FUNCTION_PASS("reg-usage-collector", RegUsageInfoCollectorPass())

llvm/lib/CodeGen/ReachingDefAnalysis.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ ReachingDefAnalysis::run(MachineFunction &MF,
3333
PreservedAnalyses
3434
ReachingDefPrinterPass::run(MachineFunction &MF,
3535
MachineFunctionAnalysisManager &MFAM) {
36+
MFPropsModifier _(*this, MF);
37+
3638
auto &RDI = MFAM.getResult<ReachingDefAnalysis>(MF);
3739
OS << "Reaching definitions for for machine function: " << MF.getName()
3840
<< '\n';
@@ -70,6 +72,11 @@ void ReachingDefInfoWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const {
7072
MachineFunctionPass::getAnalysisUsage(AU);
7173
}
7274

75+
MachineFunctionProperties
76+
ReachingDefInfoWrapperPass::getRequiredProperties() const {
77+
return MachineFunctionProperties().setNoVRegs();
78+
}
79+
7380
static bool isValidReg(const MachineOperand &MO) {
7481
return MO.isReg() && MO.getReg();
7582
}

llvm/test/CodeGen/ARM/O3-pipeline.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@
162162
; CHECK-NEXT: Machine Copy Propagation Pass
163163
; CHECK-NEXT: Post-RA pseudo instruction expansion pass
164164
; CHECK-NEXT: ARM load / store optimization pass
165-
; CHECK-NEXT: ReachingDefAnalysis
165+
; CHECK-NEXT: Reaching Definitions Analysis
166166
; CHECK-NEXT: ARM Execution Domain Fix
167167
; CHECK-NEXT: BreakFalseDeps
168168
; CHECK-NEXT: ARM pseudo instruction expansion pass
@@ -204,14 +204,14 @@
204204
; CHECK-NEXT: Lazy Machine Block Frequency Analysis
205205
; CHECK-NEXT: Machine Optimization Remark Emitter
206206
; CHECK-NEXT: Stack Frame Layout Analysis
207-
; CHECK-NEXT: ReachingDefAnalysis
207+
; CHECK-NEXT: Reaching Definitions Analysis
208208
; CHECK-NEXT: ARM fix for Cortex-A57 AES Erratum 1742098
209209
; CHECK-NEXT: ARM Branch Targets
210210
; CHECK-NEXT: MachineDominator Tree Construction
211211
; CHECK-NEXT: ARM constant island placement and branch shortening pass
212212
; CHECK-NEXT: MachineDominator Tree Construction
213213
; CHECK-NEXT: Machine Natural Loop Construction
214-
; CHECK-NEXT: ReachingDefAnalysis
214+
; CHECK-NEXT: Reaching Definitions Analysis
215215
; CHECK-NEXT: ARM Low Overhead Loops pass
216216
; CHECK-NEXT: Lazy Machine Block Frequency Analysis
217217
; CHECK-NEXT: Machine Optimization Remark Emitter

llvm/test/CodeGen/RISCV/rda-stack.mir

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# RUN: llc %s -mtriple=riscv64 -run-pass=reaching-defs-analysis -print-all-reaching-defs -o - 2>&1 | FileCheck %s
1+
# RUN: llc %s -mtriple=riscv64 --passes='print<reaching-def>' -o - 2>&1 | FileCheck %s
22

33
---
44
name: test0

llvm/test/CodeGen/SystemZ/rda-stack-copy.mir

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# RUN: llc %s -mtriple=s390x-linux-gnu -run-pass=reaching-defs-analysis -print-all-reaching-defs -o - 2>&1 | FileCheck %s
1+
# RUN: llc %s -mtriple=s390x-linux-gnu --passes='print<reaching-def>' -o - 2>&1 | FileCheck %s
22

33
---
44
name: test0

llvm/test/CodeGen/X86/opt-pipeline.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@
195195
; CHECK-NEXT: Insert fentry calls
196196
; CHECK-NEXT: Insert XRay ops
197197
; CHECK-NEXT: Implement the 'patchable-function' attribute
198-
; CHECK-NEXT: ReachingDefAnalysis
198+
; CHECK-NEXT: Reaching Definitions Analysis
199199
; CHECK-NEXT: X86 Execution Dependency Fix
200200
; CHECK-NEXT: BreakFalseDeps
201201
; CHECK-NEXT: X86 Indirect Branch Tracking

llvm/test/CodeGen/X86/print-reaching-defs.mir

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# RUN: llc --passes='print<reaching-def>' -filetype=null 2>&1 %s | FileCheck %s
1+
# RUN: llc -mtriple=x86_64-unknown-unknown \
2+
# RUN: --passes='print<reaching-def>' \
3+
# RUN: -filetype=null 2>&1 %s | FileCheck %s
24

35
---
46
name: is_odd

0 commit comments

Comments
 (0)