Skip to content

Conversation

@jayfoad
Copy link
Contributor

@jayfoad jayfoad commented Sep 24, 2025

No description provided.

@llvmbot
Copy link
Member

llvmbot commented Sep 24, 2025

@llvm/pr-subscribers-llvm-mc

@llvm/pr-subscribers-backend-amdgpu

Author: Jay Foad (jayfoad)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/160490.diff

3 Files Affected:

  • (modified) llvm/include/llvm/MC/MCParser/MCAsmParser.h (+1)
  • (modified) llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h (+1)
  • (modified) llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp (+1-3)
diff --git a/llvm/include/llvm/MC/MCParser/MCAsmParser.h b/llvm/include/llvm/MC/MCParser/MCAsmParser.h
index e3f44a08db641..ea0c29e16c397 100644
--- a/llvm/include/llvm/MC/MCParser/MCAsmParser.h
+++ b/llvm/include/llvm/MC/MCParser/MCAsmParser.h
@@ -162,6 +162,7 @@ class LLVM_ABI MCAsmParser {
   virtual void addAliasForDirective(StringRef Directive, StringRef Alias) = 0;
 
   MCContext &getContext() { return Ctx; }
+  const MCContext &getContext() const { return Ctx; }
   MCStreamer &getStreamer() { return Out; }
   SourceMgr &getSourceManager() { return SrcMgr; }
   AsmLexer &getLexer() { return Lexer; }
diff --git a/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h b/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
index f8387d888fc21..5344acd8012d8 100644
--- a/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
+++ b/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
@@ -53,6 +53,7 @@ class LLVM_ABI MCAsmParserExtension {
   /// @{
 
   MCContext &getContext() { return getParser().getContext(); }
+  const MCContext &getContext() const { return getParser().getContext(); }
 
   AsmLexer &getLexer() { return getParser().getLexer(); }
   const AsmLexer &getLexer() const {
diff --git a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
index 56f79c2d67d3f..df3070b92e32c 100644
--- a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+++ b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
@@ -1592,9 +1592,7 @@ class AMDGPUAsmParser : public MCTargetAsmParser {
   }
 
   const MCRegisterInfo *getMRI() const {
-    // We need this const_cast because for some reason getContext() is not const
-    // in MCAsmParser.
-    return const_cast<AMDGPUAsmParser*>(this)->getContext().getRegisterInfo();
+    return getContext().getRegisterInfo();
   }
 
   const MCInstrInfo *getMII() const {

@kosarev
Copy link
Collaborator

kosarev commented Sep 24, 2025

@jayfoad Would you mind letting #160316 go first, so this doesn't interfere?

@jayfoad
Copy link
Contributor Author

jayfoad commented Sep 24, 2025

I will rethink this in the light of https://github.com/llvm/llvm-project/pull/160316/files#r2375811664 and come up with a new patch.

@jayfoad jayfoad closed this Sep 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend:AMDGPU llvm:mc Machine (object) code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants