Debugging the TableGen framework
When you interact with TableGen, it may not be immediately obvious what part of TableGen fails you, or how you misused it!
In this section, you will learn ways to determine what goes wrong. The way to fix the problem may, however, be backend-specific, and given the sheer volume of TableGen backends, we will not cover this in this book. However, we give you general guidance on how to approach them.
Let’s start with the basics!
Identifying the failing component
As you learned in Getting started with TableGen, a TableGen workflow implies several components – the frontend, the backend, and the use of the generated output in LLVM.
To identify which component is at fault, you need to identify when the failure occurs:
- If the failure occurs while producing the
.inc
file, the problem is either with the TableGen frontend or backend, the syntax you used, or how you used the specific constructs (class or record) of...