1. [SCEV] Use nw flag and symbolic iteration count to sharpen ranges of AddRecs (details)
  2. [llvm-cov] Fix test cases. (details)
Commit 905101c36025fe1c8ecdf9a20cd59db036676073 by mkazantsev
[SCEV] Use nw flag and symbolic iteration count to sharpen ranges of AddRecs

We can sharpen the range of a AddRec if we know that it does not
self-wrap and know the symbolic iteration count in the loop. If we can
evaluate the value of AddRec on the last iteration and prove that at least
one its intermediate value lies between start and end, then no-wrap flag
allows us to conclude that all of them also lie between start and end. So
the estimate of range can be improved to union of ranges of start and end.

Differential Revision:
Reviewed By: efriedma
The file was modifiedllvm/test/Transforms/IndVarSimplify/promote-iv-to-eliminate-casts.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/no-wrap-symbolic-becount.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/test/Transforms/IndVarSimplify/X86/eliminate-trunc.ll
Commit 19ae9b6e21e2491debeb910e2c541be9796f1b13 by zequanwu
[llvm-cov] Fix test cases.
`/dev/null` is treated as regualar file on Windows.
native_separators.c line 11 used relative path which was not correct but worked before because when `SourceFiles` is empty, it add all source files into `SourceFiles`.
The file was modifiedllvm/test/tools/llvm-cov/warnings.h
The file was modifiedllvm/test/tools/llvm-cov/native_separators.c