[all-commits] [llvm/llvm-project] 370add: [IR] Move willReturn() to Instruction

Nikita Popov via All-commits all-commits at lists.llvm.org
Fri Feb 19 03:05:34 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 370addb996138a9e3634899cf264c7621307617a
      https://github.com/llvm/llvm-project/commit/370addb996138a9e3634899cf264c7621307617a
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/Utils/Local.cpp

  Log Message:
  -----------
  [IR] Move willReturn() to Instruction

This moves the willReturn() helper from CallBase to Instruction,
so that it can be used in a more generic manner. This will make
it easier to fix additional passes (ADCE and BDCE), and will give
us one place to change if additional instructions should become
non-willreturn (e.g. there has been talk about handling volatile
operations this way).

I have also included the IntrinsicInst workaround directly in
here, so that it gets applied consistently. (As such this change
is not entirely NFC -- FuncAttrs will now use this as well.)

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




More information about the All-commits mailing list