[all-commits] [llvm/llvm-project] 8a7239: [IR] Require intrinsic struct return type to be an...

Nikita Popov via All-commits all-commits at lists.llvm.org
Wed Mar 30 00:51:41 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8a72391f609f016b0aef17e728aca65027a80cc4
      https://github.com/llvm/llvm-project/commit/8a72391f609f016b0aef17e728aca65027a80cc4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-03-30 (Wed, 30 Mar 2022)

  Changed paths:
    M clang/test/CodeGenCUDA/texture.cu
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Function.cpp
    A llvm/test/Bitcode/intrinsics-struct-upgrade.ll
    A llvm/test/Bitcode/intrinsics-struct-upgrade.ll.bc
    M llvm/test/CodeGen/X86/2009-04-12-FastIselOverflowCrash.ll
    M llvm/test/CodeGen/X86/fast-isel-extract.ll

  Log Message:
  -----------
  [IR] Require intrinsic struct return type to be anonymous

This is an alternative to D122376. Rather than working around the
problem, this patch requires that struct return types in intrinsics
are anonymous/literal and adds auto-upgrade code to convert
existing uses of intrinsics with named struct types.

This ensures that the mapping between intrinsic name and
intrinsic function type is actually bijective, as it is supposed
to be.

This also fixes https://github.com/llvm/llvm-project/issues/37891.

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




More information about the All-commits mailing list