[all-commits] [llvm/llvm-project] 7fd462: [SPIR-V](1/6) Add stub for SPIRV backend

Ilia Diachkov via All-commits all-commits at lists.llvm.org
Tue Apr 19 16:28:13 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7fd4622d4801cc14823ecde678d55b6f3a106eb9
      https://github.com/llvm/llvm-project/commit/7fd4622d4801cc14823ecde678d55b6f3a106eb9
  Author: Ilia Diachkov <iliya.diyachkov at intel.com>
  Date:   2022-04-20 (Wed, 20 Apr 2022)

  Changed paths:
    M llvm/CODE_OWNERS.TXT
    M llvm/docs/CompilerWriterInfo.rst
    A llvm/lib/Target/SPIRV/CMakeLists.txt
    A llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    A llvm/lib/Target/SPIRV/SPIRVTargetMachine.h
    A llvm/lib/Target/SPIRV/TargetInfo/CMakeLists.txt
    A llvm/lib/Target/SPIRV/TargetInfo/SPIRVTargetInfo.cpp
    A llvm/lib/Target/SPIRV/TargetInfo/SPIRVTargetInfo.h

  Log Message:
  -----------
  [SPIR-V](1/6) Add stub for SPIRV backend

This patch contains enough for lib/Target/SPIRV to compile: a basic
SPIRVTargetMachine and SPIRVTargetInfo.

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

Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov,
Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic

Co-authored-by: Aleksandr Bezzubikov <zuban32s at gmail.com>
Co-authored-by: Ilia Diachkov <iliya.diyachkov at intel.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>


  Commit: 40114dd5bf41f0d504a45ee5f7de9663d85251b8
      https://github.com/llvm/llvm-project/commit/40114dd5bf41f0d504a45ee5f7de9663d85251b8
  Author: Ilia Diachkov <iliya.diyachkov at intel.com>
  Date:   2022-04-20 (Wed, 20 Apr 2022)

  Changed paths:
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    A llvm/lib/Target/SPIRV/SPIRV.td
    A llvm/lib/Target/SPIRV/SPIRVEnums.td
    A llvm/lib/Target/SPIRV/SPIRVInstrFormats.td
    A llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    A llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
    A llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td

  Log Message:
  -----------
  [SPIR-V](2/6) Add SPIRV target description files

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

Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov,
Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic

Co-authored-by: Aleksandr Bezzubikov <zuban32s at gmail.com>
Co-authored-by: Ilia Diachkov <iliya.diyachkov at intel.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>


  Commit: 6c69427e880bf7bbcb711d24c65961f062256f2d
      https://github.com/llvm/llvm-project/commit/6c69427e880bf7bbcb711d24c65961f062256f2d
  Author: Ilia Diachkov <iliya.diyachkov at intel.com>
  Date:   2022-04-20 (Wed, 20 Apr 2022)

  Changed paths:
    M llvm/include/llvm/ADT/Triple.h
    M llvm/include/llvm/MC/MCContext.h
    M llvm/include/llvm/MC/MCObjectFileInfo.h
    A llvm/include/llvm/MC/MCSPIRVObjectWriter.h
    A llvm/include/llvm/MC/MCSPIRVStreamer.h
    M llvm/include/llvm/MC/MCSection.h
    A llvm/include/llvm/MC/MCSectionSPIRV.h
    M llvm/include/llvm/MC/TargetRegistry.h
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/MC/CMakeLists.txt
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCContext.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    A llvm/lib/MC/MCSPIRVStreamer.cpp
    A llvm/lib/MC/SPIRVObjectWriter.cpp
    M llvm/lib/Support/Triple.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    A llvm/lib/Target/SPIRV/MCTargetDesc/CMakeLists.txt
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.h
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCAsmInfo.cpp
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCAsmInfo.h
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.cpp
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.h
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVObjectTargetWriter.cpp
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVTargetStreamer.cpp
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVTargetStreamer.h
    M llvm/lib/Target/SPIRV/TargetInfo/SPIRVTargetInfo.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/unittests/ADT/TripleTest.cpp

  Log Message:
  -----------
  [SPIR-V](3/6) Add MC layer, object file support, and InstPrinter

The patch adds SPIRV-specific MC layer implementation, SPIRV object
file support and SPIRVInstPrinter.

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

Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov,
Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic

Co-authored-by: Aleksandr Bezzubikov <zuban32s at gmail.com>
Co-authored-by: Ilia Diachkov <iliya.diyachkov at intel.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>


  Commit: ec2590362e155b32c3b767b9dc9bbe5e3296583a
      https://github.com/llvm/llvm-project/commit/ec2590362e155b32c3b767b9dc9bbe5e3296583a
  Author: Ilia Diachkov <iliya.diyachkov at intel.com>
  Date:   2022-04-20 (Wed, 20 Apr 2022)

  Changed paths:
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    A llvm/lib/Target/SPIRV/SPIRV.h
    A llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    A llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    A llvm/lib/Target/SPIRV/SPIRVCallLowering.h
    A llvm/lib/Target/SPIRV/SPIRVFrameLowering.h
    A llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    A llvm/lib/Target/SPIRV/SPIRVISelLowering.h
    A llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
    A llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
    A llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp
    A llvm/lib/Target/SPIRV/SPIRVMCInstLower.h
    A llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.cpp
    A llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.h
    A llvm/lib/Target/SPIRV/SPIRVRegisterInfo.cpp
    A llvm/lib/Target/SPIRV/SPIRVRegisterInfo.h
    A llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    A llvm/lib/Target/SPIRV/SPIRVSubtarget.h
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.h
    A llvm/lib/Target/SPIRV/SPIRVTargetObjectFile.h
    A llvm/lib/Target/SPIRV/SPIRVTargetTransformInfo.h

  Log Message:
  -----------
  [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter

The patch contains target lowering for SPIRV. Also it implements
TargetMachine and AsmPrinter.

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

Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov,
Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic

Co-authored-by: Aleksandr Bezzubikov <zuban32s at gmail.com>
Co-authored-by: Ilia Diachkov <iliya.diyachkov at intel.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>


  Commit: eab7d3639b3c6dc9dda9a0ab1643f0e45ad2d9d6
      https://github.com/llvm/llvm-project/commit/eab7d3639b3c6dc9dda9a0ab1643f0e45ad2d9d6
  Author: Ilia Diachkov <iliya.diyachkov at intel.com>
  Date:   2022-04-20 (Wed, 20 Apr 2022)

  Changed paths:
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/MCTargetDesc/CMakeLists.txt
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
    A llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
    M llvm/lib/Target/SPIRV/SPIRV.h
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.h
    A llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    A llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    A llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    A llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.h
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    A llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    A llvm/lib/Target/SPIRV/SPIRVUtils.h

  Log Message:
  -----------
  [SPIR-V](5/6) Add LegalizerInfo, InstructionSelector and utilities

The patch adds SPIRVLegalizerInfo, SPIRVInstructionSelector and
SPIRV-specific utilities.

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

Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov,
Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic

Co-authored-by: Aleksandr Bezzubikov <zuban32s at gmail.com>
Co-authored-by: Ilia Diachkov <iliya.diyachkov at intel.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>


  Commit: 153dee34f16105dc0db6eb6d5bc617b4e5a31bc6
      https://github.com/llvm/llvm-project/commit/153dee34f16105dc0db6eb6d5bc617b4e5a31bc6
  Author: Ilia Diachkov <iliya.diyachkov at intel.com>
  Date:   2022-04-20 (Wed, 20 Apr 2022)

  Changed paths:
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRV.h
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp
    M llvm/lib/Target/SPIRV/SPIRVMCInstLower.h
    A llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    A llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    A llvm/test/CodeGen/SPIRV/function/identity-function.ll
    A llvm/test/CodeGen/SPIRV/function/trivial-function-definition.ll
    A llvm/test/CodeGen/SPIRV/function/trivial-function-with-attributes.ll
    A llvm/test/CodeGen/SPIRV/function/trivial-function-with-call.ll
    A llvm/test/CodeGen/SPIRV/lit.local.cfg
    A llvm/test/CodeGen/SPIRV/metadata-opencl.ll
    A llvm/test/CodeGen/SPIRV/transcoding/readonly.ll

  Log Message:
  -----------
  [SPIR-V](6/6) Add the module analysis pass and the simplest tests

This patch adds one SPIRV analysis pass and extends AsmPrinter. It is
essential for minimum SPIR-V output. Also it adds several simplest tests
to show that the target basically works.

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

Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov,
Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic

Co-authored-by: Aleksandr Bezzubikov <zuban32s at gmail.com>
Co-authored-by: Ilia Diachkov <iliya.diyachkov at intel.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>


Compare: https://github.com/llvm/llvm-project/compare/b39d34de5e6b...153dee34f161


More information about the All-commits mailing list