[llvm] [VPlan] Support live-ins without underlying IR in type analysis. (PR #80723)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 21 02:10:18 PST 2024
================
@@ -203,6 +198,16 @@ Type *VPTypeAnalysis::inferScalarTypeForRecipe(const VPReplicateRecipe *R) {
llvm_unreachable("Unhandled opcode");
}
+VPTypeAnalysis::VPTypeAnalysis(VPlan &Plan, LLVMContext &Ctx) : Ctx(Ctx) {
+ auto *CanIV = Plan.getCanonicalIV();
+ Type *CanIVTy = inferScalarType(CanIV);
+ CachedTypes[&Plan.getVectorTripCount()] = CanIVTy;
+ CachedTypes[&Plan.getVFxUF()] = CanIVTy;
+ CachedTypes[Plan.getTripCount()] = CanIVTy;
+ if (auto *BTC = Plan.getBackedgeTakenCount())
+ CachedTypes[BTC] = CanIVTy;
+}
+
Type *VPTypeAnalysis::inferScalarType(const VPValue *V) {
if (Type *CachedTy = CachedTypes.lookup(V))
return CachedTy;
----------------
fhahn wrote:
Updated as suggested, thanks!
https://github.com/llvm/llvm-project/pull/80723
More information about the llvm-commits
mailing list