]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
RISC-V: List valid -mtune options only once
authorChristoph Müllner <christoph.muellner@vrull.eu>
Thu, 19 Dec 2024 19:59:36 +0000 (20:59 +0100)
committerChristoph Müllner <christoph.muellner@vrull.eu>
Fri, 20 Dec 2024 09:42:18 +0000 (10:42 +0100)
This patch ensures that the list of valid -mtune options
does not contain entries more than once.
The -mtune option accepts CPU identifiers as well as
tuning identifiers and there are cases where a CPU and
its tuning have the same identifier.

PR116347

gcc/ChangeLog:

* common/config/riscv/riscv-common.cc (riscv_get_valid_option_values):
Skip adding mtune entries that are already in the list.

Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
gcc/common/config/riscv/riscv-common.cc

index 4c9a72d1180a97beb8971305efa54411c8de7bec..2f85bb21a4c0b522b66295718d32becc753eb57c 100644 (file)
@@ -2437,7 +2437,19 @@ riscv_get_valid_option_values (int option_code,
 
        const riscv_cpu_info *cpu_info = &riscv_cpu_tables[0];
        for (;cpu_info->name; ++cpu_info)
-         v.safe_push (cpu_info->name);
+         {
+           /* Skip duplicates.  */
+           bool skip = false;
+           int i;
+           const char *str;
+           FOR_EACH_VEC_ELT (v, i, str)
+             {
+               if (!strcmp (str, cpu_info->name))
+                 skip = true;
+             }
+           if (!skip)
+             v.safe_push (cpu_info->name);
+         }
       }
       break;
     case OPT_mcpu_: