Add new loop metadata llvm.loop.unroll.threshold to allow the initial target
specific unroll threshold value to be specified on a loop by loop basis.
The intention is to be able to to allow more nuanced hints, e.g. specifying a
low threshold value to indicate that a loop may be unrolled if cheap enough
rather than using the all or nothing llvm.loop.unroll.disable metadata.
This new metadata is used in setting the default threshold in the target
specific loop options, so only has any effect for targets that make use of
it - in this change only AMDGPU uses this metadata.
This change was originally proposed as an AMDGPU specific change, but
following review comments (see https://reviews.llvm.org/D84779) is now
being presented as generic metadata.