[PATCH] D58736: [System Model] Introduce a target system model
David Greene via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 27 13:38:05 PST 2019
greened created this revision.
greened added reviewers: Meinersbur, hfinkel, simoll, rengolin, andreadb.
Herald added subscribers: jdoerfert, jsji, mgrang, kbarton, hiraditya, javed.absar, mgorny, nhaehnle, jvesely, nemanjai, arsenm.
Herald added a project: LLVM.
Add the concept of a per-subtarget system model, incorporating information
about caches, execution resources, write-combining buffers and software
prefetching configuration.
This is TableGen-driven so that targets may conveniently define new system
models and associate system models with subtargets.
By default, processor classes use a system model that captures the legacy
values exposed by TargetTransformInfo and/or MCSubtarget and friends.
Targets may opt-in to custom system models by defining them and associating
them in instantiations of the Processor template, similarly to how schedulers
are associated.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D58736
Files:
llvm/include/llvm/Analysis/TargetTransformInfo.h
llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
llvm/include/llvm/CodeGen/BasicTTIImpl.h
llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
llvm/include/llvm/MC/MCSubtargetInfo.h
llvm/include/llvm/MC/MCSystemModel.h
llvm/include/llvm/Target/Target.td
llvm/include/llvm/Target/TargetCacheModel.td
llvm/include/llvm/Target/TargetMemoryModel.td
llvm/include/llvm/Target/TargetSoftwarePrefetchConfig.td
llvm/include/llvm/Target/TargetSystemModel.td
llvm/include/llvm/Target/TargetWCBufferModel.td
llvm/lib/Analysis/TargetTransformInfo.cpp
llvm/lib/CodeGen/TargetSubtargetInfo.cpp
llvm/lib/MC/CMakeLists.txt
llvm/lib/MC/MCSubtargetInfo.cpp
llvm/lib/MC/MCSystemModel.cpp
llvm/lib/Target/AArch64/AArch64Subtarget.h
llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
llvm/test/TableGen/SystemModelEmitter.td
llvm/unittests/CodeGen/MachineInstrTest.cpp
llvm/unittests/MC/CMakeLists.txt
llvm/unittests/MC/SystemModel.cpp
llvm/utils/TableGen/SubtargetEmitter.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58736.188611.patch
Type: text/x-patch
Size: 164603 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190227/b064e080/attachment-0001.bin>
More information about the llvm-commits
mailing list