GCN: Remove 'last_arg' spec function (was: GCN: Tag '-march=[...]', '-mtune=[...]' as 'Negative' of themselves [PR112669])
Checks
Commit Message
Hi!
On 2023-11-24T15:55:52+0100, I wrote:
> OK to push the attached
> "GCN: Tag '-march=[...]', '-mtune=[...]' as 'Negative' of themselves [PR112669]"?
With that in place, we may then "GCN: Remove 'last_arg' spec function",
see attached; OK to push?
Grüße
Thomas
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
From 0f171ad0253a2375131281e4dc629b8dce5f891d Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <thomas@codesourcery.com>
Date: Wed, 22 Nov 2023 15:39:50 +0100
Subject: [PATCH] GCN: Remove 'last_arg' spec function
The LLVM 13.0.1 assembler ('llvm-mc') indeed still does complain in presence of
multiple '-mcpu=[...]' options:
as: for the --mcpu option: may only occur zero or one times!
However, as of
"GCN: Tag '-march=[...]', '-mtune=[...]' as 'Negative' of themselves [PR112669]",
the GCC-side special handling is no longer necessary.
gcc/
* config.gcc <amdgcn-*-amdhsa> (extra_gcc_objs): Don't set.
* config/gcn/driver-gcn.cc: Remove.
* config/gcn/gcn-hsa.h (ASM_SPEC, EXTRA_SPEC_FUNCTIONS): Remove
'last_arg' spec function.
* config/gcn/t-gcn-hsa (driver-gcn.o): Remove.
---
gcc/config.gcc | 1 -
gcc/config/gcn/driver-gcn.cc | 32 --------------------------------
gcc/config/gcn/gcn-hsa.h | 8 +-------
gcc/config/gcn/t-gcn-hsa | 4 ----
4 files changed, 1 insertion(+), 44 deletions(-)
delete mode 100644 gcc/config/gcn/driver-gcn.cc
@@ -1770,7 +1770,6 @@ amdgcn-*-amdhsa)
native_system_header_dir=/include
extra_modes=gcn/gcn-modes.def
extra_objs="${extra_objs} gcn-tree.o"
- extra_gcc_objs="driver-gcn.o"
case "$host" in
x86_64*-*-linux-gnu )
if test "$ac_cv_search_dlopen" != no; then
deleted file mode 100644
@@ -1,32 +0,0 @@
-/* Subroutines for the gcc driver.
- Copyright (C) 2018-2023 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3. If not see
-<http://www.gnu.org/licenses/>. */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-
-const char *
-last_arg_spec_function (int argc, const char **argv)
-{
- if (argc == 0)
- return NULL;
-
- return argv[argc-1];
-}
@@ -88,7 +88,7 @@ extern unsigned int gcn_local_sym_hash (const char *name);
/* Use LLVM assembler and linker options. */
#define ASM_SPEC "-triple=amdgcn--amdhsa " \
- "%:last_arg(%{march=*:-mcpu=%*}) " \
+ "%{march=*:-mcpu=%*} " \
"%{!march=*|march=fiji:--amdhsa-code-object-version=3} " \
"%{" NO_XNACK XNACKOPT "}" \
"%{" NO_SRAM_ECC SRAMOPT "} " \
@@ -111,12 +111,6 @@ extern unsigned int gcn_local_sym_hash (const char *name);
"%{foffload-abi=lp64:%eBOO2} "
#define STANDARD_STARTFILE_PREFIX_2 ""
-/* The LLVM assembler rejects multiple -mcpu options, so we must drop
- all but the last. */
-extern const char *last_arg_spec_function (int argc, const char **argv);
-#define EXTRA_SPEC_FUNCTIONS \
- { "last_arg", last_arg_spec_function },
-
#undef LOCAL_INCLUDE_DIR
/* FIXME: Review debug info settings.
@@ -16,10 +16,6 @@
GTM_H += $(HASH_TABLE_H)
-driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.cc
- $(COMPILE) $<
- $(POSTCOMPILE)
-
CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
mkoffload.o: $(srcdir)/config/gcn/mkoffload.cc
--
2.34.1