Spotted by https://reviews.llvm.org/D74755#1998673
it looks like OrderedSegments in the function is only used to set the physical address to the virtual address when there are no physical addresses set amongst these sections.
I believe this behavior was copied from https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=6ffd79000b45e77b3625143932ffbf781b6aecab (2008-05)
The commit was made for very old linkers.
This special rule does not seem useful and remove it can allow us to
delete a large chunk of code.
all_of -> llvm::all_of
(it is consistent with how LLVM uses algorithms and makes it clear that we use llvm version of a algorithm).