summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2016-09-18 06:50:35 +0000
committerTobias Grosser <tobias@grosser.es>2016-09-18 06:50:35 +0000
commit82f2af350819fe7bd63ceb828af85ef1c4fabc75 (patch)
treeca08d0961eed83ac5126b8d57822a55a410c2320 /llvm/lib/Target/XCore/XCoreTargetMachine.cpp
parentcfdee6582bf3f1265dd8da62b30082dc1f3d8b21 (diff)
downloadbcm5719-llvm-82f2af350819fe7bd63ceb828af85ef1c4fabc75.tar.gz
bcm5719-llvm-82f2af350819fe7bd63ceb828af85ef1c4fabc75.zip
GPGPU: Dynamically ensure 'sufficient compute'
Offloading to a GPU is only beneficial if there is a sufficient amount of compute that can be accelerated. Many kernels just have a very small number of dynamic compute, which means GPU acceleration is not beneficial. We compute at run-time an approximation of how many dynamic instructions will be executed and fall back to CPU code in case this number is not sufficiently large. To keep the run-time checking code simple, we over-approximate the number of instructions executed in each statement by computing the volume of the rectangular hull of its iteration space. llvm-svn: 281848
Diffstat (limited to 'llvm/lib/Target/XCore/XCoreTargetMachine.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud