[all-commits] [llvm/llvm-project] e77624: [IPConstProp] Remove and move tests to SCCP.

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu Jul 30 04:37:05 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e77624a3be942c7abba48942b3a8da3462070a3f
      https://github.com/llvm/llvm-project/commit/e77624a3be942c7abba48942b3a8da3462070a3f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2020-07-30 (Thu, 30 Jul 2020)

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

  Log Message:
  -----------
  [IPConstProp] Remove and move tests to SCCP.

As far as I know, ipconstprop has not been used in years and ipsccp has
been used instead. 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.

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).

Also discussed on llvm-dev:
http://lists.llvm.org/pipermail/llvm-dev/2020-July/143773.html

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D84447




More information about the All-commits mailing list