[llvm] [LLVM][IR] Add location tracking to LLVM IR parser (PR #155797)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 22 06:25:05 PDT 2025


Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,Bertik23
 <39457484+Bertik23 at users.noreply.github.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,Bertik23
 <39457484+Bertik23 at users.noreply.github.com>,Bertik23
 <39457484+Bertik23 at users.noreply.github.com>,Bertik23
 <39457484+Bertik23 at users.noreply.github.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,Bertik23
 <39457484+Bertik23 at users.noreply.github.com>,Bertik23
 <39457484+Bertik23 at users.noreply.github.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havli=C4=8Dek?= <ahavlicek at azul.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/155797 at github.com>


================
@@ -79,6 +80,21 @@ namespace llvm {
       IgnoreColonInIdentifiers = val;
     }
 
+    /// Get the line, column position of the start of the current token,
+    /// zero-indexed
+    std::pair<unsigned, unsigned> getTokLineColumnPos() {
+      auto LC = SM.getLineAndColumn(SMLoc::getFromPointer(TokStart));
+      return {LC.first - 1, LC.second - 1};
+    }
+    /// Get the line, column position of the end of the previous token,
+    /// zero-indexed exclusive
+    std::pair<unsigned, unsigned> getPrevTokEndLineColumnPos() {
+      auto LC = SM.getLineAndColumn(SMLoc::getFromPointer(PrevTokEnd));
+      --LC.first;
+      --LC.second;
+      return LC;
----------------
nikic wrote:

```suggestion
      return {LC.first - 1, LC.second - 1};
```

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


More information about the llvm-commits mailing list