[all-commits] [llvm/llvm-project] 35029d: Changed EOL to UNIX. NFC.

Kjetil Kjeka via All-commits all-commits at lists.llvm.org
Fri Jul 22 14:15:11 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 35029d8374bcd4e9c813a430f075081e8d3ff25c
      https://github.com/llvm/llvm-project/commit/35029d8374bcd4e9c813a430f075081e8d3ff25c
  Author: Artem Belevich <tra at google.com>
  Date:   2022-07-22 (Fri, 22 Jul 2022)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/param-load-store.ll

  Log Message:
  -----------
  Changed EOL to UNIX. NFC.


  Commit: ff1920d106b5286085eb50233a444154a653b0d0
      https://github.com/llvm/llvm-project/commit/ff1920d106b5286085eb50233a444154a653b0d0
  Author: Kjetil Kjeka <kjetilkjeka at gmail.com>
  Date:   2022-07-22 (Fri, 22 Jul 2022)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    M llvm/test/CodeGen/NVPTX/param-load-store.ll

  Log Message:
  -----------
  [NVPTX] Promote i24, i40, i48 and i56 to next power-of-two register when passing

Today llc will crash when attempting to use non-power-of-two integer types as
function arguments or returns. This patch enables passing non standard integer
values in functions by promoting them before store and truncating after load.

The main motivation of implementing this change is that rust casts small structs
(less than pointer size) into an integer of the same size. As an example, if a
struct contains three u8 then it will be passed as an i24. This patch is a step
towards enabling rust compilation to ptx while retaining the target independent
optimizations.

More context can be found in https://github.com/llvm/llvm-project/issues/55764

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


Compare: https://github.com/llvm/llvm-project/compare/dabe877248b8...ff1920d106b5


More information about the All-commits mailing list