[all-commits] [llvm/llvm-project] ea0676: [SystemZ][z/OS] Fix f32 variadic argument assertion

Mubariz Afzal via All-commits all-commits at lists.llvm.org
Tue Feb 15 15:13:00 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ea0676f97d734196b15da7553cd407e6a36cef2d
      https://github.com/llvm/llvm-project/commit/ea0676f97d734196b15da7553cd407e6a36cef2d
  Author: Mubariz Afzal <mubarizafzal at gmail.com>
  Date:   2022-02-15 (Tue, 15 Feb 2022)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZCallingConv.td
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Fix f32 variadic argument assertion

The tablegen lines that specify the XPLINK64 calling convention for promoting an f32 vararg to an f64 are effectively overwritten by the following tablegen line which bitcast an f64 vararg to an i64 (so that it can be used in the GPRs). It becomes a bitcast from f32 to i64.

Since we don't handle a bitcast for f32s this caused an assertion.




More information about the All-commits mailing list