Skip to content

Commit 858c75f

Browse files
committed
[Attributor][NFC] Directly return proper type to avoid casts
1 parent b27bdf9 commit 858c75f

File tree

2 files changed

+20
-42
lines changed

2 files changed

+20
-42
lines changed

llvm/include/llvm/Transforms/IPO/Attributor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2013,7 +2013,7 @@ struct StateWrapper : public BaseType, public StateTy {
20132013
StateType &getState() override { return *this; }
20142014

20152015
/// See AbstractAttribute::getState(...).
2016-
const AbstractState &getState() const override { return *this; }
2016+
const StateType &getState() const override { return *this; }
20172017
};
20182018

20192019
/// Helper class that provides common functionality to manifest IR attributes.
@@ -3302,7 +3302,7 @@ struct AAValueConstantRange
33023302

33033303
/// See AbstractAttribute::getState(...).
33043304
IntegerRangeState &getState() override { return *this; }
3305-
const AbstractState &getState() const override { return *this; }
3305+
const IntegerRangeState &getState() const override { return *this; }
33063306

33073307
/// Create an abstract attribute view for the position \p IRP.
33083308
static AAValueConstantRange &createForPosition(const IRPosition &IRP,

llvm/lib/Transforms/IPO/AttributorAttributes.cpp

Lines changed: 18 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ static void clampReturnedValueStates(Attributor &A, const AAType &QueryingAA,
449449
const AAType &AA = A.getAAFor<AAType>(QueryingAA, RVPos);
450450
LLVM_DEBUG(dbgs() << "[Attributor] RV: " << RV << " AA: " << AA.getAsStr()
451451
<< " @ " << RVPos << "\n");
452-
const StateType &AAS = static_cast<const StateType &>(AA.getState());
452+
const StateType &AAS = AA.getState();
453453
if (T.hasValue())
454454
*T &= AAS;
455455
else
@@ -511,7 +511,7 @@ static void clampCallSiteArgumentStates(Attributor &A, const AAType &QueryingAA,
511511
const AAType &AA = A.getAAFor<AAType>(QueryingAA, ACSArgPos);
512512
LLVM_DEBUG(dbgs() << "[Attributor] ACS: " << *ACS.getInstruction()
513513
<< " AA: " << AA.getAsStr() << " @" << ACSArgPos << "\n");
514-
const StateType &AAS = static_cast<const StateType &>(AA.getState());
514+
const StateType &AAS = AA.getState();
515515
if (T.hasValue())
516516
*T &= AAS;
517517
else
@@ -568,8 +568,7 @@ struct AACallSiteReturnedFromReturned : public BaseType {
568568

569569
IRPosition FnPos = IRPosition::returned(*AssociatedFunction);
570570
const AAType &AA = A.getAAFor<AAType>(*this, FnPos);
571-
return clampStateAndIndicateChange(
572-
S, static_cast<const StateType &>(AA.getState()));
571+
return clampStateAndIndicateChange(S, AA.getState());
573572
}
574573
};
575574

@@ -749,9 +748,7 @@ struct AANoUnwindCallSite final : AANoUnwindImpl {
749748
Function *F = getAssociatedFunction();
750749
const IRPosition &FnPos = IRPosition::function(*F);
751750
auto &FnAA = A.getAAFor<AANoUnwind>(*this, FnPos);
752-
return clampStateAndIndicateChange(
753-
getState(),
754-
static_cast<const AANoUnwind::StateType &>(FnAA.getState()));
751+
return clampStateAndIndicateChange(getState(), FnAA.getState());
755752
}
756753

757754
/// See AbstractAttribute::trackStatistics()
@@ -1401,8 +1398,7 @@ struct AANoSyncCallSite final : AANoSyncImpl {
14011398
Function *F = getAssociatedFunction();
14021399
const IRPosition &FnPos = IRPosition::function(*F);
14031400
auto &FnAA = A.getAAFor<AANoSync>(*this, FnPos);
1404-
return clampStateAndIndicateChange(
1405-
getState(), static_cast<const AANoSync::StateType &>(FnAA.getState()));
1401+
return clampStateAndIndicateChange(getState(), FnAA.getState());
14061402
}
14071403

14081404
/// See AbstractAttribute::trackStatistics()
@@ -1467,8 +1463,7 @@ struct AANoFreeCallSite final : AANoFreeImpl {
14671463
Function *F = getAssociatedFunction();
14681464
const IRPosition &FnPos = IRPosition::function(*F);
14691465
auto &FnAA = A.getAAFor<AANoFree>(*this, FnPos);
1470-
return clampStateAndIndicateChange(
1471-
getState(), static_cast<const AANoFree::StateType &>(FnAA.getState()));
1466+
return clampStateAndIndicateChange(getState(), FnAA.getState());
14721467
}
14731468

14741469
/// See AbstractAttribute::trackStatistics()
@@ -1550,8 +1545,7 @@ struct AANoFreeCallSiteArgument final : AANoFreeFloating {
15501545
return indicatePessimisticFixpoint();
15511546
const IRPosition &ArgPos = IRPosition::argument(*Arg);
15521547
auto &ArgAA = A.getAAFor<AANoFree>(*this, ArgPos);
1553-
return clampStateAndIndicateChange(
1554-
getState(), static_cast<const AANoFree::StateType &>(ArgAA.getState()));
1548+
return clampStateAndIndicateChange(getState(), ArgAA.getState());
15551549
}
15561550

15571551
/// See AbstractAttribute::trackStatistics()
@@ -1769,8 +1763,7 @@ struct AANonNullFloating : public AANonNullImpl {
17691763
T.indicatePessimisticFixpoint();
17701764
} else {
17711765
// Use abstract attribute information.
1772-
const AANonNull::StateType &NS =
1773-
static_cast<const AANonNull::StateType &>(AA.getState());
1766+
const AANonNull::StateType &NS = AA.getState();
17741767
T ^= NS;
17751768
}
17761769
return T.isValidState();
@@ -1924,9 +1917,7 @@ struct AANoRecurseCallSite final : AANoRecurseImpl {
19241917
Function *F = getAssociatedFunction();
19251918
const IRPosition &FnPos = IRPosition::function(*F);
19261919
auto &FnAA = A.getAAFor<AANoRecurse>(*this, FnPos);
1927-
return clampStateAndIndicateChange(
1928-
getState(),
1929-
static_cast<const AANoRecurse::StateType &>(FnAA.getState()));
1920+
return clampStateAndIndicateChange(getState(), FnAA.getState());
19301921
}
19311922

19321923
/// See AbstractAttribute::trackStatistics()
@@ -2339,9 +2330,7 @@ struct AAWillReturnCallSite final : AAWillReturnImpl {
23392330
Function *F = getAssociatedFunction();
23402331
const IRPosition &FnPos = IRPosition::function(*F);
23412332
auto &FnAA = A.getAAFor<AAWillReturn>(*this, FnPos);
2342-
return clampStateAndIndicateChange(
2343-
getState(),
2344-
static_cast<const AAWillReturn::StateType &>(FnAA.getState()));
2333+
return clampStateAndIndicateChange(getState(), FnAA.getState());
23452334
}
23462335

23472336
/// See AbstractAttribute::trackStatistics()
@@ -2735,8 +2724,7 @@ struct AANoAliasCallSiteReturned final : AANoAliasImpl {
27352724
Function *F = getAssociatedFunction();
27362725
const IRPosition &FnPos = IRPosition::returned(*F);
27372726
auto &FnAA = A.getAAFor<AANoAlias>(*this, FnPos);
2738-
return clampStateAndIndicateChange(
2739-
getState(), static_cast<const AANoAlias::StateType &>(FnAA.getState()));
2727+
return clampStateAndIndicateChange(getState(), FnAA.getState());
27402728
}
27412729

27422730
/// See AbstractAttribute::trackStatistics()
@@ -2926,8 +2914,7 @@ struct AAIsDeadCallSiteArgument : public AAIsDeadValueImpl {
29262914
return indicatePessimisticFixpoint();
29272915
const IRPosition &ArgPos = IRPosition::argument(*Arg);
29282916
auto &ArgAA = A.getAAFor<AAIsDead>(*this, ArgPos);
2929-
return clampStateAndIndicateChange(
2930-
getState(), static_cast<const AAIsDead::StateType &>(ArgAA.getState()));
2917+
return clampStateAndIndicateChange(getState(), ArgAA.getState());
29312918
}
29322919

29332920
/// See AbstractAttribute::manifest(...).
@@ -3547,7 +3534,7 @@ struct AADereferenceableFloating : AADereferenceableImpl {
35473534
DerefBytes = Base->getPointerDereferenceableBytes(DL, CanBeNull);
35483535
T.GlobalState.indicatePessimisticFixpoint();
35493536
} else {
3550-
const DerefState &DS = static_cast<const DerefState &>(AA.getState());
3537+
const DerefState &DS = AA.getState();
35513538
DerefBytes = DS.DerefBytesState.getAssumed();
35523539
T.GlobalState &= DS.GlobalState;
35533540
}
@@ -3829,8 +3816,7 @@ struct AAAlignFloating : AAAlignImpl {
38293816
T.indicatePessimisticFixpoint();
38303817
} else {
38313818
// Use abstract attribute information.
3832-
const AAAlign::StateType &DS =
3833-
static_cast<const AAAlign::StateType &>(AA.getState());
3819+
const AAAlign::StateType &DS = AA.getState();
38343820
T ^= DS;
38353821
}
38363822
return T.isValidState();
@@ -3985,9 +3971,7 @@ struct AANoReturnCallSite final : AANoReturnImpl {
39853971
Function *F = getAssociatedFunction();
39863972
const IRPosition &FnPos = IRPosition::function(*F);
39873973
auto &FnAA = A.getAAFor<AANoReturn>(*this, FnPos);
3988-
return clampStateAndIndicateChange(
3989-
getState(),
3990-
static_cast<const AANoReturn::StateType &>(FnAA.getState()));
3974+
return clampStateAndIndicateChange(getState(), FnAA.getState());
39913975
}
39923976

39933977
/// See AbstractAttribute::trackStatistics()
@@ -4374,9 +4358,7 @@ struct AANoCaptureCallSiteArgument final : AANoCaptureImpl {
43744358
return indicatePessimisticFixpoint();
43754359
const IRPosition &ArgPos = IRPosition::argument(*Arg);
43764360
auto &ArgAA = A.getAAFor<AANoCapture>(*this, ArgPos);
4377-
return clampStateAndIndicateChange(
4378-
getState(),
4379-
static_cast<const AANoCapture::StateType &>(ArgAA.getState()));
4361+
return clampStateAndIndicateChange(getState(), ArgAA.getState());
43804362
}
43814363

43824364
/// See AbstractAttribute::trackStatistics()
@@ -5880,9 +5862,7 @@ struct AAMemoryBehaviorCallSiteArgument final : AAMemoryBehaviorArgument {
58805862
Argument *Arg = getAssociatedArgument();
58815863
const IRPosition &ArgPos = IRPosition::argument(*Arg);
58825864
auto &ArgAA = A.getAAFor<AAMemoryBehavior>(*this, ArgPos);
5883-
return clampStateAndIndicateChange(
5884-
getState(),
5885-
static_cast<const AAMemoryBehavior::StateType &>(ArgAA.getState()));
5865+
return clampStateAndIndicateChange(getState(), ArgAA.getState());
58865866
}
58875867

58885868
/// See AbstractAttribute::trackStatistics()
@@ -5965,9 +5945,7 @@ struct AAMemoryBehaviorCallSite final : AAMemoryBehaviorImpl {
59655945
Function *F = getAssociatedFunction();
59665946
const IRPosition &FnPos = IRPosition::function(*F);
59675947
auto &FnAA = A.getAAFor<AAMemoryBehavior>(*this, FnPos);
5968-
return clampStateAndIndicateChange(
5969-
getState(),
5970-
static_cast<const AAMemoryBehavior::StateType &>(FnAA.getState()));
5948+
return clampStateAndIndicateChange(getState(), FnAA.getState());
59715949
}
59725950

59735951
/// See AbstractAttribute::trackStatistics()

0 commit comments

Comments
 (0)