http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45882
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-04-01 18:11:07 UTC --- ENTRY_VALUE's operand is 0, because in most cases you don't want to let the various RTL passes to see through the ENTRY_VALUE rtl, they should treat the RTL as a black box, mostly when you want to look at the operand is either for rtx_equal_p and similar functions, or when creating those or when the debug info is emitted from it. If ENTRY_VALUE's operand is e rather than 0, e.g. various RTL passes would consider the there referenced hard register (or memory) to be live at that point, or used, etc., but it actually isn't used.