[PATCH] D75923: [Attributor] Deduction based on recursive path exploration

Hideto Ueno via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 12 03:46:55 PDT 2020


uenoku marked 2 inline comments as done.
uenoku added inline comments.


================
Comment at: llvm/lib/Transforms/IPO/Attributor.cpp:1064
+      return true;
+    };
+
----------------
jdoerfert wrote:
> What happens if there is a different terminator here? I mean do we handle them all correctly?
Does "different terminator" mean like `switch` or other terminator? If you mean so, I think it can handle such cases.


================
Comment at: llvm/test/Transforms/Attributor/dereferenceable-1.ll:451
   tail call void @rec-branch-2(i32 1, i32 1, i32 1, i32* %ptr)
   br label %if.end8
 
----------------
jdoerfert wrote:
> We should investigate if it is sound to use assumed information in the exploration to catch this case.
I feel it is difficult to use assumed information in this deduction scheme. 
I'll investigate more but I think it would be really complex reasoning to maintain the soundness.

If we don't consider the cost, I think running Attributor twice will be bug free and effective solution because we can easily use assume information of 1st iteration as known information of 2nd iteration.


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

https://reviews.llvm.org/D75923





More information about the llvm-commits mailing list