[PATCH] D84447: [IPConstProp] Replace and move tests to SCCP.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 23 09:58:09 PDT 2020


fhahn created this revision.
fhahn added reviewers: jdoerfert, efriedma, craig.topper, davide.
Herald added a reviewer: whitequark.
Herald added a reviewer: deadalnix.
Herald added subscribers: hiraditya, mgorny.
Herald added a project: LLVM.

As far as I know, ipconstprop has not been used in years and ipsccp has
been used instead for years. This has the potential for confusion and
sometimes leads people to spend time finding & reporting bugs as well as
updating it to work with the latest API changes.

If there are people actively using it, I would love to hear.

This patch moves the tests over to SCCP. There's one functional difference
I am aware of: ipconstprop propagates for each call-site individually, so
for functions that are called with different constant arguments it can sometimes
produce better results than ipsccp (at much higher compile-time cost).But
IPSCCP can be thought to do so as well for internal functions and as mentioned
earlier, the pass seems unused in practice (and there are no plans on working
towards enabling it anytime).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D84447

Files:
  llvm/bindings/go/llvm/transforms_ipo.go
  llvm/bindings/ocaml/transforms/ipo/ipo_ocaml.c
  llvm/bindings/ocaml/transforms/ipo/llvm_ipo.mli
  llvm/docs/Passes.rst
  llvm/include/llvm-c/Transforms/IPO.h
  llvm/include/llvm/InitializePasses.h
  llvm/include/llvm/LinkAllPasses.h
  llvm/include/llvm/Transforms/IPO.h
  llvm/lib/Transforms/IPO/CMakeLists.txt
  llvm/lib/Transforms/IPO/IPConstantPropagation.cpp
  llvm/lib/Transforms/IPO/IPO.cpp
  llvm/test/Transforms/IPConstantProp/2008-06-09-WeakProp.ll
  llvm/test/Transforms/IPConstantProp/PR43857.ll
  llvm/test/Transforms/IPConstantProp/arg-count-mismatch.ll
  llvm/test/Transforms/IPConstantProp/arg-type-mismatch.ll
  llvm/test/Transforms/IPConstantProp/comdat-ipo.ll
  llvm/test/Transforms/IPConstantProp/deadarg.ll
  llvm/test/Transforms/IPConstantProp/multiple_callbacks.ll
  llvm/test/Transforms/IPConstantProp/naked-return.ll
  llvm/test/Transforms/IPConstantProp/openmp_parallel_for.ll
  llvm/test/Transforms/IPConstantProp/pthreads.ll
  llvm/test/Transforms/IPConstantProp/recursion.ll
  llvm/test/Transforms/IPConstantProp/return-argument.ll
  llvm/test/Transforms/IPConstantProp/return-constant.ll
  llvm/test/Transforms/IPConstantProp/return-constants.ll
  llvm/test/Transforms/IPConstantProp/thread_local_acs.ll
  llvm/utils/findoptdiff
  llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D84447.280192.patch
Type: text/x-patch
Size: 32154 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200723/e9565727/attachment.bin>


More information about the llvm-commits mailing list