[all-commits] [llvm/llvm-project] 92ad6d: [ARM] Moving CMSE handling of half arguments and r...

Lucas Duarte Prates via All-commits all-commits at lists.llvm.org
Thu Jun 18 05:16:48 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 92ad6d57c21824ddb4bca2d01734c5d2c391b5b5
      https://github.com/llvm/llvm-project/commit/92ad6d57c21824ddb4bca2d01734c5d2c391b5b5
  Author: Lucas Prates <lucas.prates at arm.com>
  Date:   2020-06-18 (Thu, 18 Jun 2020)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/ARM/cmse-clear-float-hard.ll

  Log Message:
  -----------
  [ARM] Moving CMSE handling of half arguments and return to the backend

Summary:
As half-precision floating point arguments and returns were previously
coerced to either float or int32 by clang's codegen, the CMSE handling
of those was also performed in clang's side by zeroing the unused MSBs
of the coercer values.

This patch moves this handling to the backend's calling convention
lowering, making sure the high bits of the registers used by
half-precision arguments and returns are zeroed.

Reviewers: chill, rjmccall, ostannard

Reviewed By: ostannard

Subscribers: kristof.beyls, hiraditya, danielkiss, cfe-commits, llvm-commits

Tags: #clang, #llvm

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




More information about the All-commits mailing list