TableGen boolean literals: opinions, please

I need opinions from active TableGen users.

Does it make sense to add 'true' and 'false' boolean literals to TableGen, for use in assigning values to bit fields? If so, they would be TRUE and FALSE.

A search of all the TableGen files finds no use of TRUE or FALSE except in tests.

You’re thinking about something like “bit x = TRUE;” instead of “bit x = 1;”? Is there an advantage to that spelling?


I've always been a big fan of boolean literals like 'true' and 'false' instead of digits. It's just clearer that you're working with booleans.

Even given the option to use TRUE and FALSE, I think I would prefer to continue using 1 and 0 for stylistic reasons. Most of the TableGen I work with is snake_case or CamelCase, so all-caps TRUE and FALSE would look out of place. If we could use lower case true and false, I would use those.

I agree that uppercase TRUE and FALSE seems odd. I will do a more thorough search and see if lowercase true and false are available without too much fuss.

A more rigorous search turns up one use of lowercase 'true' in the NVPTX target plus a few in the TableGen tests. I think I will clean those out in anticipation of implementing these boolean literals.