P4 to Git Change 1263609 by emankov@em-hsa-amd on 2016/04/29 10:45:48

SWDEV-79309 - Back out changelist 1252154 due to AMDIL regression SWDEV-93034

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/include/v0_8/aclStructs.h#7 edit
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/include/v0_8/aclTypes.h#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/api/v0_8/acl.cpp#42 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#93 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#67 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclStructs.h#24 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclTypes.h#9 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.cpp#16 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.h#25 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLAssumptionCheck.cpp#50 edit


[ROCm/clr commit: 89f38b0f7e]
Tento commit je obsažen v:
foreman
2016-04-29 11:00:59 -04:00
rodič 021823290c
revize 5c6e600d1a
5 změnil soubory, kde provedl 13 přidání a 65 odebrání
-36
Zobrazit soubor
@@ -1052,39 +1052,3 @@ void dump(aclBinary *bin) {
bifbase *elfBin = reinterpret_cast<bifbase*>(bin->bin);
elfBin->dump();
}
const void*
aclutGetKernelMetadata(aclCompiler *cl, const aclBinary *bin, size_t *symbolSize, const char *symbol, acl_error *error_code) {
aclutKernelMetadata* md = bin->binData->kernelMetadata;
std::string s(symbol);
aclutKernelMetadata::iterator it = md->find(s);
if (md->end() == it) {
const oclBIFSymbolStruct* sym = findBIF30SymStruct(symOpenclMeta);
assert(sym && "symbol not found");
const void* symbolData = cl->clAPI.extSym(cl, bin, symbolSize, sym->sections[0], symbol, error_code);
if (symbolData && *symbolSize != 0) {
md->insert(std::make_pair(s, std::make_pair(symbolData, *symbolSize)));
return symbolData;
}
} else {
aclutDataSizePair ds = it->second;
*symbolSize = ds.second;
*error_code = ACL_SUCCESS;
return ds.first;
}
return NULL;
}
acl_error
aclutSetKernelMetadata(aclCompiler *cl, aclBinary *bin, const void *symbolData, size_t symbolSize, const char *symbol) {
const oclBIFSymbolStruct* sym = findBIF30SymStruct(symOpenclMeta);
assert(sym && "symbol not found");
acl_error err = cl->clAPI.insSym(cl, bin, symbolData, symbolSize, sym->sections[0], symbol);
if (err != ACL_SUCCESS) return err;
aclutKernelMetadata* md = bin->binData->kernelMetadata;
std::string s(symbol);
if (md->end() != md->find(s)) {
md->erase(s);
}
return ACL_SUCCESS;
}
+2 -22
Zobrazit soubor
@@ -4,23 +4,15 @@
#ifndef _CL_LIB_UTILS_0_8_H_
#define _CL_LIB_UTILS_0_8_H_
#include "acl.h"
#include <string>
#include <sstream>
#include <map>
#include <iterator>
#include <cstdlib>
#include <cassert>
#include "library.hpp"
#include "utils/bif_section_labels.hpp"
using namespace bif;
typedef std::pair<const void*, size_t> aclutDataSizePair;
typedef std::map<std::string, aclutDataSizePair> aclutKernelMetadata;
//! Structure for storing temporary aclBinary information (non-serializable).
typedef struct _acl_binary_data_0_8_2 {
ACL_STRUCT_HEADER;
aclutKernelMetadata* kernelMetadata; // Opaque pointer to the cached kernel's Metadata.
} aclBinaryData_0_8_2;
// Utility function to set a flag in option structure
// of the aclDevCaps.
void
@@ -186,18 +178,6 @@ aclutAlloc(const aclCompilerOptions *bin);
FreeFunc
aclutFree(const aclCompilerOptions *bin);
// Wrapper function for extracting symbol with particular kernel Metadata from the binary bin,
// once extracted kernel Metadata is cached, secondary extraction doesn't happen.
// This function have to be used instead of extSym function for symOpenclMeta.
const void*
aclutGetKernelMetadata(aclCompiler *cl, const aclBinary *bin, size_t *symbolSize, const char *symbol, acl_error *error_code);
// Wrapper function for inserting symbol with particular kernel Metadata into the binary bin,
// once inserted kernel Metadata is cached.
// This function have to be used instead of insSym function for symOpenclMeta.
acl_error
aclutSetKernelMetadata(aclCompiler *cl, aclBinary *bin, const void *symbolData, size_t symbolSize, const char *symbol);
inline std::vector<std::string> splitSpaceSeparatedString(char *str)
{
std::string s(str);