[all-commits] [llvm/llvm-project] d35fe0: [LTT] Handle merged llvm.assume when dropping type...

Teresa Johnson via All-commits all-commits at lists.llvm.org
Tue May 25 17:02:40 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d35fe04fa35a080cb024ecb56db67dc822c70740
      https://github.com/llvm/llvm-project/commit/d35fe04fa35a080cb024ecb56db67dc822c70740
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2021-05-25 (Tue, 25 May 2021)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    A llvm/test/Transforms/LowerTypeTests/drop_type_test_phi.ll

  Log Message:
  -----------
  [LTT] Handle merged llvm.assume when dropping type tests

When the lower type test pass is invoked a second time with
DropTypeTests set to true, it expects that all remaining type tests feed
assume instructions, which are removed along with the type tests.

In some cases the llvm.assume might have been merged with another one,
i.e. from a builtin_assume instruction, in which case the type test
would actually feed a phi that in turn feeds the merged assume
instruction. In this case we can simply replace that operand of the phi
with "true" before removing the type test.

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




More information about the All-commits mailing list