This is an archive of the discontinued LLVM Phabricator instance.

[ValueTracking] Added support to deduce PHI Nodes values being a power of 2
AbandonedPublic

Authored by huangjd on Apr 4 2022, 1:20 PM.

Details

Summary

Added support to deduce PHI Nodes values being a power of 2 in ValueTracking. This enables more optimizations in applications such as calculating alignment.

Diff Detail

Event Timeline

huangjd created this revision.Apr 4 2022, 1:20 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 4 2022, 1:20 PM
Herald added a subscriber: hiraditya. · View Herald Transcript
huangjd requested review of this revision.Apr 4 2022, 1:20 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 4 2022, 1:20 PM
huangjd retitled this revision from Added support to deduce PHI Nodes values being a power of 2 in ValueTracking. This enables more optimizations in applications such as calculating alignment. to Power of 2 ValueTracking for PHI node.Apr 4 2022, 1:23 PM
huangjd edited the summary of this revision. (Show Details)
huangjd added a reviewer: davidxl.
xbolva00 added inline comments.
llvm/test/Analysis/ValueTracking/known-power-of-two-urem.ll
1

Please use utils/update_test_checks.py

davidxl added inline comments.Apr 5 2022, 2:59 PM
llvm/lib/Analysis/ValueTracking.cpp
2028

run a clang-format on the changed part.

2045

typo: induction

llvm/test/Analysis/ValueTracking/known-power-of-two-urem.ll
26

Please also add tests for

  1. other operators for simple recurrence.
  1. for other type of recurrence (change at line 2177).
  1. chained phi case
  1. negative cases.
xbolva00 retitled this revision from Power of 2 ValueTracking for PHI node to [ValueTracking] Added support to deduce PHI Nodes values being a power of 2.Apr 5 2022, 3:06 PM
huangjd abandoned this revision.Apr 13 2022, 4:21 PM