[all-commits] [llvm/llvm-project] 26cfb6: [X86] Passing union type through register

MorningLiu via All-commits all-commits at lists.llvm.org
Thu Oct 8 20:25:56 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 26cfb6e562f12f8c0d8952120d9df81151dc9c19
      https://github.com/llvm/llvm-project/commit/26cfb6e562f12f8c0d8952120d9df81151dc9c19
  Author: Liu, Chen3 <chen3.liu at intel.com>
  Date:   2020-10-09 (Fri, 09 Oct 2020)

  Changed paths:
    M clang/lib/CodeGen/TargetInfo.cpp
    A clang/test/CodeGen/X86/avx-union.c

  Log Message:
  -----------
  [X86] Passing union type through register

For example:

  union M256 {
    double d;
    __m256 m;
  };
  extern void foo1(union M256 A);
  union M256 m1;
  void test() {
    foo1(m1);
  }

clang will pass m1 through stack which does not follow the ABI.

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




More information about the All-commits mailing list