P4 to Git Change 1288138 by jsjodin@jsjodin-git2p4-llvm on 2016/07/06 19:11:36

SWDEV-3 - [Hexagon] Create global std::map lazily.

	This could of course be a simple binary search with no global state
	involved at all if someone cares enough. Just don't make everyone
	linking the hexagon backend pay for it on process startup and shutdown.

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

	GitHash: b4e53350f9349677e2a0178bde5b8b0c3b743b5e

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/llvm.git/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp#2 edit
Cette révision appartient à :
foreman
2016-07-07 01:03:13 -04:00
Parent cd9d1dfd35
révision d32e5e2c1f
7 fichiers modifiés avec 91 ajouts et 83 suppressions
+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);
}