<div dir="ltr"><div dir="ltr"><div>Hi,</div><div dir="ltr"><br></div><div dir="ltr">We've been exploring the test case suite of LLVM recently, and came across quite a few test cases that reference attribute group IDs (e.g. `#2`), not being defined in the module (i..e no associate attribute group definition `#2 = {}`).<div><br></div><div>For instance, test/DebugInfo/X86/parameters.ll [1] uses #0, #1 and #2, but only contains definitions for #0 and #1. The definition for #2 is missing.<br></div><div><br></div><div>So, my question is, is this valid LLVM IR? I tried to run the file through opt -verify, but no error or warning was reported.</div><div><br></div><div>If it is valid LLVM IR, what is the behaviour when parsing such files? To insert an empty definition (i.e. `#2 = {}`), or to remove uses of undefined attribute group definitions (i.e. remove any reference of #2)?</div><div><br></div><div>Kindly,</div><div>Robin</div><div><br></div><div><br></div><div>[1]: <a href="https://github.com/llvm-mirror/llvm/blob/master/test/DebugInfo/X86/parameters.ll">https://github.com/llvm-mirror/llvm/blob/master/test/DebugInfo/X86/parameters.ll</a></div></div></div></div>