[all-commits] [llvm/llvm-project] 2f17ed: [DCE] Don't remove non-willreturn calls

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


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

  Changed paths:
    M llvm/lib/Analysis/DemandedBits.cpp
    M llvm/lib/Transforms/Scalar/ADCE.cpp
    M llvm/test/Feature/OperandBundles/adce.ll
    M llvm/test/LTO/X86/parallel.ll
    M llvm/test/Transforms/ADCE/dce_pure_call.ll
    M llvm/test/Transforms/ADCE/willreturn.ll
    M llvm/test/Transforms/BDCE/dce-pure.ll
    M llvm/test/Transforms/BDCE/dead-void-ro.ll
    M llvm/test/Transforms/BDCE/willreturn.ll
    M llvm/test/tools/gold/X86/parallel.ll

  Log Message:
  -----------
  [DCE] Don't remove non-willreturn calls

In both ADCE and BDCE (via DemandedBits) we should not remove
instructions that are not guaranteed to return. This issue was
pointed out by fhahn in the recent llvm-dev thread.

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




More information about the All-commits mailing list