[llvm-branch-commits] [flang] [flang][TBAABuilder] not all loads and stores are inside of functions (PR #84305)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Mar 7 03:03:54 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-flang-fir-hlfir
Author: Tom Eccles (tblah)
<details>
<summary>Changes</summary>
TBAA builder assumed that all loads/stores are inside of functions and hit an assertion once it found loads and stores inside of an omp::ReductionDeclareOp.
For now just don't add TBAA tags to those loads and stores. They would end up in a different TBAA tree to the host function after OpenMPIRBuilder inlines them anyway so there isn't an easy way of making this work.
Commit series for by-ref OpenMP reductions: 2/3
---
Full diff: https://github.com/llvm/llvm-project/pull/84305.diff
1 Files Affected:
- (modified) flang/lib/Optimizer/CodeGen/TBAABuilder.cpp (+2-1)
``````````diff
diff --git a/flang/lib/Optimizer/CodeGen/TBAABuilder.cpp b/flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
index 8e7f59f76383c9..b1b0e9b766a625 100644
--- a/flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
+++ b/flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
@@ -102,7 +102,8 @@ void TBAABuilder::attachTBAATag(AliasAnalysisOpInterface op, Type baseFIRType,
return;
mlir::LLVM::LLVMFuncOp func = op->getParentOfType<mlir::LLVM::LLVMFuncOp>();
- assert(func && "func.func should have already been converted to llvm.func");
+ if (!func)
+ return;
++tagAttachmentCounter;
if (tagAttachmentLimit != kTagAttachmentUnlimited &&
``````````
</details>
https://github.com/llvm/llvm-project/pull/84305
More information about the llvm-branch-commits
mailing list