Results 10 comments of Zhengyang Liu

To eliminate the unnecessary jumps, two nested loops may share a common header. In this reduced example, the jump-threading pass turns the loops that have separate headers into loops sharing...

I guess we need to reimplement part of function in alive2 https://llvm.org/doxygen/LoopSimplify_8cpp_source.html#l00220. After it is implemented alive2 will be able to tell that these are two loops instead of one....

These trivial ones seems easy to implement. I will send a patch for llvm.[maxnum|minnum|ceil|floor|nearbyint|fabs]. And after that I'll send another patch for ffs/ffsll.

@nunoplopes Hi Nuno, I am working on maxnum and minnum, llvm langref* is saying that `minnum(+/-0.0, +/-0.0) could return either -0.0 or 0.0.` How do we model this definition in...

@aqjune Hi Juneyoung, after encoding returning -0 for the input (+0, -0) and (-0, +0), alive thinks this transform is wrong. Maybe always returning -0 is not a good encoding....

@regehr @aqjune making returning value non-det makes `llvm/llvm/test/Transforms/InstCombine/minnum.ll` pass. I'll wrap up and run on whole test suite and see.

PR for minnum/maxnum support https://github.com/AliveToolkit/alive2/pull/352