[flang-commits] [flang] 9766410 - [flang][NFC] AliasAnalysis: Use Indirect not Unknown for LoadOp (#127845)
via flang-commits
flang-commits at lists.llvm.org
Fri Feb 21 10:34:46 PST 2025
Author: Joel E. Denny
Date: 2025-02-21T13:34:42-05:00
New Revision: 976641062e7750f26ea12eedf22287f9c2250bff
URL: https://github.com/llvm/llvm-project/commit/976641062e7750f26ea12eedf22287f9c2250bff
DIFF: https://github.com/llvm/llvm-project/commit/976641062e7750f26ea12eedf22287f9c2250bff.diff
LOG: [flang][NFC] AliasAnalysis: Use Indirect not Unknown for LoadOp (#127845)
As mentioned at
<https://github.com/llvm/llvm-project/pull/126156#discussion_r1953523892>:
PR #126156 causes AliasAnalysis::getSource to sometimes return
SourceKind::Unknown when it used to return SourceKind::Indirect for a
LoadOp. This patch restores that part of the old behavior. It should not
affect user-visible behavior because AliasAnalysis::alias treats
SourceKind::Unknown and SourceKind::Indirect equivalently, but it does
improve debugging output.
Added:
Modified:
flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
Removed:
################################################################################
diff --git a/flang/lib/Optimizer/Analysis/AliasAnalysis.cpp b/flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
index 70fa18ad65b9b..2bc79100b03b6 100644
--- a/flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
+++ b/flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
@@ -641,14 +641,18 @@ AliasAnalysis::Source AliasAnalysis::getSource(mlir::Value v,
} else if (isDummyArgument(def)) {
defOp = nullptr;
v = def;
+ } else {
+ type = SourceKind::Indirect;
}
-
+ // TODO: This assignment is redundant but somehow works around an
+ // apparent MSVC bug reporting "undeclared identifier" at the next
+ // "breakFromLoop = true;". See
+ // <https://github.com/llvm/llvm-project/pull/127845#issuecomment-2669829610>.
breakFromLoop = true;
- return;
+ } else {
+ // No further tracking for addresses loaded from memory for now.
+ type = SourceKind::Indirect;
}
-
- // No further tracking for addresses loaded from memory for now.
- type = SourceKind::Indirect;
breakFromLoop = true;
})
.Case<fir::AddrOfOp>([&](auto op) {
More information about the flang-commits
mailing list