Skip to content

Commit 5176173

Browse files
committed
Rename ConsumedReturnValueToEpilogueRetainMatcher.
Rename to ConsumedResultToEpilogueRetainMatcher Also remove some dead code in ConsumedResultToEpilogueRetainMatcher. NFC.
1 parent 0f53348 commit 5176173

File tree

4 files changed

+16
-30
lines changed

4 files changed

+16
-30
lines changed

include/swift/SILOptimizer/Analysis/ARCAnalysis.h

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,8 @@ valueHasARCDecrementOrCheckInInstructionRange(SILValue Op,
110110
/// retains for a specific function.
111111
///
112112
/// TODO: This really needs a better name.
113-
class ConsumedReturnValueToEpilogueRetainMatcher {
113+
class ConsumedResultToEpilogueRetainMatcher {
114114
public:
115-
enum class ExitKind { Return, Throw };
116-
117115
/// The state on how retains are found in a basic block.
118116
enum class FindRetainKind {
119117
None, ///< Did not find a retain.
@@ -128,18 +126,16 @@ class ConsumedReturnValueToEpilogueRetainMatcher {
128126
SILFunction *F;
129127
RCIdentityFunctionInfo *RCFI;
130128
AliasAnalysis *AA;
131-
ExitKind Kind;
132129
// We use a list of instructions for now so that we can keep the same interface
133130
// and handle exploded retain_value later.
134131
RetainList EpilogueRetainInsts;
135132
bool HasBlock = false;
136133

137134
public:
138135
/// Finds matching releases in the return block of the function \p F.
139-
ConsumedReturnValueToEpilogueRetainMatcher(RCIdentityFunctionInfo *RCFI,
140-
AliasAnalysis *AA,
141-
SILFunction *F,
142-
ExitKind Kind = ExitKind::Return);
136+
ConsumedResultToEpilogueRetainMatcher(RCIdentityFunctionInfo *RCFI,
137+
AliasAnalysis *AA,
138+
SILFunction *F);
143139

144140
/// Finds matching releases in the provided block \p BB.
145141
void findMatchingRetains(SILBasicBlock *BB);

lib/SILOptimizer/Analysis/ARCAnalysis.cpp

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -452,29 +452,19 @@ mayGuaranteedUseValue(SILInstruction *User, SILValue Ptr, AliasAnalysis *AA) {
452452
//===----------------------------------------------------------------------===//
453453
// Owned Argument Utilities
454454
//===----------------------------------------------------------------------===//
455-
ConsumedReturnValueToEpilogueRetainMatcher::
456-
ConsumedReturnValueToEpilogueRetainMatcher(RCIdentityFunctionInfo *RCFI,
457-
AliasAnalysis *AA,
458-
SILFunction *F,
459-
ExitKind Kind)
460-
: F(F), RCFI(RCFI), AA(AA), Kind(Kind) {
455+
ConsumedResultToEpilogueRetainMatcher::
456+
ConsumedResultToEpilogueRetainMatcher(RCIdentityFunctionInfo *RCFI,
457+
AliasAnalysis *AA,
458+
SILFunction *F)
459+
: F(F), RCFI(RCFI), AA(AA) {
461460
recompute();
462461
}
463462

464-
void ConsumedReturnValueToEpilogueRetainMatcher::recompute() {
463+
void ConsumedResultToEpilogueRetainMatcher::recompute() {
465464
EpilogueRetainInsts.clear();
466465

467466
// Find the return BB of F. If we fail, then bail.
468-
SILFunction::iterator BB;
469-
switch (Kind) {
470-
case ExitKind::Return:
471-
BB = F->findReturnBB();
472-
break;
473-
case ExitKind::Throw:
474-
BB = F->findThrowBB();
475-
break;
476-
}
477-
467+
SILFunction::iterator BB = F->findReturnBB();
478468
if (BB == F->end()) {
479469
HasBlock = false;
480470
return;
@@ -484,7 +474,7 @@ void ConsumedReturnValueToEpilogueRetainMatcher::recompute() {
484474
}
485475

486476
void
487-
ConsumedReturnValueToEpilogueRetainMatcher::
477+
ConsumedResultToEpilogueRetainMatcher::
488478
findMatchingRetains(SILBasicBlock *BB) {
489479
// Iterate over the instructions post-order and find retains associated with
490480
// return value.
@@ -594,8 +584,8 @@ findMatchingRetains(SILBasicBlock *BB) {
594584
// all the post-dominating epilogue retains.
595585
}
596586

597-
ConsumedReturnValueToEpilogueRetainMatcher::RetainKindValue
598-
ConsumedReturnValueToEpilogueRetainMatcher::
587+
ConsumedResultToEpilogueRetainMatcher::RetainKindValue
588+
ConsumedResultToEpilogueRetainMatcher::
599589
findMatchingRetainsInner(SILBasicBlock *BB, SILValue V) {
600590
for (auto II = BB->rbegin(), IE = BB->rend(); II != IE; ++II) {
601591
// Handle self-recursion.

lib/SILOptimizer/IPO/FunctionSignatureOpts.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -648,7 +648,7 @@ bool SignatureAnalyzer::analyze() {
648648
ResultDescList[0].hasConvention(ResultConvention::Owned)) {
649649
auto &RI = ResultDescList[0];
650650
// We have an @owned return value, find the epilogue retains now.
651-
ConsumedReturnValueToEpilogueRetainMatcher RVToReturnRetainMap(RCIA, AA, F);
651+
ConsumedResultToEpilogueRetainMatcher RVToReturnRetainMap(RCIA, AA, F);
652652
auto Retains = RVToReturnRetainMap.getEpilogueRetains();
653653
// We do not need to worry about the throw block, as the return value is only
654654
// going to be used in the return block/normal block of the try_apply instruction.

lib/SILOptimizer/UtilityPasses/EpilogueRetainReleaseMatcherDumper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class SILEpilogueRetainReleaseMatcherDumper : public SILModuleTransform {
4949
llvm::outs() << "START: sil @" << Fn.getName() << "\n";
5050

5151
// Handle @owned return value.
52-
ConsumedReturnValueToEpilogueRetainMatcher RetMap(RCIA->get(&Fn), AA, &Fn);
52+
ConsumedResultToEpilogueRetainMatcher RetMap(RCIA->get(&Fn), AA, &Fn);
5353
for (auto &RI : RetMap)
5454
llvm::outs() << *RI;
5555

0 commit comments

Comments
 (0)