P4 to Git Change 1288152 by jsjodin@jsjodin-git2p4-llvm on 2016/07/06 19:35:43

SWDEV-3 - [PM] Port LoopAccessInfo analysis to new PM

	It is implemented as a LoopAnalysis pass as
	discussed and agreed upon.

	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274452 91177308-0d34-0410-b5e6-96231b3b80d8

	GitHash: 10b22c88941392b23543cf8c8eb84044e30a3c7b

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/include/llvm/Analysis/LoopAccessAnalysis.h#6 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/lib/Analysis/LoopAccessAnalysis.cpp#7 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/lib/Passes/PassBuilder.cpp#5 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/lib/Passes/PassRegistry.def#7 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/backward-dep-different-types.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/forward-loop-carried.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/forward-loop-independent.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/independent-interleaved.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/memcheck-for-loop-invariant.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/non-wrapping-pointer.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/nullptr.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/number-of-memchecks.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/pointer-with-unknown-bounds.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/resort-to-memchecks-only.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/reverse-memcheck-bounds.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/safe-no-checks.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/store-to-invariant-check2.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/store-to-invariant-check3.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/underlying-objects-1.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/underlying-objects-2.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks.ll#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll#2 edit
Cette révision appartient à :
foreman a révisé 2016-07-07 02:56:39 -04:00
1 Parent 2a7b7edab9
révision cb5fc90bd1
7 fichiers modifiés
+91 -83

Aucun fichier ne correspond à votre recherche

+5 -7
Voir le fichier
@@ -1072,9 +1072,10 @@ Resource::free()
void
Resource::writeRawData(
VirtualGPU& gpu,
size_t size,
size_t offset,
size_t size,
const void* data,
bool waitForEvent) const
bool waitForEvent) const
{
GpuEvent event;
@@ -1082,11 +1083,8 @@ Resource::writeRawData(
// size needs to be DWORD aligned
assert((size & 3) == 0);
gpu.eventBegin(MainEngine);
//! @todo Remove cache flush
//! It's a workaround for a PAL crash with embedded data, allocated before any command
gpu.flushCUCaches();
gpu.queue(MainEngine).addCmdMemRef(iMem());
gpu.iCmd()->CmdUpdateMemory(*iMem(), 0, size, reinterpret_cast<const uint32_t*>(data));
gpu.iCmd()->CmdUpdateMemory(*iMem(), offset, size, reinterpret_cast<const uint32_t*>(data));
gpu.eventEnd(MainEngine, event);
setBusy(gpu, event);
@@ -1938,7 +1936,7 @@ Resource::warmUpRenames(VirtualGPU& gpu)
uint dummy = 0;
const bool NoWait = false;
// Write 0 for the buffer paging by VidMM
writeRawData(gpu, sizeof(dummy), &dummy, NoWait);
writeRawData(gpu, 0, sizeof(dummy), &dummy, NoWait);
const bool Force = true;
rename(gpu, Force);
}