Page MenuHomePhabricator
Feed Advanced Search

Aug 21 2021

Krishnakariya added a comment to D107822: [InstCombine] Fold Int2Ptr/PtrToInt if the ptr is dereferenceable.

The code here looks very weird.
Please can you at least split this up into a preparatory NFC changes, the deref-based fold, and the domination-based fold?
Also, please precommit the tests, even if just locally for you, so that the patches show how the check lines change.

Aug 21 2021, 2:38 AM · Restricted Project, Restricted Project
Krishnakariya updated the diff for D107822: [InstCombine] Fold Int2Ptr/PtrToInt if the ptr is dereferenceable.

Updated diff

Aug 21 2021, 2:38 AM · Restricted Project, Restricted Project
Krishnakariya added reviewers for D108506: [InstCombine] Fold Int2Ptr/PtrToInt if the ptr is dereferenceable using API: nlopes, aqjune, lebedev.ri, spatel, nikic.
Aug 21 2021, 2:01 AM · Restricted Project, Restricted Project
Krishnakariya requested review of D108506: [InstCombine] Fold Int2Ptr/PtrToInt if the ptr is dereferenceable using API.
Aug 21 2021, 1:27 AM · Restricted Project, Restricted Project

Aug 20 2021

Krishnakariya added reviewers for D108504: [InstCombine][NFC] refactor roundtripcast: nlopes, aqjune, spatel, nikic, lebedev.ri.
Aug 20 2021, 11:59 PM · Restricted Project, Restricted Project
Krishnakariya requested review of D108504: [InstCombine][NFC] refactor roundtripcast.
Aug 20 2021, 11:57 PM · Restricted Project, Restricted Project

Aug 18 2021

Krishnakariya added a comment to D107822: [InstCombine] Fold Int2Ptr/PtrToInt if the ptr is dereferenceable.

ping

Aug 18 2021, 11:52 AM · Restricted Project, Restricted Project

Aug 12 2021

Krishnakariya added reviewers for D107822: [InstCombine] Fold Int2Ptr/PtrToInt if the ptr is dereferenceable: nlopes, aqjune, nikic, spatel, lebedev.ri.
Aug 12 2021, 6:33 AM · Restricted Project, Restricted Project
Krishnakariya updated the diff for D107822: [InstCombine] Fold Int2Ptr/PtrToInt if the ptr is dereferenceable.

updated.

Aug 12 2021, 5:34 AM · Restricted Project, Restricted Project
Krishnakariya updated the diff for D107822: [InstCombine] Fold Int2Ptr/PtrToInt if the ptr is dereferenceable.

updated

Aug 12 2021, 2:35 AM · Restricted Project, Restricted Project

Aug 11 2021

Krishnakariya updated the diff for D107822: [InstCombine] Fold Int2Ptr/PtrToInt if the ptr is dereferenceable.

Modified code and Added new tests

Aug 11 2021, 12:40 PM · Restricted Project, Restricted Project

Aug 10 2021

Krishnakariya requested review of D107822: [InstCombine] Fold Int2Ptr/PtrToInt if the ptr is dereferenceable.
Aug 10 2021, 6:13 AM · Restricted Project, Restricted Project

Aug 9 2021

Krishnakariya committed rG5f6b4ce7de65: [InstCombine] Remove nnan requirement for transformation to fabs from select (authored by Krishnakariya).
[InstCombine] Remove nnan requirement for transformation to fabs from select
Aug 9 2021, 10:29 AM
Krishnakariya added inline comments to D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.
Aug 9 2021, 10:29 AM · Restricted Project

Aug 7 2021

Krishnakariya committed rGa9a176ca3bb0: [InstCombine] Remove nnan requirement for transformation to fabs from select (authored by Krishnakariya).
[InstCombine] Remove nnan requirement for transformation to fabs from select
Aug 7 2021, 10:09 AM
Krishnakariya closed D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.
Aug 7 2021, 10:09 AM · Restricted Project
Krishnakariya updated the diff for D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.

Updating the same diff to commit this patch.

Aug 7 2021, 8:52 AM · Restricted Project

Aug 3 2021

Krishnakariya added a comment to D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.

I committed this patch by mistake. I am extremely sorry about this.
I've reverted the commit.

FWIW reading through the disscussion i would think this has been basically accepted, if not stamped yet for formal reasons of wanting the tests to be precommitted.

Aug 3 2021, 6:44 AM · Restricted Project
Krishnakariya added a comment to D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.

I committed this patch by mistake. I am extremely sorry about this.
I've reverted the commit.

Aug 3 2021, 6:11 AM · Restricted Project
Krishnakariya added a reverting change for rG6180ce2e2abe: [InstCombine] Remove nnan requirement for transformation to fabs from select: rG946fd4ea65bd: Revert "[InstCombine] Remove nnan requirement for transformation to fabs from….
Aug 3 2021, 5:39 AM
Krishnakariya committed rG946fd4ea65bd: Revert "[InstCombine] Remove nnan requirement for transformation to fabs from… (authored by Krishnakariya).
Revert "[InstCombine] Remove nnan requirement for transformation to fabs from…
Aug 3 2021, 5:38 AM
Krishnakariya added a reverting change for D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select: rG946fd4ea65bd: Revert "[InstCombine] Remove nnan requirement for transformation to fabs from….
Aug 3 2021, 5:38 AM · Restricted Project
Krishnakariya committed rGd99260641b30: [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x) (authored by Krishnakariya).
[InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x)
Aug 3 2021, 5:23 AM
Krishnakariya committed rG6180ce2e2abe: [InstCombine] Remove nnan requirement for transformation to fabs from select (authored by Krishnakariya).
[InstCombine] Remove nnan requirement for transformation to fabs from select
Aug 3 2021, 5:23 AM
Krishnakariya closed D106289: [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x).
Aug 3 2021, 5:23 AM · Restricted Project
Krishnakariya closed D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.
Aug 3 2021, 5:23 AM · Restricted Project
Krishnakariya added inline comments to D106289: [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x).
Aug 3 2021, 3:26 AM · Restricted Project
Krishnakariya updated the diff for D106289: [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x).
Aug 3 2021, 3:24 AM · Restricted Project

Aug 2 2021

Krishnakariya updated the diff for D106289: [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x).

Simplified code.

Aug 2 2021, 11:57 AM · Restricted Project
Krishnakariya added a comment to D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.

Updated diff after pre-committing tests.

Aug 2 2021, 8:42 AM · Restricted Project
Krishnakariya updated the diff for D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.
Aug 2 2021, 3:41 AM · Restricted Project

Aug 1 2021

Krishnakariya committed rG56e7b6c3924d: [InstCombine] Precommit tests for D106872 (NFC) (authored by Krishnakariya).
[InstCombine] Precommit tests for D106872 (NFC)
Aug 1 2021, 10:24 AM

Jul 31 2021

Krishnakariya updated the diff for D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.
Jul 31 2021, 3:23 AM · Restricted Project
Krishnakariya updated the diff for D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.

Added new tests

Jul 31 2021, 3:07 AM · Restricted Project

Jul 30 2021

Krishnakariya updated the diff for D106289: [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x).

Yes, it handles this case. I have added a new test for the same.

Jul 30 2021, 5:42 AM · Restricted Project

Jul 28 2021

Krishnakariya updated the diff for D106289: [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x).

Added a test for different input pointer types (func_pointer_different_types).

Jul 28 2021, 2:31 AM · Restricted Project

Jul 27 2021

Krishnakariya added a comment to D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.

It would be good to mention in the description *why* this is being done, why this is okay (alive2 link would suffice)

Sure, I have updated the description.

Jul 27 2021, 6:39 AM · Restricted Project
Krishnakariya updated the summary of D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.
Jul 27 2021, 6:38 AM · Restricted Project
Krishnakariya requested review of D106872: [InstCombine] Remove nnan requirement for transformation to fabs from select.
Jul 27 2021, 6:22 AM · Restricted Project

Jul 26 2021

Krishnakariya updated the diff for D106289: [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x).
Jul 26 2021, 4:16 AM · Restricted Project
Krishnakariya updated the diff for D106289: [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x).
Jul 26 2021, 12:33 AM · Restricted Project

Jul 24 2021

Krishnakariya added a comment to D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag .

Yes, we may remove FMF checks as below. I will make a new patch for this.
FSub logic: Remove check for nnan flag presence in fsub instruction. Example: https://alive2.llvm.org/ce/z/tYeZub (fsub).
FNeg logic: Remove check for the presence of nnan and nsz flag in fneg instruction. Example: https://alive2.llvm.org/ce/z/TbuLnk (fneg), https://alive2.llvm.org/ce/z/yBDCZ_ (fsub).

Jul 24 2021, 12:26 PM · Restricted Project

Jul 22 2021

Krishnakariya updated the diff for D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag .
Jul 22 2021, 10:55 AM · Restricted Project
Krishnakariya added a comment to D106563: Precommit tests for D101727.

Could you please commit this patch for me? I do not have commit access yet.

Jul 22 2021, 8:36 AM · Restricted Project
Krishnakariya added a reviewer for D106563: Precommit tests for D101727: spatel.
Jul 22 2021, 8:26 AM · Restricted Project
Krishnakariya requested review of D106563: Precommit tests for D101727.
Jul 22 2021, 8:26 AM · Restricted Project
Krishnakariya updated the diff for D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag .

Hi @spatel,
I am sorry for my delayed responses to this patch. I wanted to ask for some clarification on your previous comments.
I have created few new tests similar to the original ones, with the only change that the FMF flag present in the fsub/fneg is now present on the select instruction. Original tests are left untouched.
Is this what you were expecting in your last comment?

Jul 22 2021, 7:42 AM · Restricted Project

Jul 20 2021

Krishnakariya added reviewers for D106289: [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x): nikic, lebedev.ri, aqjune, nlopes.
Jul 20 2021, 8:31 AM · Restricted Project

Jul 19 2021

Krishnakariya updated the diff for D106289: [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x).
Jul 19 2021, 10:57 AM · Restricted Project
Krishnakariya requested review of D106289: [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x).
Jul 19 2021, 10:37 AM · Restricted Project

Jul 17 2021

Krishnakariya updated the diff for D105088: [InstCombine] Fold IntToPtr/PtrToInt to bitcast.

Simplified code.

Jul 17 2021, 6:51 AM · Restricted Project

Jul 15 2021

Krishnakariya updated the diff for D105088: [InstCombine] Fold IntToPtr/PtrToInt to bitcast.
Jul 15 2021, 5:09 AM · Restricted Project
Krishnakariya updated the diff for D105088: [InstCombine] Fold IntToPtr/PtrToInt to bitcast.

simplified code for function "foldICmpWithCastOp".

Jul 15 2021, 3:17 AM · Restricted Project
Krishnakariya added a comment to D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag .

Ping @spatel, a gentle reminder. Could you please review the updates on this patch?

Jul 15 2021, 2:58 AM · Restricted Project

Jul 14 2021

Krishnakariya updated the diff for D105088: [InstCombine] Fold IntToPtr/PtrToInt to bitcast.

Created a new function (simplifyIntToPtrRoundTripCast) which simplifies the inttoptr/ptrtoint cast.

Jul 14 2021, 11:39 AM · Restricted Project

Jul 13 2021

Krishnakariya added a comment to D105771: [InstCombine] Precommit tests for D105088.

@Krishnakariya Could you please share Your Name <your@email.com> to use for the commit?

Jul 13 2021, 3:08 AM · Restricted Project

Jul 12 2021

Krishnakariya added a comment to D105771: [InstCombine] Precommit tests for D105088.

LGTM

Thanks.
I do not have commit access. Please commit this patch for me.

Jul 12 2021, 10:08 AM · Restricted Project
Krishnakariya updated the diff for D105771: [InstCombine] Precommit tests for D105088.

Modified test3 and updated the names of unit tests.

Jul 12 2021, 9:01 AM · Restricted Project

Jul 11 2021

Krishnakariya requested review of D105771: [InstCombine] Precommit tests for D105088.
Jul 11 2021, 3:15 AM · Restricted Project

Jul 9 2021

Krishnakariya added inline comments to D105088: [InstCombine] Fold IntToPtr/PtrToInt to bitcast.
Jul 9 2021, 6:40 AM · Restricted Project
Krishnakariya updated the diff for D105088: [InstCombine] Fold IntToPtr/PtrToInt to bitcast.
Jul 9 2021, 6:36 AM · Restricted Project
Krishnakariya updated the diff for D105088: [InstCombine] Fold IntToPtr/PtrToInt to bitcast.

Added an command-line option disable-i2p-p2i-opt to opt to disable inttoptr/ptrtoint optimization.
I have removed the const keyword from the declaration of the CastResults array.
This change is temporary, and the array would be constified again.

Jul 9 2021, 6:13 AM · Restricted Project

Jul 8 2021

Krishnakariya updated the diff for D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag .
Jul 8 2021, 11:36 AM · Restricted Project

Jul 7 2021

Krishnakariya updated the diff for D105088: [InstCombine] Fold IntToPtr/PtrToInt to bitcast.

Updated the check.

Jul 7 2021, 12:23 PM · Restricted Project
Krishnakariya updated the diff for D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag .

Updates:

  1. Added check for nnan (earlier removed) and added new tests.
  2. Check for nsz in select for fneg logic is required. So, I didn't remove this check. Please see this example: https://alive2.llvm.org/ce/z/sEfTYx.
Jul 7 2021, 12:18 PM · Restricted Project

Jul 6 2021

Krishnakariya updated the diff for D105088: [InstCombine] Fold IntToPtr/PtrToInt to bitcast.

Added the check and test case for the same.

Jul 6 2021, 12:01 PM · Restricted Project

Jul 4 2021

Krishnakariya updated the diff for D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag .

I'm confused. This patch started by just switching the FMF propagation source from the fneg/fsub to the select. Now, we are back to taking flags from fneg and then intersecting some flags from the select.

But this approach has known bugs, as you have shown in the new Alive2 example. Why is this version of the patch better than just propagating all flags from the select?

Jul 4 2021, 5:12 AM · Restricted Project

Jun 29 2021

Krishnakariya updated the diff for D105088: [InstCombine] Fold IntToPtr/PtrToInt to bitcast.
Jun 29 2021, 4:01 AM · Restricted Project
Krishnakariya requested review of D105088: [InstCombine] Fold IntToPtr/PtrToInt to bitcast.
Jun 29 2021, 1:28 AM · Restricted Project

Jun 14 2021

Krishnakariya added a comment to D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag .

This patch is complete and is ready for review.

Jun 14 2021, 11:45 PM · Restricted Project

Jun 3 2021

Krishnakariya updated the diff for D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag .
Jun 3 2021, 11:52 AM · Restricted Project
Krishnakariya updated the diff for D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag .

I have made changes in FMF propagation logic.
FMF like nnan and ninf should be propagated only if present in select instruction, while for other flags like arcp, reassoc, it doesn't really depend on select instruction.

Jun 3 2021, 8:41 AM · Restricted Project

May 14 2021

Krishnakariya updated the diff for D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag .

Added description for the test case.

May 14 2021, 6:23 AM · Restricted Project

May 3 2021

Krishnakariya added a reviewer for D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag : spatel.
May 3 2021, 4:42 AM · Restricted Project

May 2 2021

Krishnakariya requested review of D101727: Fix PR47960 - Incorrect transformation of fabs with nnan flag .
May 2 2021, 1:25 PM · Restricted Project