[PATCH] D153660: [ConstraintElim] Track and simplify conditions at use.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 23 13:02:35 PDT 2023


fhahn created this revision.
fhahn added reviewers: nikic, zjaffal, mkazantsev, rapidsna.
Herald added subscribers: StephenFan, hiraditya.
Herald added a project: All.
fhahn requested review of this revision.
Herald added a project: LLVM.

This patch updates ConstraintElimination to track uses of conditions in
the worklist. This allows simplifying conditions using the context that
holds directly at the condition, instead of where the condition is
defined.

This allows us to catch more cases in practice: there are multiple
code-size changes for CTMark while compile-time remains unchanged:
https://llvm-compile-time-tracker.com/compare.php?from=55d04119687ac4a9509717a4c310332921047375&to=6c8e15609386078cb34df7c3891fdb1c47c8f830&stat=size-total

This should help to simplify D151799 <https://reviews.llvm.org/D151799>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D153660

Files:
  llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
  llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
  llvm/test/Transforms/ConstraintElimination/assumes.ll
  llvm/test/Transforms/ConstraintElimination/monotonic-pointer-phis-crashes.ll
  llvm/test/Transforms/ConstraintElimination/uses-in-different-blocks.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D153660.534054.patch
Type: text/x-patch
Size: 11680 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230623/4d34de23/attachment.bin>


More information about the llvm-commits mailing list