[all-commits] [llvm/llvm-project] 95ba0e: [SimplifyLibCalls] propagate tail flags on CallInsts

Nick Desaulniers via All-commits all-commits at lists.llvm.org
Mon Dec 13 11:28:30 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 95ba0e45638ee5c6ba97ca971ddc01132e24a179
      https://github.com/llvm/llvm-project/commit/95ba0e45638ee5c6ba97ca971ddc01132e24a179
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2021-12-13 (Mon, 13 Dec 2021)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/CodeGen/X86/memset-nonzero.ll
    M llvm/test/Transforms/InstCombine/cabs-array.ll
    M llvm/test/Transforms/InstCombine/cabs-discrete.ll
    M llvm/test/Transforms/InstCombine/cos-1.ll
    M llvm/test/Transforms/InstCombine/fabs-libcall.ll
    M llvm/test/Transforms/InstCombine/fabs.ll
    M llvm/test/Transforms/InstCombine/fortify-folding.ll
    M llvm/test/Transforms/InstCombine/memccpy.ll
    M llvm/test/Transforms/InstCombine/memcpy-1.ll
    M llvm/test/Transforms/InstCombine/memcpy_chk-1.ll
    M llvm/test/Transforms/InstCombine/memmove-1.ll
    M llvm/test/Transforms/InstCombine/memmove_chk-1.ll
    M llvm/test/Transforms/InstCombine/mempcpy.ll
    M llvm/test/Transforms/InstCombine/memset-1.ll
    M llvm/test/Transforms/InstCombine/memset_chk-1.ll
    M llvm/test/Transforms/InstCombine/objsize.ll
    M llvm/test/Transforms/InstCombine/pow-1.ll
    M llvm/test/Transforms/InstCombine/pow-exp.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int16.ll
    M llvm/test/Transforms/InstCombine/snprintf.ll
    M llvm/test/Transforms/InstCombine/stpcpy-1.ll
    M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
    M llvm/test/Transforms/InstCombine/strcpy-1.ll
    M llvm/test/Transforms/InstCombine/strcpy_chk-1.ll
    M llvm/test/Transforms/InstCombine/strncpy-1.ll

  Log Message:
  -----------
  [SimplifyLibCalls] propagate tail flags on CallInsts

I noticed we weren't propagating tail flags on calls when
FortifiedLibCallSimplifier.optimizeCall() was replacing calls to runtime
checked calls to the non-checked routines (when safe to do so). Make
sure to check this before replacing the original calls!

Also, avoid any libcall transforms when notail/musttail is present.

PR46734
Fixes: https://github.com/llvm/llvm-project/issues/46079

Reviewed By: jdoerfert

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




More information about the All-commits mailing list