[PATCH] D151601: Coalesce register classes for {i16,f16,bf16}, {i32,v2f16,v2bf16}
Artem Belevich via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 1 14:16:50 PDT 2023
tra created this revision.
Herald added subscribers: mattd, gchakrabarti, asavonic, bixia, hiraditya.
Herald added a project: All.
tra updated this revision to Diff 526756.
tra added a comment.
tra updated this revision to Diff 527245.
tra updated this revision to Diff 527609.
tra retitled this revision from "Coalesce i16/f16/bf16 to use the same register class." to "Coalesce register classes for {i16,f16,bf16}, {i32,v2f16,v2bf16}".
tra edited the summary of this revision.
tra published this revision for review.
tra added reviewers: jlebar, kushanam.
Herald added subscribers: llvm-commits, cfe-commits, jdoerfert, jholewinski.
Herald added projects: clang, LLVM.
Switched v2f16 and v2bf16 to use the same registers as i32.
tra added a comment.
Removed now-redundant LD/ST instructions for f16/bf16/v2f16/v2bf16
tra added a comment.
Removed more unnecessary stuff and reduced unnecessary register copying.
They all use the same 16/32 bit PTX registers and there's no point creating more register classes for each.
The changes are largely mechanical replacing *f16 register classes with i16/i32, with the exception of a minor optimization to the register copying. We now produce smaller number of pointless register moves.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D151601
Files:
clang/test/CodeGenCUDA/bf16.cu
llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
llvm/lib/Target/NVPTX/NVPTXRegisterInfo.td
llvm/test/CodeGen/NVPTX/bf16.ll
llvm/test/CodeGen/NVPTX/call_bitcast_byval.ll
llvm/test/CodeGen/NVPTX/f16-instructions.ll
llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
llvm/test/CodeGen/NVPTX/half.ll
llvm/test/CodeGen/NVPTX/intrinsics-sm90.ll
llvm/test/CodeGen/NVPTX/ld-st-addrrspace.py
llvm/test/CodeGen/NVPTX/ldg-invariant.ll
llvm/test/CodeGen/NVPTX/ldu-ldg.ll
llvm/test/CodeGen/NVPTX/param-load-store.ll
llvm/test/CodeGen/NVPTX/proxy-reg-erasure-ptx.ll
llvm/test/CodeGen/NVPTX/wmma.py
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D151601.527609.patch
Type: text/x-patch
Size: 243132 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230601/33a757d0/attachment-0001.bin>
More information about the cfe-commits
mailing list