- User Since
- Oct 28 2019, 10:35 AM (23 w, 2 d)
Tue, Apr 7
Mon, Mar 30
LGTM. Thank you for revising the patch!
Sun, Mar 29
It looks like the testcase can be reduced to the following. You can check for no jump threading occurring:
Thu, Mar 19
Incorporated feedback from efriedma to use llvm::is_contained instead
Wed, Mar 18
Mon, Mar 16
Sorry, the infinite recursion seems to come from EvaluateOnPredecessorEdge, a function that I recently added to support jump threading across two basic blocks. EvaluateOnPredecessorEdge does not have a guard against infinite recursion while its close cousin ComputeValueKnownInPredecessors does.
Fri, Mar 13
Hi junparser, your main change in JumpThreading.cpp looks good. Now, could you explain your change in removed-use.ll? To be honest, I haven't understood the original intent of the testcase. Thanks!
Mar 6 2020
Hi @maxim-kuvyrkov, would you mind filing two separate issues -- the size and performance -- preferably with preprocessed source code? Thanks!
Feb 18 2020
Thank you for catching this! I meant to handle PredBB ending with a conditional branch only, but I wasn't aware that PredBB could end with an unconditional branch if its address is taken.
Feb 5 2020
I've fixed the confusing debug message that Wei has pointed out.
Feb 3 2020
I've fixed several bugs. PTAL Thanks!
Jan 28 2020
This patch is work-in-progress, but I am uploading it now so I can
share it with wider audience. I am still working on fixing loose
I am re-opening this so that I can check in a revised version.
Jan 23 2020
Jan 17 2020
I echo what other have said.
Jan 16 2020
I've further simplied thread-two-bbs3.ll, the testcase for Windows,
and made it a little more robust with:
Jan 15 2020
I'm abandoning this change. We'll discuss the revision in https://reviews.llvm.org/D70247 instead.
I'm reopening this so that I can upload a revision containing a fix for Windows build.
Jan 13 2020
Jan 8 2020
I've reverted the change for now. I'll take a look at the failure on Windows.
Jan 7 2020
Please take a look. Thanks!
Updated the patch, incorporating feedback from Wei.
Dec 30 2019
https://reviews.llvm.org/D71733 supersedes this patch.
Dec 20 2019
Dec 17 2019
I've updated the patch so that we commit to jump threading across two
basic blocks once we are done with analysis. That is, we don't
transform the IR partially only to see jump threading proper failing.
Nov 22 2019
Self-LGTM as this is a very simple NFC.
Nov 21 2019
Updated to incorporate the feedback.
Nov 20 2019
Nov 15 2019
Nov 14 2019
Nov 8 2019
Nov 6 2019
Nov 5 2019
I've decided to scale back. I'm now simply factoring out code to
clone instructions. I thought about capturing more functionality into
CloneBasicBlock as you suggeted, but then the function would lose
generality I need for my upcoming patch.
I've incorporated the feedback from wmi.