Null check before free is currently removed only when we are optimizing for size.
This patch removes that limitation since free already handles null pointer passed as argument so null check before free can be easily removed. One more useless branching at the end of functions to be removed.