Revert "[libc++] Optimize std::find_if" (#175903)

`__builtin_assume_dereferenceable` currently implies that the pointer
given to it is non-null, even if the size is zero. This causes
miscompilations, since we consider [nullptr, nullptr) to be a valid
range.

Reverts llvm/llvm-project#167697

GitOrigin-RevId: 776c09c212e945fdceeae240b42c38df3dd34727
9 files changed