[all-commits] [llvm/llvm-project] 85285b: [DirectX backend] Add pass to lower llvm intrinsic...

Xiang Li via All-commits all-commits at lists.llvm.org
Wed May 11 00:03:20 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 85285be9c37ad0b6e3dabe82248d8917a6ebd5ec
      https://github.com/llvm/llvm-project/commit/85285be9c37ad0b6e3dabe82248d8917a6ebd5ec
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2022-05-11 (Wed, 11 May 2022)

  Changed paths:
    M llvm/lib/Target/DirectX/CMakeLists.txt
    A llvm/lib/Target/DirectX/DXILConstants.h
    A llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    A llvm/test/CodeGen/DirectX/sin.ll
    M llvm/tools/opt/opt.cpp

  Log Message:
  -----------
  [DirectX backend] Add pass to lower llvm intrinsic into dxil op function.

A new pass DXILOpLowering was added.
It will scan all llvm intrinsics, create dxil op function if it can map to dxil op function.
Then translate call instructions on the intrinsic into call on dxil op function.
dxil op function will add i32 argument to the begining of args for dxil opcode.
So cannot use setCalledFunction to update the call instruction on intrinsic.

This commit only support sin to start the work.

Reviewed By: kuhar, beanz

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




More information about the All-commits mailing list