[all-commits] [llvm/llvm-project] f04421: [ConstraintElim] Add reproducer remarks.
Florian Hahn via All-commits
all-commits at lists.llvm.org
Tue Feb 14 07:16:27 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f04421739232b19d70fd00fbb66b136a3f1b22ed
https://github.com/llvm/llvm-project/commit/f04421739232b19d70fd00fbb66b136a3f1b22ed
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-02-14 (Tue, 14 Feb 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/analysis-invalidation.ll
A llvm/test/Transforms/ConstraintElimination/reproducer-remarks-debug.ll
A llvm/test/Transforms/ConstraintElimination/reproducer-remarks.ll
A llvm/tools/opt-viewer/extract-reproducers.py
Log Message:
-----------
[ConstraintElim] Add reproducer remarks.
This patch adds an optimization remark for each performed optimization
containing a module that can be used to reproduce the transformation.
The reproducer function contains a series of @llvm.assume calls, one for
each condition currently in scope. For each condition, the operand
instruction are cloned until we reach operands that have an entry in the
constraint system. Those will then be added as function arguments.
The reproducer functions are minimal, that is, they only contain the
conditions required for a given simplification. The resulting IR is very
compact and can be used to verify each transformation individually.
It also provides a python script to extract the IR from the remarks and
create LLVM IR files from it.
Reviewed By: paquette
Differential Revision: https://reviews.llvm.org/D143323
More information about the All-commits
mailing list