Hi, On Tue, Sep 21 2021, Kewen.Lin wrote: > on 2021/9/17 下午7:26, Martin Jambor wrote: >> On Fri, Sep 17 2021, Kewen.Lin wrote: [...] >>> >>> Sorry that I failed to use 16 bit-fields for this, I figured out that >>> the bit-fields can not be address-taken or passed as non-const reference. >>> The gentype also failed to recognize uint16_t if I used uint16_t directly >>> in ipa-fnsummary.h. Finally I used unsigned int instead. >>> >> >> well, you could have used: >> >> unsigned int target_info : 16; >> >> for the field (and uint16_t when passed to hooks). >> >> But I am not sure if it is that crucial. >> > > I may miss something, specifically I tried with: > > 1) > > unsigned int target_info : 16; > unsigned inlinable : 1; > ... > > update_ipa_fn_target_info (uint16_t &, const gimple *)
Yeah, you would have to copy the bit-field into a temporary, pass reference to that in the hook and then copy it back. At least that is what I meant but since we apparently want unsigned int everywhere, it does not matter. Martin