This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][ARM] Enable code hoisting with -Os (PR80155)
- From: Wilco Dijkstra <Wilco dot Dijkstra at arm dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: Prathamesh Kulkarni <prathamesh dot kulkarni at linaro dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Kyrylo Tkachov <Kyrylo dot Tkachov at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, nd <nd at arm dot com>
- Date: Tue, 17 Sep 2019 17:17:54 +0000
- Subject: Re: [PATCH][ARM] Enable code hoisting with -Os (PR80155)
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6ir0WUgKIX+hpg4VNHy+mRUv5yUpuHjBO5D1dvXq2mU=; b=A2/GUt6SqGpKdir4WkR/bJFgs7KSn/kyigK2Cl3kqm1R1a2odXeLVJ00L0Jmo9grqKtSRDlYkVKIOdvlSzwRa7He8wY/g4bvaAJFrG6KyjIOHhDxwgOui+Dv+cG0DOhxHDjCAtyKlh7e2SzjG/ppdRxOABA4ph5INzgr8wKrlbMQLJP+fWPxy6LATRnMG0zCERAW0JNAOBCByI6/Ejoh8Y7qRKfIBEE4PPbzVToxccNkJ3sSa3nqrs0KqBWv2REcpXSe6aVoXAdRBklTRF5dr7ilw70lxzzZxhXuylnazGK+YJAzOiaQRJEt9gMsJztKZMd+/XZUleImJkzlhHMLBQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QJcvx6YhiUcIp9s1Bv9LofIScCUFRD9qc+Ov9p+1xFluG2tTyI1vmFmY8EuMX4caDB0uE6awjxH/b7AUk3QjrHonMYgSlk2J7WfE+gbCxevhd34XGheCfk0SnBrKk9d6zDStW8Mm1ywdgWqE/7fHW5XboOrgZvEOzjgvR7kDk79SmSwF7pbF9gk+0mKBQzOi8e72T2fIRgWo4xRYCOMZPFVIrpOklircZ/DsGL3uaDTCw/i2Jl5UrjbaNw6Am6c9jlI3IheRbNpMowkiEIJ03I1TYsCVFqLYeZI9SAsLKq3zE1mPCXgis5BRiOgStGocT+syQpJO88/wdVcYk3GqvQ==
- Original-authentication-results: spf=none (sender IP is ) smtp.mailfrom=Wilco dot Dijkstra at arm dot com;
- References: <HE1PR0801MB212194851187F71FADA5151783B10@HE1PR0801MB2121.eurprd08.prod.outlook.com> <CAAgBjM=8rkGO=c2+y0kgNVCKP0fsqcuPKzKDuNW2zyc594yoyw@mail.gmail.com> <VI1PR0801MB2127A0D7D6B63726464014F8838C0@VI1PR0801MB2127.eurprd08.prod.outlook.com>,<CAFiYyc0BxgGr7BSrPSis9JsFwfHsTz_2Zb0Q9HNS__Gfdyjntg@mail.gmail.com>
Hi Richard,
> The issue with the bugzilla is that it lacked appropriate testcase(s) and thus
> it is now a mess. There are clear testcases (maybe not in the benchmarks you
Agreed - it's not clear whether any of the proposed changes would actually
help the original issue. My patch absolutely does.
> care about) that benefit from code hoisting as enabler, mainly when control
> flow can be then converted to data flow. Also note that "size optimizations"
> are important for all cases where followup transforms have size limits on the IL
> in place.
The gain from -fcode-hoisting is about 0.2% overall on Thumb-2. Ie. it's definitely
useful, but there are much larger gains to be had from other tweaks [1]. So we can
live without it until a better solution is found.
[1] https://gcc.gnu.org/ml/gcc-patches/2019-07/msg01739.html
Wilco