[all-commits] [llvm/llvm-project] ef0283: [InstCombine] avoid crash from deleting an instruc...

RotateRight via All-commits all-commits at lists.llvm.org
Sun Nov 10 07:09:08 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ef02831f0a4e3b3ccaa45a5589e4cabecbf527ab
      https://github.com/llvm/llvm-project/commit/ef02831f0a4e3b3ccaa45a5589e4cabecbf527ab
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2019-11-10 (Sun, 10 Nov 2019)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/builtin-object-size-ptr.ll

  Log Message:
  -----------
  [InstCombine] avoid crash from deleting an instruction that still has uses (PR43723)

We gather a set of white-listed instructions in isAllocSiteRemovable() and then
replace/erase them. But we don't know in general if the instructions in the set
have uses amongst themselves, so order of deletion makes a difference.

There's already a special-case for the llvm.objectsize intrinsic, so add another
for llvm.invariant.end.

Should fix:
https://bugs.llvm.org/show_bug.cgi?id=43723

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




More information about the All-commits mailing list