Improve fgAddRefPred (dotnet/coreclr#12585)
* Improve fgAddRefPred
Only do one search through the predecessor list looking for an
existing predecessor edge, or looking for the proper location to
insert a new predecessor edge. Previously, we traversed the list
twice (or part of twice) for new edges. For new edges, stop the
search when we reach the correct location in sorted order.
This reduces x86 release minopts instruction count by 0.42% and
full opts instruction count by 0.33% (of a superpmi replay of
the tests).
Fixes dotnet/coreclr#12582
* Update for feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
58d0ead6d34837fab60da1473090588db415fc1d