[PATCH] D78495: [nfc] Accept addrspacecast allocas in InitTempAlloca
Jon Chesterfield via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Apr 20 08:05:20 PDT 2020
JonChesterfield created this revision.
JonChesterfield added reviewers: rjmccall, aaron.ballman, ABataev, jdoerfert, arsenm.
Herald added subscribers: cfe-commits, wdng.
Herald added a project: clang.
[nfc] Accept addrspacecast allocas in InitTempAlloca
Changes the precondition to be slightly more permissive. Useful for amdgcn where
allocas are created with a cast to an address space.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D78495
Files:
clang/lib/CodeGen/CGExpr.cpp
Index: clang/lib/CodeGen/CGExpr.cpp
===================================================================
--- clang/lib/CodeGen/CGExpr.cpp
+++ clang/lib/CodeGen/CGExpr.cpp
@@ -125,8 +125,12 @@
}
void CodeGenFunction::InitTempAlloca(Address Var, llvm::Value *Init) {
- assert(isa<llvm::AllocaInst>(Var.getPointer()));
- auto *Store = new llvm::StoreInst(Init, Var.getPointer());
+ auto *Alloca = Var.getPointer();
+ assert(isa<llvm::AllocaInst>(Alloca) ||
+ (isa<llvm::AddrSpaceCastInst>(Alloca) &&
+ isa<llvm::AllocaInst>(
+ cast<llvm::AddrSpaceCastInst>(Alloca)->getPointerOperand())));
+ auto *Store = new llvm::StoreInst(Init, Alloca);
Store->setAlignment(Var.getAlignment().getAsAlign());
llvm::BasicBlock *Block = AllocaInsertPt->getParent();
Block->getInstList().insertAfter(AllocaInsertPt->getIterator(), Store);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D78495.258741.patch
Type: text/x-patch
Size: 866 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200420/69ea7c1f/attachment.bin>
More information about the cfe-commits
mailing list