Deprecate support for constant pointers.
The use of constant pointers produces code that cannot be relocated.
They also cause issues in Subzero when offsetting them due to not having
constant folding support. We only used them for Direct3D cursor
rendering, which can just pass in the data as an argument instead.
Bug swiftshader:14
Change-Id: Id7f16c3fcaeed3fe64b569af6a49c32f6baec483
Reviewed-on: https://swiftshader-review.googlesource.com/8257
Reviewed-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
diff --git a/src/Reactor/SubzeroReactor.cpp b/src/Reactor/SubzeroReactor.cpp
index ccebeea..9cb3b70 100644
--- a/src/Reactor/SubzeroReactor.cpp
+++ b/src/Reactor/SubzeroReactor.cpp
@@ -1081,18 +1081,6 @@
return result;
}
- Value *Nucleus::createConstantPointer(const void *address, Type *Ty, unsigned int align)
- {
- if(sizeof(void*) == 8)
- {
- return createAssign(::context->getConstantInt64(reinterpret_cast<intptr_t>(address)));
- }
- else
- {
- return createAssign(::context->getConstantInt32(reinterpret_cast<intptr_t>(address)));
- }
- }
-
Type *Nucleus::getPointerType(Type *ElementType)
{
if(sizeof(void*) == 8)
@@ -1165,14 +1153,7 @@
Value *Nucleus::createNullPointer(Type *Ty)
{
- if(true)
- {
- return createNullValue(T(sizeof(void*) == 8 ? Ice::IceType_i64 : Ice::IceType_i32));
- }
- else
- {
- return createConstantPointer(nullptr, Ty);
- }
+ return createNullValue(T(sizeof(void*) == 8 ? Ice::IceType_i64 : Ice::IceType_i32));
}
Value *Nucleus::createConstantVector(const int64_t *constants, Type *type)