From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id ED63B3858D38 for ; Wed, 3 Jan 2024 14:48:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ED63B3858D38 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org ED63B3858D38 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=68.232.137.180 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704293317; cv=none; b=O+HwTWkFh7FFSnKJ+Igqy07inWDPIEXccenBgs4CBabuTO63hLpyC4rW2S7oHqxVCbmiZCNlfvRREXdqGeX74yk1Hw6SpICdNltBm3n3anJBJ216Vnf+vZ0BeDv6a9vrFWtnSCe0hOtSv+6wg/DdlyQdyI69yVi/4cOYLhr2WDE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704293317; c=relaxed/simple; bh=XhODI4j1LBxWR9CJRjSaAeMPyIwRFovwZTqLC2fvOoY=; h=Message-ID:Date:MIME-Version:Subject:To:From; b=CRRJM6BpuWycwzaorz6P22cRHUDC71lZUaK1E758YiETpPmeSFCMewa3PoKpKicbbFhQi60BRUmuNqdqh4zL3P/dV87xU35feyhu1rXN7LHiBYBzN35ZWDdDN4UV5xZ4GyWnjtqljB45iqu7bt6nEJKkcgsfC/Kh+3m9LFh6yVI= ARC-Authentication-Results: i=1; server2.sourceware.org X-CSE-ConnectionGUID: ulwf+sbwSnW3wcsWAqdnag== X-CSE-MsgGUID: sYDZ3Yw3QU6Ji1ZChRSKog== X-IronPort-AV: E=Sophos;i="6.04,327,1695715200"; d="scan'208,223";a="26942444" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 03 Jan 2024 06:48:30 -0800 IronPort-SDR: 84SUQBbq8GIBaHEvYdXfhitn7WAdWUsPXIoAPUUJIHWqevTP9O4WG/Cd/+8J1F2yEBzQ0iMOoK uRDh6jzEx+/hY6B9cd4VGUZiIckoaI6s54jQEOs17JOAiDm93g/7Jh7X8anooFtnKbfTIiEFSA qrIT/SmpvQY0GtqKDYsDmyy1tSCVoaOkiDkQb9pCSnaABWlNs6kjuf4XbdZ/VqGPB232zE95Mh ItsoaOMypG3PiEgD3fM5+pNcAFSwzBg7hDbcUgwnyS4UChEC9rdsiUEKpW8HUQzF+aMSjTXeTh XsY= Content-Type: multipart/mixed; boundary="------------AaA590S0YtLnIQjkfh7LA3wy" Message-ID: <79a12614-a2b8-4da6-8316-c172abda6dbf@codesourcery.com> Date: Wed, 3 Jan 2024 14:47:54 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [committed] Re: [PATCH] openmp: Add support for the 'indirect' clause in C/C++ Content-Language: en-GB To: Thomas Schwinge CC: Tobias Burnus , , "Jakub Jelinek" References: <37f412ee-58e7-4bde-a763-591268e8f8f4@codesourcery.com> <87wmurru61.fsf@euler.schwinge.homeip.net> From: Kwok Cheung Yeung In-Reply-To: <87wmurru61.fsf@euler.schwinge.homeip.net> X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --------------AaA590S0YtLnIQjkfh7LA3wy Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Hello I have committed the following trivial patch to emit FUNC_MAP or IND_FUNC_MAP in separate branches of an if statement. Kwok On 09/11/2023 12:24 pm, Thomas Schwinge wrote: > Similar to how you have it here: > >> --- a/gcc/config/nvptx/mkoffload.cc >> +++ b/gcc/config/nvptx/mkoffload.cc >> @@ -51,6 +51,7 @@ struct id_map >> }; >> >> static id_map *func_ids, **funcs_tail = &func_ids; >> +static id_map *ind_func_ids, **ind_funcs_tail = &ind_func_ids; >> static id_map *var_ids, **vars_tail = &var_ids; >> >> /* Files to unlink. */ >> @@ -302,6 +303,11 @@ process (FILE *in, FILE *out, uint32_t omp_requires) > | else if (startswith (input + i, "FUNC_MAP ")) > | { >> output_fn_ptr = true; >> record_id (input + i + 9, &funcs_tail); >> } >> + else if (startswith (input + i, "IND_FUNC_MAP ")) >> + { >> + output_fn_ptr = true; >> + record_id (input + i + 13, &ind_funcs_tail); >> + } >> else >> abort (); >> /* Skip to next line. */ > > ..., please also here: > >> --- a/gcc/config/nvptx/nvptx.cc >> +++ b/gcc/config/nvptx/nvptx.cc >> @@ -5919,7 +5919,11 @@ nvptx_record_offload_symbol (tree decl) >> /* OpenMP offloading does not set this attribute. */ >> tree dims = attr ? TREE_VALUE (attr) : NULL_TREE; >> >> - fprintf (asm_out_file, "//:FUNC_MAP \"%s\"", >> + fprintf (asm_out_file, "//:"); >> + if (lookup_attribute ("omp declare target indirect", >> + DECL_ATTRIBUTES (decl))) >> + fprintf (asm_out_file, "IND_"); >> + fprintf (asm_out_file, "FUNC_MAP \"%s\"", >> IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl))); > > ... maintain separate 'if' branches for 'FUNC_MAP' vs. 'IND_FUNC_MAP', so > that we're able to easily locate those with 'grep', for example. > --------------AaA590S0YtLnIQjkfh7LA3wy Content-Type: text/plain; charset="UTF-8"; name="0001-nvptx-Restructure-code-generating-function-map-label.patch" Content-Disposition: attachment; filename*0="0001-nvptx-Restructure-code-generating-function-map-label.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2YWU4NDcyOTk0MGFjZmY1OThlMWE3ZjQ5ZDdiMzgxMDI1MDgyY2ViIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLd29rIENoZXVuZyBZZXVuZyA8a2N5QGNvZGVzb3Vy Y2VyeS5jb20+CkRhdGU6IFdlZCwgMyBKYW4gMjAyNCAxNDoyNzozOSArMDAwMApTdWJqZWN0 OiBbUEFUQ0hdIG52cHR4OiBSZXN0cnVjdHVyZSBjb2RlIGdlbmVyYXRpbmcgZnVuY3Rpb24g bWFwIGxhYmVscwoKVGhpcyByZXN0cnVjdHVyZXMgdGhlIGNvZGUgZ2VuZXJhdGluZyBGVU5D X01BUCBhbmQgSU5EX0ZVTkNfTUFQIGxhYmVscwppbiB0aGUgYXNzZW1ibHkgY29kZSBmb3Ig bWtvZmZsb2FkIHRvIGNvbnN1bWUsIGhvcGVmdWxseSBtYWtpbmcgaXQgYQpiaXQgY2xlYXJl ciBhbmQgZWFzaWVyIHRvIHNlYXJjaCBmb3IuCgoyMDI0LTAxLTAzICBLd29rIENoZXVuZyBZ ZXVuZyAgPGtjeUBjb2Rlc291cmNlcnkuY29tPgoKCWdjYy8KCSogY29uZmlnL252cHR4L252 cHR4LmNjIChudnB0eF9yZWNvcmRfb2ZmbG9hZF9zeW1ib2wpOiBSZXN0dWN0dXJlCglwcmlu dGluZyBvZiBGVU5DX01BUC9JTkRfRlVOQ19NQVAgbGFiZWxzLgotLS0KIGdjYy9jb25maWcv bnZwdHgvbnZwdHguY2MgfCA2ICsrKystLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL252cHR4L252 cHR4LmNjIGIvZ2NjL2NvbmZpZy9udnB0eC9udnB0eC5jYwppbmRleCA3MjRlNDAzYTBlOS4u OTM2M2QzZWNjNmEgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvbnZwdHgvbnZwdHguY2MKKysr IGIvZ2NjL2NvbmZpZy9udnB0eC9udnB0eC5jYwpAQCAtNTkyMSw4ICs1OTIxLDEwIEBAIG52 cHR4X3JlY29yZF9vZmZsb2FkX3N5bWJvbCAodHJlZSBkZWNsKQogCWZwcmludGYgKGFzbV9v dXRfZmlsZSwgIi8vOiIpOwogCWlmIChsb29rdXBfYXR0cmlidXRlICgib21wIGRlY2xhcmUg dGFyZ2V0IGluZGlyZWN0IiwKIAkJCSAgICAgIERFQ0xfQVRUUklCVVRFUyAoZGVjbCkpKQot CSAgZnByaW50ZiAoYXNtX291dF9maWxlLCAiSU5EXyIpOwotCWZwcmludGYgKGFzbV9vdXRf ZmlsZSwgIkZVTkNfTUFQIFwiJXNcIiIsCisJICBmcHJpbnRmIChhc21fb3V0X2ZpbGUsICJJ TkRfRlVOQ19NQVAiKTsKKwllbHNlCisJICBmcHJpbnRmIChhc21fb3V0X2ZpbGUsICJGVU5D X01BUCIpOworCWZwcmludGYgKGFzbV9vdXRfZmlsZSwgIiBcIiVzXCIiLAogCQkgSURFTlRJ RklFUl9QT0lOVEVSIChERUNMX0FTU0VNQkxFUl9OQU1FIChkZWNsKSkpOwogCiAJZm9yICg7 IGRpbXM7IGRpbXMgPSBUUkVFX0NIQUlOIChkaW1zKSkKLS0gCjIuMzQuMQoK --------------AaA590S0YtLnIQjkfh7LA3wy--