|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5 |
|
| #
2af61e62 |
| 06-Jun-2022 |
Chris Bieneman <[email protected]> |
[DirectX] Add DirectX target object writer
This is the last piece to bring together writing DXContainer files containing DXIL through the DirectX backend.
While this change only has one test, all o
[DirectX] Add DirectX target object writer
This is the last piece to bring together writing DXContainer files containing DXIL through the DirectX backend.
While this change only has one test, all of the tests under llvm/test/tools/dxil-dis also exercise this code. With this change the output object file type for the dxil target is now DXContainer. Each of the existing tests will generate DXContainer files, and the dxil-dis tests additionally verify that the DXContainers generated are well-formed and can be parsed by the DirectXShaderCompiler tools.
Depends on D127153 and D127165
Differential Revision: https://reviews.llvm.org/D127166
show more ...
|
|
Revision tags: llvmorg-14.0.4 |
|
| #
d401a993 |
| 10-May-2022 |
Chris Bieneman <[email protected]> |
[DirectX] Embed DXIL in LLVM Module
At the end of the codegen pipeline for DXIL we will emit the DXIL into a global variable in the Module annotated for the "DXIL" section.
This will be used by the
[DirectX] Embed DXIL in LLVM Module
At the end of the codegen pipeline for DXIL we will emit the DXIL into a global variable in the Module annotated for the "DXIL" section.
This will be used by the MCDXContainerStreamer to emit the DXIL into a DXContainer DXIL part.
Other parts of the DXContainer will be constructed similarly by serializing their values into GlobalVariables.
This will allow DXIL to flow into DXContainers through the normal MCStreamer flow used in the MC layer.
Depends on D122270
Reviewed By: kuhar
Differential Revision: https://reviews.llvm.org/D125334
show more ...
|
| #
0c7f7f1b |
| 07-May-2022 |
python3kgae <[email protected]> |
[DirectX backend] Add pass to emit dxil metadata.
A new pass DxilEmitMetadata is added to translate information saved in llvm ir into metadata to match DXIL spec.
Only generate DXIL validator versi
[DirectX backend] Add pass to emit dxil metadata.
A new pass DxilEmitMetadata is added to translate information saved in llvm ir into metadata to match DXIL spec.
Only generate DXIL validator version in this PR.
In llvm ir, validator version is saved in ModuleFlag with "dx.valver" as Key.
!llvm.module.flags = !{!0, !1} !1 = !{i32 6, !"dx.valver", !2} !2 = !{i32 1, i32 1}
DXIL validator version has major and minor versions that are specified as named metadata:
!dx.valver = !{!2} !2 = !{i32 1, i32 7}
Reviewed By: kuhar, beanz
Differential Revision: https://reviews.llvm.org/D125158
show more ...
|
| #
85285be9 |
| 02-May-2022 |
Xiang Li <[email protected]> |
[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 func
[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
show more ...
|
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2 |
|
| #
f2526c1a |
| 14-Apr-2022 |
Chris Bieneman <[email protected]> |
Add DXIL Bitcode Writer and DXIL testing
This change is a big blob of code that isn't easy to break up. It either comes in all together as a blob, works and has tests, or it doesn't do anything.
Lo
Add DXIL Bitcode Writer and DXIL testing
This change is a big blob of code that isn't easy to break up. It either comes in all together as a blob, works and has tests, or it doesn't do anything.
Logically you can think of this patch as three things: (1) Adding virtual interfaces so the bitcode writer can be overridden (2) Adding a new bitcode writer implementation for DXIL (3) Adding some (optional) crazy CMake goop to build the DirectXShaderCompiler's llvm-dis as dxil-dis for testing
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D122082
show more ...
|
|
Revision tags: llvmorg-14.0.1 |
|
| #
6599fdab |
| 23-Mar-2022 |
Chris Bieneman <[email protected]> |
Add DXILPrepare CodeGen pass
The DXIL Prepare pass handles the IR mutations required to convert modern LLVM IR into something that more closely resembles LLVM-3.7 IR so that the DXIL bitcode writer
Add DXILPrepare CodeGen pass
The DXIL Prepare pass handles the IR mutations required to convert modern LLVM IR into something that more closely resembles LLVM-3.7 IR so that the DXIL bitcode writer can emit 3.7 IR.
This change adds the codegen pass handling the first two IR transformations:
* stripping new function attributes * converting fneg into fsub
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D122081
show more ...
|
| #
44a14a6a |
| 28-Mar-2022 |
Chris Bieneman <[email protected]> |
Add stub DirectX backend
This is the bare minimum needed to get the DirectX target compiling, but does not actually do anything.
Reviewed By: pete, rnk, arsenm, jaebaek
Differential Revision: http
Add stub DirectX backend
This is the bare minimum needed to get the DirectX target compiling, but does not actually do anything.
Reviewed By: pete, rnk, arsenm, jaebaek
Differential Revision: https://reviews.llvm.org/D122080
show more ...
|