[llvm] [NFC][IntrinsicEmitter] Include source location with enum definition (PR #156800)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 3 22:16:24 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-tablegen
Author: Rahul Joshi (jurahul)
<details>
<summary>Changes</summary>
Include the source location of the intrinsic record definition in a comment next to the enum definition for that intrinsic. This will help quickly locate the definition of a given intrinsic when it's not obvious from a simple search (for example, intrinsics defined by stitching components of names).
---
Full diff: https://github.com/llvm/llvm-project/pull/156800.diff
1 Files Affected:
- (modified) llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp (+5-2)
``````````diff
diff --git a/llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp b/llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
index 04707084a4166..09d29b8522f54 100644
--- a/llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
+++ b/llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
@@ -20,6 +20,7 @@
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/ModRef.h"
+#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TableGen/Error.h"
#include "llvm/TableGen/Record.h"
@@ -154,7 +155,7 @@ void IntrinsicEmitter::EmitEnumInfo(const CodeGenIntrinsicTable &Ints,
OS << "// Enum values for intrinsics.\n";
bool First = true;
- for (const auto &Int : Ints[*Set]) {
+ for (const CodeGenIntrinsic &Int : Ints[*Set]) {
OS << " " << Int.EnumName;
// Assign a value to the first intrinsic in this target set so that all
@@ -167,7 +168,9 @@ void IntrinsicEmitter::EmitEnumInfo(const CodeGenIntrinsicTable &Ints,
OS << ", ";
if (Int.EnumName.size() < 40)
OS.indent(40 - Int.EnumName.size());
- OS << formatv(" // {}\n", Int.Name);
+ OS << formatv(
+ " // {} ({})\n", Int.Name,
+ SrcMgr.getFormattedLocationNoOffset(Int.TheDef->getLoc().front()));
}
// Emit num_intrinsics into the target neutral enum.
``````````
</details>
https://github.com/llvm/llvm-project/pull/156800
More information about the llvm-commits
mailing list