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: Qing Zhao <qing dot zhao at oracle dot com>
- To: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- 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>, gcc Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 7 Dec 2018 09:14:03 -0600
- 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> <yddefat7af1.fsf@CeBiTec.Uni-Bielefeld.DE>
thanks a lot for fixing this issue.
Qing
> On Dec 7, 2018, at 7:07 AM, Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> wrote:
>
> 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;