[all-commits] [llvm/llvm-project] 67d4c9: Add support for (expressing) vscale.
sdesmalen-arm via All-commits
all-commits at lists.llvm.org
Wed Jan 22 02:10:21 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 67d4c9924c1fbfdbfcfa90bf729945eca0a92f86
https://github.com/llvm/llvm-project/commit/67d4c9924c1fbfdbfcfa90bf729945eca0a92f86
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2020-01-22 (Wed, 22 Jan 2020)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
A llvm/test/CodeGen/AArch64/sve-vscale.ll
Log Message:
-----------
Add support for (expressing) vscale.
In LLVM IR, vscale can be represented with an intrinsic. For some targets,
this is equivalent to the constexpr:
getelementptr <vscale x 1 x i8>, <vscale x 1 x i8>* null, i32 1
This can be used to propagate the value in CodeGenPrepare.
In ISel we add a node that can be legalized to one or more
instructions to materialize the runtime vector length.
This patch also adds SVE CodeGen support for VSCALE, which maps this
node to RDVL instructions (for scaled multiples of 16bytes) or CNT[HSD]
instructions (scaled multiples of 2, 4, or 8 bytes, respectively).
Reviewers: rengolin, cameron.mcinally, hfinkel, sebpop, SjoerdMeijer, efriedma, lattner
Reviewed by: efriedma
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68203
More information about the All-commits
mailing list