[all-commits] [llvm/llvm-project] 19e745: Fix MSVC "result of 32-bit shift implicitly conver...

Sacha Coppey via All-commits all-commits at lists.llvm.org
Fri Nov 17 08:30:57 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 19e745890b8658825de63ce4d839537c7707e425
      https://github.com/llvm/llvm-project/commit/19e745890b8658825de63ce4d839537c7707e425
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-17 (Fri, 17 Nov 2023)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp

  Log Message:
  -----------
  Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning.


  Commit: aeedc0763772b398a725ab34d8a9cc1d698c60cb
      https://github.com/llvm/llvm-project/commit/aeedc0763772b398a725ab34d8a9cc1d698c60cb
  Author: Sacha Coppey <sacha.coppey at oracle.com>
  Date:   2023-11-17 (Fri, 17 Nov 2023)

  Changed paths:
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/IR/CallingConv.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    A llvm/test/CodeGen/AArch64/graalcc.ll
    A llvm/test/CodeGen/RISCV/graalcc.ll
    A llvm/test/CodeGen/X86/graalcc.ll

  Log Message:
  -----------
  [IR] Add GraalVM calling conventions

Adds GraalVM calling conventions. The only difference with the default calling conventions is that GraalVM reserves two registers for the heap base and the thread. Since the registers are then accessed by name, getRegisterByName has to be updated accordingly.

This patch implements the calling conventions only for X86, AArch64 and RISC-V.

For X86, the reserved registers are X14 and X15. For AArch64, they are X27 and X28. For RISC-V, they are X23 and X27.

This patch has been used by the LLVM backend of GraalVM's Native Image project in production for around 4 months with no major issues.

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


Compare: https://github.com/llvm/llvm-project/compare/c601be9c8400...aeedc0763772


More information about the All-commits mailing list