This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][Version 3]Come up with -flive-patching master option.
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Qing Zhao <qing dot zhao at oracle dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Martin Liška <mliska at suse dot cz>, Miroslav Benes <mbenes at suse dot cz>, Martin Jambor <mjambor at suse dot cz>, live-patching at vger dot kernel dot org, gcc Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 07 Dec 2018 14:07:14 +0100
- Subject: Re: [PATCH][Version 3]Come up with -flive-patching master option.
- References: <8F7AEFF2-5DCE-49B6-BC9E-34FC0DEF2A55@oracle.com> <568496ae-!24cf-7453-57db-a2188d5d11c2@suse.cz> <49B97110-C7FD-4569-AE26-1B37951D802B@oracle.com> <ED839E0B-A332-491E-ADC9-D6EC06BECD27@oracle.com> <30e99713-0a96-3acb-ea5f-8f0996be69a6@suse.cz> <5A3304F6-2084-44BA-86CB-88A657AAF741@oracle.com> <d5af0ffa-88ed-065f-fc6c-811ffd954dd0@suse.cz> <F78B52B9-9F9A-4FA0-91BF-A33307D87AA8@oracle.com> <25de1f37-40b1-1834-78cc-13f89215906d@suse.cz> <06EEEEBB-40EC-47DE-BB30-22784E3E28AF@oracle.com> <20181128155203.rusncos2kiieyqgk@kam.mff.cuni.cz> <F854D5DD-0754-4019-A7EA-41F087C8DFB7@oracle.com>
Hi Qing,
>> On Nov 28, 2018, at 9:52 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
>>
>>>
>>> 2018-11-20 qing zhao <qing.zhao@oracle.com>
>>>
>>> * cif-code.def (EXTERN_LIVE_ONLY_STATIC): New CIF code.
>>> * common.opt: Add -flive-patching flag.
>>> * doc/invoke.texi: Document -flive-patching.
>>> * flag-types.h (enum live_patching_level): New enum.
>>> * ipa-inline.c (can_inline_edge_p): Disable external functions from
>>> inlining when flag_live_patching is LIVE_PATCHING_INLINE_ONLY_STATIC.
>>> * opts.c (control_options_for_live_patching): New function.
>>> (finish_options): Make flag_live_patching incompatible with flag_lto.
>>> Control IPA optimizations based on different levels of
>>> flag_live_patching.
>>>
>>> gcc/testsuite/ChangeLog:
>>>
>>> 2018-11-20 qing zhao <qing.zhao@oracle.com>
>>>
>>> * gcc.dg/live-patching-1.c: New test.
>>> * gcc.dg/live-patching-2.c: New test.
>>> * gcc.dg/live-patching-3.c: New test.
>>> * gcc.dg/tree-ssa/writeonly-3.c: New test.
>>> * gcc.target/i386/ipa-stack-alignment-2.c: New test.
[...]
>> Patch is OK,
>
> thanks for the review.
>
> I will commit the patch very soon.
the new gcc.target/i386/ipa-stack-alignment-2.c testcase FAILs on
Solaris/x86:
FAIL: gcc.target/i386/ipa-stack-alignment-2.c scan-assembler sub.*%.sp
Like ipa-stack-alignment.c, it needs -fomit-frame-pointer. Fixed as
follows, tested on i386-pc-solaris2.11 and x86_64-pc-linux-gnu, 32 and
64-bit each. Installed on mainline.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2018-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc.target/i386/ipa-stack-alignment-2.c: Add
-fomit-frame-pointer to dg-options.
# HG changeset patch
# Parent 580b8c24b018674f1ffd56a9c672129f746682c5
Build gcc.target/i386/ipa-stack-alignment-2.c with -fomit-frame-pointer
diff --git a/gcc/testsuite/gcc.target/i386/ipa-stack-alignment-2.c b/gcc/testsuite/gcc.target/i386/ipa-stack-alignment-2.c
--- a/gcc/testsuite/gcc.target/i386/ipa-stack-alignment-2.c
+++ b/gcc/testsuite/gcc.target/i386/ipa-stack-alignment-2.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-flive-patching -O" } */
+/* { dg-options "-flive-patching -O -fomit-frame-pointer" } */
typedef struct {
long a;