I recently had to add a new property and was annoyed by how much repetitive code I needed to write manually.
This patch applies a common pattern used all over LLVM to auto-generate most of the definitions and accessors for target properties from a central definition file. The change is mostly NFC and should result in a small reduction of code size.
This is by no means done, and there are many other things that could be derived in a similar way, but I would like to get the discussion started before sinking too much time into this refactoring.
It does affect the realtive ordering of the properties though.
Let me know what you think!