[all-commits] [llvm/llvm-project] b01e2a: [llvm] Allow always dropping all llvm.type.test se...

Paul Kirth via All-commits all-commits at lists.llvm.org
Wed Oct 30 16:56:51 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b01e2a8b5620466c3b80cc6f049efbc90b9d103a
      https://github.com/llvm/llvm-project/commit/b01e2a8b5620466c3b80cc6f049efbc90b9d103a
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-10-30 (Wed, 30 Oct 2024)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    A llvm/test/Transforms/LowerTypeTests/drop_type_test.ll
    M llvm/test/Transforms/LowerTypeTests/drop_type_test_phi.ll

  Log Message:
  -----------
  [llvm] Allow always dropping all llvm.type.test sequences

Currently, the `DropTypeTests` parameter only fully works with phi nodes
and llvm.assume instructions. However, we'd like CFI to work in
conjunction with FatLTO, in so far as the bitcode section should be able
to contain the CFI instrumentation, while any incompatible bits are
dropped when compiling the object code.

To do that, we need to drop the llvm.type.test instructions everywhere,
and not just their uses in phi nodes. This patch updates the
LowerTypeTest pass so that uses are removed, and replaced with `true` in
all cases, and not just in phi nodes.

Addressing this will allow us to fix #112053 by modifying the FatLTO
pipeline.

Reviewers: pcc, nikic

Reviewed By: pcc

Pull Request: https://github.com/llvm/llvm-project/pull/112787



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list