[all-commits] [llvm/llvm-project] b451ec: [Clang][AArch64] Disable rounding of return values...

Andrew Savonichev via All-commits all-commits at lists.llvm.org
Tue May 4 10:29:51 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b451ecd86e13ec6ef47caf37f62977645c4f748e
      https://github.com/llvm/llvm-project/commit/b451ecd86e13ec6ef47caf37f62977645c4f748e
  Author: Andrew Savonichev <andrew.savonichev at gmail.com>
  Date:   2021-05-04 (Tue, 04 May 2021)

  Changed paths:
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/test/CodeGen/aarch64-varargs.c
    M clang/test/CodeGen/arm64-arguments.c
    M clang/test/CodeGen/arm64-microsoft-arguments.cpp
    M clang/test/CodeGen/attr-noundef.cpp
    M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
    M clang/test/CodeGenCXX/trivial_abi.cpp

  Log Message:
  -----------
  [Clang][AArch64] Disable rounding of return values for AArch64

If a return value is explicitly rounded to 64 bits, an additional zext
instruction is emitted, and in some cases it prevents tail call
optimization.

As discussed in D100225, this rounding is not necessary and can be
disabled.

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




More information about the All-commits mailing list