[all-commits] [llvm/llvm-project] 65fd03: [FunctionAttrs] Infer willreturn for functions wit...

Nikita Popov via All-commits all-commits at lists.llvm.org
Thu Jan 21 11:44:18 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 65fd034b95d69fa0e634861ee165b502ceb92a12
      https://github.com/llvm/llvm-project/commit/65fd034b95d69fa0e634861ee165b502ceb92a12
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-01-21 (Thu, 21 Jan 2021)

  Changed paths:
    M clang/test/CodeGenOpenCL/convergent.cl
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
    M llvm/test/CodeGen/AMDGPU/inline-attr.ll
    M llvm/test/Transforms/FunctionAttrs/atomic.ll
    M llvm/test/Transforms/FunctionAttrs/incompatible_fn_attrs.ll
    M llvm/test/Transforms/FunctionAttrs/nofree.ll
    M llvm/test/Transforms/FunctionAttrs/optnone.ll
    M llvm/test/Transforms/FunctionAttrs/willreturn.ll
    M llvm/test/Transforms/FunctionAttrs/writeonly.ll
    M llvm/test/Transforms/InferFunctionAttrs/norecurse_debug.ll

  Log Message:
  -----------
  [FunctionAttrs] Infer willreturn for functions without loops

If a function doesn't contain loops and does not call non-willreturn
functions, then it is willreturn. Loops are detected by checking
for backedges in the function. We don't attempt to handle finite
loops at this point.

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




More information about the All-commits mailing list