This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Convert profile probabilities to new type


On Thu, Jun 29, 2017 at 11:24 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
>> On Thu, Jun 29, 2017 at 11:19 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
>> >> After this commit (r249800), GCC builds fail for arm and aarch64:
>> >>
>> >> /gccsrc/gcc/except.c: In function ???void
>> >> sjlj_emit_function_enter(rtx_code_label*)???:
>> >> /gcc-fsf/gccsrc/gcc/except.c:1183: error: conversion from ???int??? to
>> >> non-scalar type ???profile_probability??? requested
>> >> make[2]: *** [except.o] Error 1
>> >
>> > The following patch should help
>> > Index: except.c
>> > ===================================================================
>> > --- except.c    (revision 249800)
>> > +++ except.c    (working copy)
>> > @@ -1180,7 +1180,7 @@ sjlj_emit_function_enter (rtx_code_label
>> >
>> >        emit_cmp_and_jump_insns (x, const0_rtx, NE, 0,
>> >                                TYPE_MODE (integer_type_node), 0,
>> > -                              dispatch_label, REG_BR_PROB_BASE / 100);
>> > +                              dispatch_label, profile_probability::unlikely ());
>> >  #else
>> >        expand_builtin_setjmp_setup (addr, dispatch_label);
>> >  #endif
>> >
>> >
>> > I will verify that cross compiler builds and commit it.
>>
>> I also see on arm-none-eabi:
>>
>>
>> In file included from
>> /tmp/66508161.tmpdir/buildbot/rhe6x86_64--arm-none-eabi/build/src/gcc/gcc/config/arm/arm-builtins.c:30:0:
>> /tmp/66508161.tmpdir/buildbot/rhe6x86_64--arm-none-eabi/build/src/gcc/gcc/optabs.h:251:10:
>> error: 'profile_probability' has not been declared
>>           profile_probability prob
>>           ^
>> /tmp/66508161.tmpdir/buildbot/rhe6x86_64--arm-none-eabi/build/src/gcc/gcc/optabs.h:252:8:
>> error: 'profile_probability' has not been declared
>>       = profile_probability::uninitialized ());
>>         ^
>
> Yep, this is because we opted to not have #includes in include files which makes it quite painful
> to introduce new data types in their own types which are used elsewhere.
> I will add #include <profile-count.h> into arm-builtins.c as well.

It is what it is. I really wish we had a buildbot to do some
pre-commit testing of such major patches .

Ramana

>
> Honza


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]