[all-commits] [llvm/llvm-project] 4ecc6a: [InstCombine] create a pass options container and ...
Sanjay Patel via All-commits
all-commits at lists.llvm.org
Fri Feb 17 07:30:30 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4ecc6af813e2568c3529ea0fe55eaea891d8ab49
https://github.com/llvm/llvm-project/commit/4ecc6af813e2568c3529ea0fe55eaea891d8ab49
Author: Sanjay Patel <spatel at rotateright.com>
Date: 2023-02-17 (Fri, 17 Feb 2023)
Changed paths:
M llvm/include/llvm/Transforms/InstCombine/InstCombine.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Other/new-pm-print-pipeline.ll
M llvm/test/Transforms/InstCombine/gep-combine-loop-invariant.ll
M llvm/test/Transforms/InstCombine/statepoint-cleanup.ll
M llvm/test/Transforms/InstCombine/statepoint-iter.ll
Log Message:
-----------
[InstCombine] create a pass options container and add "use-loop-info" argument
This is a cleanup/modernization patch requested in D144045 to make loop
analysis a proper optional parameter to the pass rather than a
semi-arbitrary value inherited via the pass pipeline.
It's a bit more complicated than the recent patch I started copying from
(D143980) because InstCombine already has an option for MaxIterations
(added with D71145).
I debated just deleting that option, but it was used by a pair of existing
tests, so I put it into a struct (code largely copied from SimplifyCFG's
implementation) to make the code more flexible for future options
enhancements.
I didn't alter the pass manager invocations of InstCombine in this patch
because the patch was already getting big, but that will be a small
follow-up as noted with the TODO comment.
Differential Revision: https://reviews.llvm.org/D144199
More information about the All-commits
mailing list