[llvm] [Debugify] Add 'error-test' mode for the debugify report script, for CI (PR #147574)
Stephen Tozer via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 14 04:49:43 PDT 2025
================
@@ -20,28 +19,77 @@ def __init__(self, origin, action, bb_name, fn_name, instr):
self.fn_name = fn_name
self.instr = instr
- def __str__(self):
+ def key(self):
return self.action + self.bb_name + self.fn_name + self.instr
+ def to_dict(self):
+ result = {
+ "instr": self.instr,
+ "fn_name": self.fn_name,
+ "bb_name": self.bb_name,
+ "action": self.action,
+ }
+ if self.origin:
+ result["origin"] = self.origin
+ return result
+
class DISPBug:
def __init__(self, action, fn_name):
self.action = action
self.fn_name = fn_name
- def __str__(self):
+ def key(self):
return self.action + self.fn_name
+ def to_dict(self):
+ return {
+ "fn_name": self.fn_name,
+ "action": self.action,
+ }
+
class DIVarBug:
def __init__(self, action, name, fn_name):
self.action = action
self.name = name
self.fn_name = fn_name
- def __str__(self):
+ def key(self):
return self.action + self.name + self.fn_name
+ def to_dict(self):
+ return {
+ "fn_name": self.fn_name,
+ "name": self.name,
+ "action": self.action,
+ }
+
+
----------------
SLTozer wrote:
I originally started using "proper" YAML, but this does require an extra package. Currently this (and most other utility scripts) can be run with just python, with no install commands necessary, and I consider preserving this to be a benefit worth some cost. My expectation is, this script has very straightforward and limited functionality, so there isn't too much to gain from using a proper YAML package - only very basic printing logic is required, and the YAML dumping segment is purely for user benefit (it has no expectation of being programmatically parsed).
https://github.com/llvm/llvm-project/pull/147574
More information about the llvm-commits
mailing list