================
@@ -694,6 +727,17 @@ DeletionKind LLVM::GEPOp::removeBlockingUses(
return DeletionKind::Delete;
}
+void LLVM::GEPOp::getPromotableSlotAliases(
+ OpOperand &aliasedSlotPointerOperand, const MemorySlot &parentSlot,
+ SmallVectorImpl<MemorySlot> &newMemorySlots) {
+ // Only zero-index GEPs are no-op aliases of the slot pointer; non-zero
+ // indices step into the slot and cannot be projected back generically.
----------------
Moxinilian wrote:
I don't think it's impossible, it's just complicated, right? When it comes to
aggregates, it should be fairly straight forward, and when it comes to arrays,
you might need some data layout understanding and bitmap it into the value
(unclear if useful), but it seems like it's doable in theory?
I'm not arguing in favor of doing it now, but it seems misleading to say it's
not possible.
https://github.com/llvm/llvm-project/pull/199226
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits