Use the TableGen feature to have enum values for clauses.
Next step will be to extend the MLIR part used currently by OpenMP
to use the same enum on the dialect side.
This patch also add function that convert the enum to StringRef to be
used on the dump-parse-tree from flang.
Trying to understand -
class ClauseVal<string n, int v, bit uv> mentions second parameter (i.e v)as value of clause.
Is there are reason to start the numbering from 0?
In OMP.td as well I see they always start with index 2, any defined pattern used here?