[all-commits] [llvm/llvm-project] 0098f2: [SPIRV] Add SPIR-V specific intrinsics, two passes...

Ilia Diachkov via All-commits all-commits at lists.llvm.org
Thu May 5 16:23:26 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0098f2aebb43218f0040f0b739897b0bfe0e259e
      https://github.com/llvm/llvm-project/commit/0098f2aebb43218f0040f0b739897b0bfe0e259e
  Author: Ilia Diachkov <iliya.diyachkov at intel.com>
  Date:   2022-05-06 (Fri, 06 May 2022)

  Changed paths:
    M llvm/include/llvm/IR/CMakeLists.txt
    M llvm/include/llvm/IR/Intrinsics.td
    A llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRV.h
    A llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    A llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/branching/if-merging.ll
    A llvm/test/CodeGen/SPIRV/function/alloca-load-store.ll
    M llvm/test/CodeGen/SPIRV/function/trivial-function-with-attributes.ll
    A llvm/test/CodeGen/SPIRV/instructions/atomic.ll
    A llvm/test/CodeGen/SPIRV/instructions/atomic_acqrel.ll
    A llvm/test/CodeGen/SPIRV/instructions/atomic_seq.ll
    A llvm/test/CodeGen/SPIRV/instructions/fcmp.ll
    A llvm/test/CodeGen/SPIRV/instructions/float-casts.ll
    A llvm/test/CodeGen/SPIRV/instructions/icmp.ll
    A llvm/test/CodeGen/SPIRV/instructions/integer-casts.ll
    A llvm/test/CodeGen/SPIRV/instructions/ptrcmp.ll

  Log Message:
  -----------
  [SPIRV] Add SPIR-V specific intrinsics, two passes and tests

The patch adds SPIR-V specific intrinsics required to keep information
critical to SPIR-V consistency (types, constants, etc.) during translation
from IR to MIR.

Two related passes (SPIRVEmitIntrinsics and SPIRVPreLegalizer) and several
LIT tests (passed with this change) have also been added.

It also fixes the issue with opaque pointers in SPIRVGlobalRegistry.cpp
and the mismatch of the data layout between the SPIR-V backend and clang
(Issue #55122).

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

Co-authored-by: Aleksandr Bezzubikov <zuban32s at gmail.com>
Co-authored-by: Michal Paszkowski <michal.paszkowski at outlook.com>
Co-authored-by: Andrey Tretyakov <andrey1.tretyakov at intel.com>
Co-authored-by: Konrad Trifunovic <konrad.trifunovic at intel.com>




More information about the All-commits mailing list