[PATCH] D42717: [JumpThreading] sync DT for LVI analysis (PR 36133)

Andrei Elovikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 14 03:47:45 PST 2018


a.elovikov added a comment.

I might be missing something, but why don't we enable DT back in LVI after the JT pass finishes and flushes the DDT? Is it possible that we end up with disabled DT *after* the JT?



================
Comment at: llvm/lib/Analysis/LazyValueInfo.cpp:469
+    void disableDT() {
+      if (DT)
+        std::swap(DT, DisabledDT);
----------------
I'd add 
  
  assert((!DT || !DisabledDT) && "Both DT and DisabledDT are not nullptr!")


================
Comment at: llvm/lib/Analysis/LazyValueInfo.cpp:476
+    void enableDT() {
+      if (DisabledDT)
+        std::swap(DT, DisabledDT);
----------------
Same assert for DT and DisabledDT not being null simultaneously.


https://reviews.llvm.org/D42717





More information about the llvm-commits mailing list