[llvm] [GlobalISel] Add known bits calculation for atomic G_LOAD (PR #222870)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 11 05:52:20 PDT 2026


================
@@ -708,7 +708,23 @@ void GISelValueTracking::computeKnownBitsImpl(Register R, KnownBits &Known,
     KnownBits KnownRange(MMO->getMemoryType().getScalarSizeInBits());
     if (const MDNode *Ranges = MMO->getRanges())
       computeKnownBitsFromRangeMetadata(*Ranges, KnownRange);
-    Known = KnownRange.anyext(Known.getBitWidth());
+
+    if (MMO->isAtomic()) {
+      switch (TL.getExtendForAtomicOps()) {
----------------
arsenm wrote:

TL.getExtendForAtomicOps shouldn't be used. Target information should not be changing the semantics of core instructions 

I don't think anything is missing. For the extras, both only handle range metadata 

https://github.com/llvm/llvm-project/pull/222870


More information about the llvm-commits mailing list