http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56265



--- Comment #8 from Jan Hubicka <hubicka at ucw dot cz> 2013-02-19 21:09:54 UTC 
---

> 

Hi,

the patch seems to work well for Mozilla.  There are two issues I noticed while

testing it

 1) we now enable-checking ICE on cgraph_mark_address_taken when compiling

Mozilla with FDO.

    It is independent problem I was looking into for good part of day today. In

fact we need

    to do similar excercise when this happen, but I wil handle this

incrementally.

    It is WHOPR only bug.

 2) The warning about calling a non-function surprisingly triggers few times

during Mozilla.

    The values are constants:

 <integer_cst 0x7f1ef4a69c20 type <pointer_type 0x7f1f05d0e9d8

hb_destroy_func_t> constant 0>

 <integer_cst 0x7f204342bb00 type <pointer_type 0x7f1fee1d9a80> constant 33>

 <integer_cst 0x7f204342ba40 type <pointer_type 0x7f1fee1d9a80> constant 81>

 <integer_cst 0x7f1ffcb795a0 type <pointer_type 0x7f1fea0a4a80> constant 113>

 <integer_cst 0x7f1ffcb795a0 type <pointer_type 0x7f1fea0a4a80> constant 113>

 <integer_cst 0x7f1ffe6bca00 type <pointer_type 0x7f1fea0a4a80> constant 121>

 <integer_cst 0x7f1ffe6bca00 type <pointer_type 0x7f1fea0a4a80> constant 121>

 <integer_cst 0x7f204342baa0 type <pointer_type 0x7f1fee1d9930> constant 49>

 <integer_cst 0x7f1ef4a69c20 type <pointer_type 0x7f1f05d0e9d8

hb_destroy_func_t> constant 0>

 <integer_cst 0x7f1fdc69e8e0 type <pointer_type 0x7f1fd938ad20> constant 0>

 <integer_cst 0x7f1fdc69e8e0 type <pointer_type 0x7f1fd938ad20> constant 0>

 <integer_cst 0x7f202b5d5160 type <pointer_type 0x7f1ff919fc78 JSErrorCallback>

constant 0>

 <integer_cst 0x7f1ffe6bca00 type <pointer_type 0x7f1fea0a4a80> constant 121>

 <integer_cst 0x7f1ffe6bca00 type <pointer_type 0x7f1fea0a4a80> constant 121>

 <integer_cst 0x7f1ffcb795a0 type <pointer_type 0x7f1fea0a4a80> constant 113>

 <integer_cst 0x7f1ffcb795a0 type <pointer_type 0x7f1fea0a4a80> constant 113>

 <integer_cst 0x7f202b5d5160 type <pointer_type 0x7f1ff919fc78 JSErrorCallback>

constant 0>

 <integer_cst 0x7f204342b940 type <pointer_type 0x7f1fee1d9930> constant 97>

 <integer_cst 0x7f1fba8e12c0 type <pointer_type 0x7f20353fc540> constant 25>

 <integer_cst 0x7f1fba8e1680 type <pointer_type 0x7f20353fc540> constant 33>

 <integer_cst 0x7f1ef4a69c20 type <pointer_type 0x7f1f05d0e9d8

hb_destroy_func_t> constant 0>

 <integer_cst 0x7f1f180634e0 type <pointer_type 0x7f1edda427e0 LookupGenericOp>

constant 0>

 <integer_cst 0x7f1fb28978e0 type <pointer_type 0x7f207af33c78

nsMallocSizeOfFun> constant 0>

 <integer_cst 0x7f1fb28978e0 type <pointer_type 0x7f207af33c78

nsMallocSizeOfFun> constant 0>

 <integer_cst 0x7f1fa8ab4780 type <pointer_type 0x7f2078d86bd0 InitDataFunc>

constant 0>

 <integer_cst 0x7f204e3d0880 type <pointer_type 0x7f1fee180540> constant 201>

 <integer_cst 0x7f1fbafd5a60 type <pointer_type 0x7f1ef3fc9498> constant 0>

 <integer_cst 0x7f1fe63de860 type <pointer_type 0x7f205716f9d8 destroyOp>

constant 0>

 <integer_cst 0x7f1fe63de860 type <pointer_type 0x7f205716f9d8 destroyOp>

constant 0>

 <integer_cst 0x7f1ef4a69c20 type <pointer_type 0x7f1f05d0e9d8

hb_destroy_func_t> constant 0>

 <integer_cst 0x7f1ef4a69c20 type <pointer_type 0x7f1f05d0e9d8

hb_destroy_func_t> constant 0>

 <integer_cst 0x7f1ef4a69c20 type <pointer_type 0x7f1f05d0e9d8

hb_destroy_func_t> constant 0>

 <integer_cst 0x7f1ef4a69c20 type <pointer_type 0x7f1f05d0e9d8

hb_destroy_func_t> constant 0>

 <integer_cst 0x7f20471da2c0 type <pointer_type 0x7f1fee1d9000> constant 161>



Martin, for 4.9 we can probably turn call to NULL into builtin_trap or

builtin_unreachable (not

sure if the second is fine, but it would result in better code).

I wonder however from where the non-NULL constants are comming? Isn't it some

bug in ipa-prop

that picks complete garbage? That may be possible wrong code issue...



I will commit patch tomorrow morning.

Honza

Reply via email to