On Tue, Oct 16, 2012 at 4:54 PM, Aldy Hernandez <al...@redhat.com> wrote: > On 10/16/12 13:28, Jakub Jelinek wrote: > >> I see another problem with noce_can_store_speculate_p, the return false; >> checks. The search for a store to exactly that location can be done >> just on post dominator bbs, but I wonder how you can avoid looking for >> volatile insns or non-const/pure calls (or insns that may modify >> the address) also in other bbs. >> What if there is: >> location of considered if-conversion on mem >> if (some_condition) >> call (); >> mem = something; > > > Are we not currently being conservative in the current code and returning > false once we see a volatile or a non-const call?
Jakub's point is that in his example the call will not be a post-dominator of the block. it's a good point. Would you mind trying to create a test case along those lines? Ian