[PATCH] D102615: [LoopDeletion] Break backedge if we can prove that the loop is exited on 1st iteration

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 31 00:13:47 PDT 2021


lebedev.ri requested changes to this revision.
lebedev.ri added a comment.
This revision now requires changes to proceed.

In D102615#2788946 <https://reviews.llvm.org/D102615#2788946>, @mkazantsev wrote:

> So far it seems that all problems are caused by compile time increase. There is already no room for shrinking the scope, so I'm returning this with option (turned off by default).

I don't believe 
https://lab.llvm.org/buildbot/#/builders/105/builds/10339
`FAIL: MultiSource/Benchmarks/MallocBench/gs/gs.execution_time` is compile time issue.

>From https://lab.llvm.org/buildbot/api/v2/logs/5749632/raw :

  ---------------------------------------------------------------
  >>> ========= '/home/buildbots/ppc64le-clang-lnt-test/clang-ppc64le-lnt/test/sandbox/build/MultiSource/Benchmarks/MallocBench/gs/gs' Program
  ---------------------------------------------------------------
  
  TEST-PASS: compile /home/buildbots/ppc64le-clang-lnt-test/clang-ppc64le-lnt/test/sandbox/build/MultiSource/Benchmarks/MallocBench/gs/gs
  TEST-RESULT-compile-success: pass
  TEST-RESULT-compile-hash: 71676ae82ccfc3ce19d1a06b5c542f59
  TEST-RESULT-compile-time: user 21.431000
  TEST-RESULT-compile-real-time: real 30.486300
  
  TEST-FAIL: exec /home/buildbots/ppc64le-clang-lnt-test/clang-ppc64le-lnt/test/sandbox/build/MultiSource/Benchmarks/MallocBench/gs/gs
  TEST-RESULT-exec-time: user       0.0000
  TEST-RESULT-exec-real-time: real       0.0204

Compare that with a recent run:
https://lab.llvm.org/buildbot/#/builders/105/builds/10409

  ---------------------------------------------------------------
  >>> ========= '/home/buildbots/ppc64le-clang-lnt-test/clang-ppc64le-lnt/test/sandbox/build/MultiSource/Benchmarks/MallocBench/gs/gs' Program
  ---------------------------------------------------------------
  
  TEST-PASS: compile /home/buildbots/ppc64le-clang-lnt-test/clang-ppc64le-lnt/test/sandbox/build/MultiSource/Benchmarks/MallocBench/gs/gs
  TEST-RESULT-compile-success: pass
  TEST-RESULT-compile-hash: 414dbc57ddbb1e8c60a37884db3f706c
  TEST-RESULT-compile-time: user 40.363300
  TEST-RESULT-compile-real-time: real 64.390900
  
  TEST-PASS: exec /home/buildbots/ppc64le-clang-lnt-test/clang-ppc64le-lnt/test/sandbox/build/MultiSource/Benchmarks/MallocBench/gs/gs
  TEST-RESULT-exec-success: pass
  TEST-RESULT-exec-time: user       0.0761
  TEST-RESULT-exec-real-time: real       0.1529

It really does look like that program was miscompiled (or an UB in it exploited), and it produced an unexpected result.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D102615/new/

https://reviews.llvm.org/D102615



More information about the llvm-commits mailing list