mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 09:56:06 +00:00

The current parsing logic for the target string assumes it follows the format `<kind>-<triple>-<target id>:<feature>`, such as `hipv4-amdgcn-amd-amdhsa-gfx1030:+xnack`. Specifically, it assumes that `<target id>` does not contain any `-`, relying on `rsplit` for parsing. However, this assumption breaks for AMDGPU's generic targets, which may contain one or more `-`, such as `gfx10-3-generic` or `gfx12-generic`. As a result, the existing approach using `rstrip` is no longer reliable. This patch reworks the parsing logic to handle target strings more robustly, including support for generic targets. The bundler now strictly requires a 4-field target triple. Additionally, a new Python helper function has been added to `config.py` to normalize the target triple into the 4-field format when it is not, ensuring tests pass reliably.