[PATCH] D57881: [DTU] Refine the document of mutation APIs [NFC] (PR40528)

Brian Rzycki via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 13 09:35:20 PST 2019

brzycki added inline comments.

Comment at: llvm/include/llvm/Analysis/DomTreeUpdater.h:148
+  /// submitted. }
   void insertEdgeRelaxed(BasicBlock *From, BasicBlock *To);
NutshellySima wrote:
> kuhar wrote:
> > I thought that we still need the relaxed version in order to make JumpThreading code happy? Should it be deprecated?
> I think it is not needed to preserve the relaxed version because JT also submits invalid updates when calling applyUpdates(). And I believe [[ https://reviews.llvm.org/D58170 | D58170 ]] can solve most of the problems in JT by making use of the extra information inferred from the fact that JT only submits updates that didn't happen but never submits updates that are already applied.
I hope you are correct @NutshellySima . I never wanted to add the `*relaxed()` methods but there are situations in JumpThreading where we run for a very long time before calling `flush()`. For some `F` I was unable to detect all invalid cases.

It's probably worth testing to do so, although it's been quite a long time for me to recall exactly which testcases caused problems.

  rG LLVM Github Monorepo



More information about the llvm-commits mailing list