Rename Reactor static getType() methods to type()
This is just a refactoring which will allow adding a virtual getType()
method in a subsequent change without overload naming conflicts.
'isVoid()' has been removed since it appears unused now.
Bug: b/155302798
Change-Id: I16f5cbd947da9581e0f20837497f6b61cfeb7a21
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/45008
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
diff --git a/src/Reactor/Coroutine.hpp b/src/Reactor/Coroutine.hpp
index cd8763c..05d9204 100644
--- a/src/Reactor/Coroutine.hpp
+++ b/src/Reactor/Coroutine.hpp
@@ -157,16 +157,16 @@
{
core.reset(new Nucleus());
- std::vector<Type *> types = { CToReactorT<Arguments>::getType()... };
+ std::vector<Type *> types = { CToReactorT<Arguments>::type()... };
for(auto type : types)
{
- if(type != Void::getType())
+ if(type != Void::type())
{
arguments.push_back(type);
}
}
- Nucleus::createCoroutine(CToReactorT<Return>::getType(), arguments);
+ Nucleus::createCoroutine(CToReactorT<Return>::type(), arguments);
}
template<typename Return, typename... Arguments>
diff --git a/src/Reactor/LLVMReactor.cpp b/src/Reactor/LLVMReactor.cpp
index 4d232bf..e76e653 100644
--- a/src/Reactor/LLVMReactor.cpp
+++ b/src/Reactor/LLVMReactor.cpp
@@ -537,12 +537,12 @@
// Use 128-bit vectors to implement logically shorter ones.
switch(asInternalType(t))
{
- case Type_v2i32: return T(Int4::getType());
- case Type_v4i16: return T(Short8::getType());
- case Type_v2i16: return T(Short8::getType());
- case Type_v8i8: return T(Byte16::getType());
- case Type_v4i8: return T(Byte16::getType());
- case Type_v2f32: return T(Float4::getType());
+ case Type_v2i32: return T(Int4::type());
+ case Type_v4i16: return T(Short8::type());
+ case Type_v2i16: return T(Short8::type());
+ case Type_v8i8: return T(Byte16::type());
+ case Type_v4i8: return T(Byte16::type());
+ case Type_v2f32: return T(Float4::type());
case Type_LLVM: return reinterpret_cast<llvm::Type *>(t);
default:
UNREACHABLE("asInternalType(t): %d", int(asInternalType(t)));
@@ -808,7 +808,7 @@
{
RR_DEBUG_INFO_UPDATE_LOC();
- ASSERT_MSG(jit->function->getReturnType() == T(Void::getType()), "Return type mismatch");
+ ASSERT_MSG(jit->function->getReturnType() == T(Void::type()), "Return type mismatch");
// Code generated after this point is unreachable, so any variables
// being read can safely return an undefined value. We have to avoid
@@ -989,17 +989,17 @@
case Type_v2f32:
return createBitCast(
createInsertElement(
- V(llvm::UndefValue::get(llvm::VectorType::get(T(Long::getType()), 2))),
- createLoad(createBitCast(ptr, Pointer<Long>::getType()), Long::getType(), isVolatile, alignment, atomic, memoryOrder),
+ V(llvm::UndefValue::get(llvm::VectorType::get(T(Long::type()), 2))),
+ createLoad(createBitCast(ptr, Pointer<Long>::type()), Long::type(), isVolatile, alignment, atomic, memoryOrder),
0),
type);
case Type_v2i16:
case Type_v4i8:
if(alignment != 0) // Not a local variable (all vectors are 128-bit).
{
- Value *u = V(llvm::UndefValue::get(llvm::VectorType::get(T(Long::getType()), 2)));
- Value *i = createLoad(createBitCast(ptr, Pointer<Int>::getType()), Int::getType(), isVolatile, alignment, atomic, memoryOrder);
- i = createZExt(i, Long::getType());
+ Value *u = V(llvm::UndefValue::get(llvm::VectorType::get(T(Long::type()), 2)));
+ Value *i = createLoad(createBitCast(ptr, Pointer<Int>::type()), Int::type(), isVolatile, alignment, atomic, memoryOrder);
+ i = createZExt(i, Long::type());
Value *v = createInsertElement(u, i, 0);
return createBitCast(v, type);
}
@@ -1073,18 +1073,18 @@
case Type_v2f32:
createStore(
createExtractElement(
- createBitCast(value, T(llvm::VectorType::get(T(Long::getType()), 2))), Long::getType(), 0),
- createBitCast(ptr, Pointer<Long>::getType()),
- Long::getType(), isVolatile, alignment, atomic, memoryOrder);
+ createBitCast(value, T(llvm::VectorType::get(T(Long::type()), 2))), Long::type(), 0),
+ createBitCast(ptr, Pointer<Long>::type()),
+ Long::type(), isVolatile, alignment, atomic, memoryOrder);
return value;
case Type_v2i16:
case Type_v4i8:
if(alignment != 0) // Not a local variable (all vectors are 128-bit).
{
createStore(
- createExtractElement(createBitCast(value, Int4::getType()), Int::getType(), 0),
- createBitCast(ptr, Pointer<Int>::getType()),
- Int::getType(), isVolatile, alignment, atomic, memoryOrder);
+ createExtractElement(createBitCast(value, Int4::type()), Int::type(), 0),
+ createBitCast(ptr, Pointer<Int>::type()),
+ Int::type(), isVolatile, alignment, atomic, memoryOrder);
return value;
}
// Fallthrough to non-emulated case.
@@ -1231,12 +1231,12 @@
RValue<Float4> Gather(RValue<Pointer<Float>> base, RValue<Int4> offsets, RValue<Int4> mask, unsigned int alignment, bool zeroMaskedLanes /* = false */)
{
- return As<Float4>(V(createGather(V(base.value), T(Float::getType()), V(offsets.value), V(mask.value), alignment, zeroMaskedLanes)));
+ return As<Float4>(V(createGather(V(base.value), T(Float::type()), V(offsets.value), V(mask.value), alignment, zeroMaskedLanes)));
}
RValue<Int4> Gather(RValue<Pointer<Int>> base, RValue<Int4> offsets, RValue<Int4> mask, unsigned int alignment, bool zeroMaskedLanes /* = false */)
{
- return As<Int4>(V(createGather(V(base.value), T(Float::getType()), V(offsets.value), V(mask.value), alignment, zeroMaskedLanes)));
+ return As<Int4>(V(createGather(V(base.value), T(Float::type()), V(offsets.value), V(mask.value), alignment, zeroMaskedLanes)));
}
void Scatter(RValue<Pointer<Float>> base, RValue<Float4> val, RValue<Int4> offsets, RValue<Int4> mask, unsigned int alignment)
@@ -1274,7 +1274,7 @@
// x86 supports automatic zero-extending of 32-bit registers to
// 64-bit. Thus when indexing into an array using a uint32 is
// actually faster than an int32.
- index = unsignedIndex ? createZExt(index, Long::getType()) : createSExt(index, Long::getType());
+ index = unsignedIndex ? createZExt(index, Long::type()) : createSExt(index, Long::type());
}
// For non-emulated types we can rely on LLVM's GEP to calculate the
@@ -1291,7 +1291,7 @@
// Cast to a byte pointer, apply the byte offset, and cast back to the
// original pointer type.
return createBitCast(
- V(jit->builder->CreateGEP(V(createBitCast(ptr, T(llvm::PointerType::get(T(Byte::getType()), 0)))), V(index))),
+ V(jit->builder->CreateGEP(V(createBitCast(ptr, T(llvm::PointerType::get(T(Byte::type()), 0)))), V(index))),
T(llvm::PointerType::get(T(type), 0)));
}
@@ -1736,7 +1736,7 @@
Value *Nucleus::createConstantFloat(float x)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return V(llvm::ConstantFP::get(T(Float::getType()), x));
+ return V(llvm::ConstantFP::get(T(Float::type()), x));
}
Value *Nucleus::createNullPointer(Type *Ty)
@@ -1786,42 +1786,42 @@
return V(ptr);
}
-Type *Void::getType()
+Type *Void::type()
{
return T(llvm::Type::getVoidTy(jit->context));
}
-Type *Bool::getType()
+Type *Bool::type()
{
return T(llvm::Type::getInt1Ty(jit->context));
}
-Type *Byte::getType()
+Type *Byte::type()
{
return T(llvm::Type::getInt8Ty(jit->context));
}
-Type *SByte::getType()
+Type *SByte::type()
{
return T(llvm::Type::getInt8Ty(jit->context));
}
-Type *Short::getType()
+Type *Short::type()
{
return T(llvm::Type::getInt16Ty(jit->context));
}
-Type *UShort::getType()
+Type *UShort::type()
{
return T(llvm::Type::getInt16Ty(jit->context));
}
-Type *Byte4::getType()
+Type *Byte4::type()
{
return T(Type_v4i8);
}
-Type *SByte4::getType()
+Type *SByte4::type()
{
return T(Type_v4i8);
}
@@ -1852,7 +1852,7 @@
#if defined(__i386__) || defined(__x86_64__)
return x86::pmovmskb(x);
#else
- return As<Int>(V(lowerSignMask(V(x.value), T(Int::getType()))));
+ return As<Int>(V(lowerSignMask(V(x.value), T(Int::type()))));
#endif
}
@@ -1861,7 +1861,7 @@
//#if defined(__i386__) || defined(__x86_64__)
// return x86::pcmpgtb(x, y); // FIXME: Signedness
//#else
-// return As<Byte8>(V(lowerPCMP(llvm::ICmpInst::ICMP_SGT, V(x.value), V(y.value), T(Byte8::getType()))));
+// return As<Byte8>(V(lowerPCMP(llvm::ICmpInst::ICMP_SGT, V(x.value), V(y.value), T(Byte8::type()))));
//#endif
// }
@@ -1871,11 +1871,11 @@
#if defined(__i386__) || defined(__x86_64__)
return x86::pcmpeqb(x, y);
#else
- return As<Byte8>(V(lowerPCMP(llvm::ICmpInst::ICMP_EQ, V(x.value), V(y.value), T(Byte8::getType()))));
+ return As<Byte8>(V(lowerPCMP(llvm::ICmpInst::ICMP_EQ, V(x.value), V(y.value), T(Byte8::type()))));
#endif
}
-Type *Byte8::getType()
+Type *Byte8::type()
{
return T(Type_v8i8);
}
@@ -1906,7 +1906,7 @@
#if defined(__i386__) || defined(__x86_64__)
return x86::pmovmskb(As<Byte8>(x));
#else
- return As<Int>(V(lowerSignMask(V(x.value), T(Int::getType()))));
+ return As<Int>(V(lowerSignMask(V(x.value), T(Int::type()))));
#endif
}
@@ -1916,7 +1916,7 @@
#if defined(__i386__) || defined(__x86_64__)
return x86::pcmpgtb(x, y);
#else
- return As<Byte8>(V(lowerPCMP(llvm::ICmpInst::ICMP_SGT, V(x.value), V(y.value), T(Byte8::getType()))));
+ return As<Byte8>(V(lowerPCMP(llvm::ICmpInst::ICMP_SGT, V(x.value), V(y.value), T(Byte8::type()))));
#endif
}
@@ -1926,31 +1926,31 @@
#if defined(__i386__) || defined(__x86_64__)
return x86::pcmpeqb(As<Byte8>(x), As<Byte8>(y));
#else
- return As<Byte8>(V(lowerPCMP(llvm::ICmpInst::ICMP_EQ, V(x.value), V(y.value), T(Byte8::getType()))));
+ return As<Byte8>(V(lowerPCMP(llvm::ICmpInst::ICMP_EQ, V(x.value), V(y.value), T(Byte8::type()))));
#endif
}
-Type *SByte8::getType()
+Type *SByte8::type()
{
return T(Type_v8i8);
}
-Type *Byte16::getType()
+Type *Byte16::type()
{
- return T(llvm::VectorType::get(T(Byte::getType()), 16));
+ return T(llvm::VectorType::get(T(Byte::type()), 16));
}
-Type *SByte16::getType()
+Type *SByte16::type()
{
- return T(llvm::VectorType::get(T(SByte::getType()), 16));
+ return T(llvm::VectorType::get(T(SByte::type()), 16));
}
-Type *Short2::getType()
+Type *Short2::type()
{
return T(Type_v2i16);
}
-Type *UShort2::getType()
+Type *UShort2::type()
{
return T(Type_v2i16);
}
@@ -1959,7 +1959,7 @@
{
RR_DEBUG_INFO_UPDATE_LOC();
int select[8] = { 0, 2, 4, 6, 0, 2, 4, 6 };
- Value *short8 = Nucleus::createBitCast(cast.value, Short8::getType());
+ Value *short8 = Nucleus::createBitCast(cast.value, Short8::type());
Value *packed = Nucleus::createShuffleVector(short8, short8, select);
Value *short4 = As<Short4>(Int2(As<Int4>(packed))).value;
@@ -2095,7 +2095,7 @@
#if defined(__i386__) || defined(__x86_64__)
return x86::pcmpgtw(x, y);
#else
- return As<Short4>(V(lowerPCMP(llvm::ICmpInst::ICMP_SGT, V(x.value), V(y.value), T(Short4::getType()))));
+ return As<Short4>(V(lowerPCMP(llvm::ICmpInst::ICMP_SGT, V(x.value), V(y.value), T(Short4::type()))));
#endif
}
@@ -2105,11 +2105,11 @@
#if defined(__i386__) || defined(__x86_64__)
return x86::pcmpeqw(x, y);
#else
- return As<Short4>(V(lowerPCMP(llvm::ICmpInst::ICMP_EQ, V(x.value), V(y.value), T(Short4::getType()))));
+ return As<Short4>(V(lowerPCMP(llvm::ICmpInst::ICMP_EQ, V(x.value), V(y.value), T(Short4::type()))));
#endif
}
-Type *Short4::getType()
+Type *Short4::type()
{
return T(Type_v4i16);
}
@@ -2213,7 +2213,7 @@
#endif
}
-Type *UShort4::getType()
+Type *UShort4::type()
{
return T(Type_v4i16);
}
@@ -2258,9 +2258,9 @@
#endif
}
-Type *Short8::getType()
+Type *Short8::type()
{
- return T(llvm::VectorType::get(T(Short::getType()), 8));
+ return T(llvm::VectorType::get(T(Short::type()), 8));
}
RValue<UShort8> operator<<(RValue<UShort8> lhs, unsigned char rhs)
@@ -2293,9 +2293,9 @@
#endif
}
-Type *UShort8::getType()
+Type *UShort8::type()
{
- return T(llvm::VectorType::get(T(UShort::getType()), 8));
+ return T(llvm::VectorType::get(T(UShort::type()), 8));
}
RValue<Int> operator++(Int &val, int) // Post-increment
@@ -2344,16 +2344,16 @@
#if defined(__i386__) || defined(__x86_64__)
return x86::cvtss2si(cast);
#else
- return RValue<Int>(V(lowerRoundInt(V(cast.value), T(Int::getType()))));
+ return RValue<Int>(V(lowerRoundInt(V(cast.value), T(Int::type()))));
#endif
}
-Type *Int::getType()
+Type *Int::type()
{
return T(llvm::Type::getInt32Ty(jit->context));
}
-Type *Long::getType()
+Type *Long::type()
{
return T(llvm::Type::getInt64Ty(jit->context));
}
@@ -2361,7 +2361,7 @@
UInt::UInt(RValue<Float> cast)
{
RR_DEBUG_INFO_UPDATE_LOC();
- Value *integer = Nucleus::createFPToUI(cast.value, UInt::getType());
+ Value *integer = Nucleus::createFPToUI(cast.value, UInt::type());
storeValue(integer);
}
@@ -2414,15 +2414,15 @@
//#endif
// }
-Type *UInt::getType()
+Type *UInt::type()
{
return T(llvm::Type::getInt32Ty(jit->context));
}
// Int2::Int2(RValue<Int> cast)
// {
-// Value *extend = Nucleus::createZExt(cast.value, Long::getType());
-// Value *vector = Nucleus::createBitCast(extend, Int2::getType());
+// Value *extend = Nucleus::createZExt(cast.value, Long::type());
+// Value *vector = Nucleus::createBitCast(extend, Int2::type());
//
// int shuffle[2] = {0, 0};
// Value *replicate = Nucleus::createShuffleVector(vector, vector, shuffle);
@@ -2454,7 +2454,7 @@
#endif
}
-Type *Int2::getType()
+Type *Int2::type()
{
return T(Type_v2i32);
}
@@ -2483,7 +2483,7 @@
#endif
}
-Type *UInt2::getType()
+Type *UInt2::type()
{
return T(Type_v2i32);
}
@@ -2501,12 +2501,12 @@
#endif
{
int swizzle[16] = { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 };
- Value *a = Nucleus::createBitCast(cast.value, Byte16::getType());
- Value *b = Nucleus::createShuffleVector(a, Nucleus::createNullValue(Byte16::getType()), swizzle);
+ Value *a = Nucleus::createBitCast(cast.value, Byte16::type());
+ Value *b = Nucleus::createShuffleVector(a, Nucleus::createNullValue(Byte16::type()), swizzle);
int swizzle2[8] = { 0, 8, 1, 9, 2, 10, 3, 11 };
- Value *c = Nucleus::createBitCast(b, Short8::getType());
- Value *d = Nucleus::createShuffleVector(c, Nucleus::createNullValue(Short8::getType()), swizzle2);
+ Value *c = Nucleus::createBitCast(b, Short8::type());
+ Value *d = Nucleus::createShuffleVector(c, Nucleus::createNullValue(Short8::type()), swizzle2);
*this = As<Int4>(d);
}
@@ -2525,11 +2525,11 @@
#endif
{
int swizzle[16] = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 };
- Value *a = Nucleus::createBitCast(cast.value, Byte16::getType());
+ Value *a = Nucleus::createBitCast(cast.value, Byte16::type());
Value *b = Nucleus::createShuffleVector(a, a, swizzle);
int swizzle2[8] = { 0, 0, 1, 1, 2, 2, 3, 3 };
- Value *c = Nucleus::createBitCast(b, Short8::getType());
+ Value *c = Nucleus::createBitCast(b, Short8::type());
Value *d = Nucleus::createShuffleVector(c, c, swizzle2);
*this = As<Int4>(d) >> 24;
@@ -2608,37 +2608,37 @@
RValue<Int4> CmpEQ(RValue<Int4> x, RValue<Int4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpEQ(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpEQ(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpLT(RValue<Int4> x, RValue<Int4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSLT(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSLT(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpLE(RValue<Int4> x, RValue<Int4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSLE(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSLE(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpNEQ(RValue<Int4> x, RValue<Int4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpNE(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpNE(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpNLT(RValue<Int4> x, RValue<Int4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSGE(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSGE(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpNLE(RValue<Int4> x, RValue<Int4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSGT(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createICmpSGT(x.value, y.value), Int4::type()));
}
RValue<Int4> Max(RValue<Int4> x, RValue<Int4> y)
@@ -2679,7 +2679,7 @@
#if defined(__i386__) || defined(__x86_64__)
return x86::cvtps2dq(cast);
#else
- return As<Int4>(V(lowerRoundInt(V(cast.value), T(Int4::getType()))));
+ return As<Int4>(V(lowerRoundInt(V(cast.value), T(Int4::type()))));
#endif
}
@@ -2723,20 +2723,20 @@
#if defined(__i386__) || defined(__x86_64__)
return x86::movmskps(As<Float4>(x));
#else
- return As<Int>(V(lowerSignMask(V(x.value), T(Int::getType()))));
+ return As<Int>(V(lowerSignMask(V(x.value), T(Int::type()))));
#endif
}
-Type *Int4::getType()
+Type *Int4::type()
{
- return T(llvm::VectorType::get(T(Int::getType()), 4));
+ return T(llvm::VectorType::get(T(Int::type()), 4));
}
UInt4::UInt4(RValue<Float4> cast)
: XYZW(this)
{
RR_DEBUG_INFO_UPDATE_LOC();
- Value *xyzw = Nucleus::createFPToUI(cast.value, UInt4::getType());
+ Value *xyzw = Nucleus::createFPToUI(cast.value, UInt4::type());
storeValue(xyzw);
}
@@ -2776,37 +2776,37 @@
RValue<UInt4> CmpEQ(RValue<UInt4> x, RValue<UInt4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpEQ(x.value, y.value), Int4::getType()));
+ return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpEQ(x.value, y.value), Int4::type()));
}
RValue<UInt4> CmpLT(RValue<UInt4> x, RValue<UInt4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpULT(x.value, y.value), Int4::getType()));
+ return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpULT(x.value, y.value), Int4::type()));
}
RValue<UInt4> CmpLE(RValue<UInt4> x, RValue<UInt4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpULE(x.value, y.value), Int4::getType()));
+ return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpULE(x.value, y.value), Int4::type()));
}
RValue<UInt4> CmpNEQ(RValue<UInt4> x, RValue<UInt4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpNE(x.value, y.value), Int4::getType()));
+ return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpNE(x.value, y.value), Int4::type()));
}
RValue<UInt4> CmpNLT(RValue<UInt4> x, RValue<UInt4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpUGE(x.value, y.value), Int4::getType()));
+ return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpUGE(x.value, y.value), Int4::type()));
}
RValue<UInt4> CmpNLE(RValue<UInt4> x, RValue<UInt4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpUGT(x.value, y.value), Int4::getType()));
+ return RValue<UInt4>(Nucleus::createSExt(Nucleus::createICmpUGT(x.value, y.value), Int4::type()));
}
RValue<UInt4> Max(RValue<UInt4> x, RValue<UInt4> y)
@@ -2841,12 +2841,12 @@
}
}
-Type *UInt4::getType()
+Type *UInt4::type()
{
- return T(llvm::VectorType::get(T(UInt::getType()), 4));
+ return T(llvm::VectorType::get(T(UInt::type()), 4));
}
-Type *Half::getType()
+Type *Half::type()
{
return T(llvm::Type::getInt16Ty(jit->context));
}
@@ -2972,25 +2972,25 @@
}
}
-Type *Float::getType()
+Type *Float::type()
{
return T(llvm::Type::getFloatTy(jit->context));
}
-Type *Float2::getType()
+Type *Float2::type()
{
return T(Type_v2f32);
}
RValue<Float> Exp2(RValue<Float> v)
{
- auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::exp2, { T(Float::getType()) });
+ auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::exp2, { T(Float::type()) });
return RValue<Float>(V(jit->builder->CreateCall(func, V(v.value))));
}
RValue<Float> Log2(RValue<Float> v)
{
- auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::log2, { T(Float::getType()) });
+ auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::log2, { T(Float::type()) });
return RValue<Float>(V(jit->builder->CreateCall(func, V(v.value))));
}
@@ -3069,7 +3069,7 @@
#if defined(__i386__) || defined(__x86_64__)
return x86::movmskps(x);
#else
- return As<Int>(V(lowerFPSignMask(V(x.value), T(Int::getType()))));
+ return As<Int>(V(lowerFPSignMask(V(x.value), T(Int::type()))));
#endif
}
@@ -3077,78 +3077,78 @@
{
RR_DEBUG_INFO_UPDATE_LOC();
// return As<Int4>(x86::cmpeqps(x, y));
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOEQ(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOEQ(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpLT(RValue<Float4> x, RValue<Float4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
// return As<Int4>(x86::cmpltps(x, y));
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOLT(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOLT(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpLE(RValue<Float4> x, RValue<Float4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
// return As<Int4>(x86::cmpleps(x, y));
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOLE(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOLE(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpNEQ(RValue<Float4> x, RValue<Float4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
// return As<Int4>(x86::cmpneqps(x, y));
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpONE(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpONE(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpNLT(RValue<Float4> x, RValue<Float4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
// return As<Int4>(x86::cmpnltps(x, y));
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOGE(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOGE(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpNLE(RValue<Float4> x, RValue<Float4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
// return As<Int4>(x86::cmpnleps(x, y));
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOGT(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpOGT(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpUEQ(RValue<Float4> x, RValue<Float4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpUEQ(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpUEQ(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpULT(RValue<Float4> x, RValue<Float4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpULT(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpULT(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpULE(RValue<Float4> x, RValue<Float4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpULE(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpULE(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpUNEQ(RValue<Float4> x, RValue<Float4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpUNE(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpUNE(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpUNLT(RValue<Float4> x, RValue<Float4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpUGE(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpUGE(x.value, y.value), Int4::type()));
}
RValue<Int4> CmpUNLE(RValue<Float4> x, RValue<Float4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpUGT(x.value, y.value), Int4::getType()));
+ return RValue<Int4>(Nucleus::createSExt(Nucleus::createFCmpUGT(x.value, y.value), Int4::type()));
}
RValue<Float4> Round(RValue<Float4> x)
@@ -3264,12 +3264,12 @@
static RValue<Float4> TransformFloat4PerElement(RValue<Float4> v, const char *name)
{
- auto funcTy = ::llvm::FunctionType::get(T(Float::getType()), ::llvm::ArrayRef<llvm::Type *>(T(Float::getType())), false);
+ auto funcTy = ::llvm::FunctionType::get(T(Float::type()), ::llvm::ArrayRef<llvm::Type *>(T(Float::type())), false);
auto func = jit->module->getOrInsertFunction(name, funcTy);
- llvm::Value *out = ::llvm::UndefValue::get(T(Float4::getType()));
+ llvm::Value *out = ::llvm::UndefValue::get(T(Float4::type()));
for(uint64_t i = 0; i < 4; i++)
{
- auto el = jit->builder->CreateCall(func, V(Nucleus::createExtractElement(v.value, Float::getType(), i)));
+ auto el = jit->builder->CreateCall(func, V(Nucleus::createExtractElement(v.value, Float::type(), i)));
out = V(Nucleus::createInsertElement(V(out), V(el), i));
}
return RValue<Float4>(V(out));
@@ -3333,16 +3333,16 @@
{
RR_DEBUG_INFO_UPDATE_LOC();
::llvm::SmallVector<::llvm::Type *, 2> paramTys;
- paramTys.push_back(T(Float::getType()));
- paramTys.push_back(T(Float::getType()));
- auto funcTy = ::llvm::FunctionType::get(T(Float::getType()), paramTys, false);
+ paramTys.push_back(T(Float::type()));
+ paramTys.push_back(T(Float::type()));
+ auto funcTy = ::llvm::FunctionType::get(T(Float::type()), paramTys, false);
auto func = jit->module->getOrInsertFunction("atan2f", funcTy);
- llvm::Value *out = ::llvm::UndefValue::get(T(Float4::getType()));
+ llvm::Value *out = ::llvm::UndefValue::get(T(Float4::type()));
for(uint64_t i = 0; i < 4; i++)
{
auto el = jit->builder->CreateCall2(func, ARGS(
- V(Nucleus::createExtractElement(x.value, Float::getType(), i)),
- V(Nucleus::createExtractElement(y.value, Float::getType(), i))));
+ V(Nucleus::createExtractElement(x.value, Float::type(), i)),
+ V(Nucleus::createExtractElement(y.value, Float::type(), i))));
out = V(Nucleus::createInsertElement(V(out), V(el), i));
}
return RValue<Float4>(V(out));
@@ -3351,42 +3351,42 @@
RValue<Float4> Pow(RValue<Float4> x, RValue<Float4> y)
{
RR_DEBUG_INFO_UPDATE_LOC();
- auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::pow, { T(Float4::getType()) });
+ auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::pow, { T(Float4::type()) });
return RValue<Float4>(V(jit->builder->CreateCall2(func, ARGS(V(x.value), V(y.value)))));
}
RValue<Float4> Exp(RValue<Float4> v)
{
RR_DEBUG_INFO_UPDATE_LOC();
- auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::exp, { T(Float4::getType()) });
+ auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::exp, { T(Float4::type()) });
return RValue<Float4>(V(jit->builder->CreateCall(func, V(v.value))));
}
RValue<Float4> Log(RValue<Float4> v)
{
RR_DEBUG_INFO_UPDATE_LOC();
- auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::log, { T(Float4::getType()) });
+ auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::log, { T(Float4::type()) });
return RValue<Float4>(V(jit->builder->CreateCall(func, V(v.value))));
}
RValue<Float4> Exp2(RValue<Float4> v)
{
RR_DEBUG_INFO_UPDATE_LOC();
- auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::exp2, { T(Float4::getType()) });
+ auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::exp2, { T(Float4::type()) });
return RValue<Float4>(V(jit->builder->CreateCall(func, V(v.value))));
}
RValue<Float4> Log2(RValue<Float4> v)
{
RR_DEBUG_INFO_UPDATE_LOC();
- auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::log2, { T(Float4::getType()) });
+ auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::log2, { T(Float4::type()) });
return RValue<Float4>(V(jit->builder->CreateCall(func, V(v.value))));
}
RValue<UInt> Ctlz(RValue<UInt> v, bool isZeroUndef)
{
RR_DEBUG_INFO_UPDATE_LOC();
- auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::ctlz, { T(UInt::getType()) });
+ auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::ctlz, { T(UInt::type()) });
return RValue<UInt>(V(jit->builder->CreateCall2(func, ARGS(
V(v.value),
isZeroUndef ? ::llvm::ConstantInt::getTrue(jit->context) : ::llvm::ConstantInt::getFalse(jit->context)))));
@@ -3395,7 +3395,7 @@
RValue<UInt4> Ctlz(RValue<UInt4> v, bool isZeroUndef)
{
RR_DEBUG_INFO_UPDATE_LOC();
- auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::ctlz, { T(UInt4::getType()) });
+ auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::ctlz, { T(UInt4::type()) });
return RValue<UInt4>(V(jit->builder->CreateCall2(func, ARGS(
V(v.value),
isZeroUndef ? ::llvm::ConstantInt::getTrue(jit->context) : ::llvm::ConstantInt::getFalse(jit->context)))));
@@ -3404,7 +3404,7 @@
RValue<UInt> Cttz(RValue<UInt> v, bool isZeroUndef)
{
RR_DEBUG_INFO_UPDATE_LOC();
- auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::cttz, { T(UInt::getType()) });
+ auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::cttz, { T(UInt::type()) });
return RValue<UInt>(V(jit->builder->CreateCall2(func, ARGS(
V(v.value),
isZeroUndef ? ::llvm::ConstantInt::getTrue(jit->context) : ::llvm::ConstantInt::getFalse(jit->context)))));
@@ -3413,7 +3413,7 @@
RValue<UInt4> Cttz(RValue<UInt4> v, bool isZeroUndef)
{
RR_DEBUG_INFO_UPDATE_LOC();
- auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::cttz, { T(UInt4::getType()) });
+ auto func = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::cttz, { T(UInt4::type()) });
return RValue<UInt4>(V(jit->builder->CreateCall2(func, ARGS(
V(v.value),
isZeroUndef ? ::llvm::ConstantInt::getTrue(jit->context) : ::llvm::ConstantInt::getFalse(jit->context)))));
@@ -3439,9 +3439,9 @@
return RValue<UInt>(Nucleus::createAtomicUMax(x.value, y.value, memoryOrder));
}
-Type *Float4::getType()
+Type *Float4::type()
{
- return T(llvm::VectorType::get(T(Float::getType()), 4));
+ return T(llvm::VectorType::get(T(Float::type()), 4));
}
RValue<Long> Ticks()
@@ -3458,7 +3458,7 @@
// Note: this should work for 32-bit pointers as well because 'inttoptr'
// is defined to truncate (and zero extend) if necessary.
auto ptrAsInt = ::llvm::ConstantInt::get(::llvm::Type::getInt64Ty(jit->context), reinterpret_cast<uintptr_t>(ptr));
- return RValue<Pointer<Byte>>(V(jit->builder->CreateIntToPtr(ptrAsInt, T(Pointer<Byte>::getType()))));
+ return RValue<Pointer<Byte>>(V(jit->builder->CreateIntToPtr(ptrAsInt, T(Pointer<Byte>::type()))));
}
RValue<Pointer<Byte>> ConstantData(void const *data, size_t size)
@@ -3520,9 +3520,9 @@
{
llvm::Function *rcpss = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::x86_sse_rcp_ss);
- Value *vector = Nucleus::createInsertElement(V(llvm::UndefValue::get(T(Float4::getType()))), val.value, 0);
+ Value *vector = Nucleus::createInsertElement(V(llvm::UndefValue::get(T(Float4::type()))), val.value, 0);
- return RValue<Float>(Nucleus::createExtractElement(V(jit->builder->CreateCall(rcpss, ARGS(V(vector)))), Float::getType(), 0));
+ return RValue<Float>(Nucleus::createExtractElement(V(jit->builder->CreateCall(rcpss, ARGS(V(vector)))), Float::type(), 0));
}
RValue<Float> sqrtss(RValue<Float> val)
@@ -3535,9 +3535,9 @@
{
llvm::Function *rsqrtss = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::x86_sse_rsqrt_ss);
- Value *vector = Nucleus::createInsertElement(V(llvm::UndefValue::get(T(Float4::getType()))), val.value, 0);
+ Value *vector = Nucleus::createInsertElement(V(llvm::UndefValue::get(T(Float4::type()))), val.value, 0);
- return RValue<Float>(Nucleus::createExtractElement(V(jit->builder->CreateCall(rsqrtss, ARGS(V(vector)))), Float::getType(), 0));
+ return RValue<Float>(Nucleus::createExtractElement(V(jit->builder->CreateCall(rsqrtss, ARGS(V(vector)))), Float::type(), 0));
}
RValue<Float4> rcpps(RValue<Float4> val)
@@ -3579,10 +3579,10 @@
{
llvm::Function *roundss = llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::x86_sse41_round_ss);
- Value *undef = V(llvm::UndefValue::get(T(Float4::getType())));
+ Value *undef = V(llvm::UndefValue::get(T(Float4::type())));
Value *vector = Nucleus::createInsertElement(undef, val.value, 0);
- return RValue<Float>(Nucleus::createExtractElement(V(jit->builder->CreateCall3(roundss, ARGS(V(undef), V(vector), V(Nucleus::createConstantInt(imm))))), Float::getType(), 0));
+ return RValue<Float>(Nucleus::createExtractElement(V(jit->builder->CreateCall3(roundss, ARGS(V(undef), V(vector), V(Nucleus::createConstantInt(imm))))), Float::type(), 0));
}
RValue<Float> floorss(RValue<Float> val)
@@ -3722,22 +3722,22 @@
RValue<Short4> pcmpgtw(RValue<Short4> x, RValue<Short4> y)
{
- return As<Short4>(V(lowerPCMP(llvm::ICmpInst::ICMP_SGT, V(x.value), V(y.value), T(Short4::getType()))));
+ return As<Short4>(V(lowerPCMP(llvm::ICmpInst::ICMP_SGT, V(x.value), V(y.value), T(Short4::type()))));
}
RValue<Short4> pcmpeqw(RValue<Short4> x, RValue<Short4> y)
{
- return As<Short4>(V(lowerPCMP(llvm::ICmpInst::ICMP_EQ, V(x.value), V(y.value), T(Short4::getType()))));
+ return As<Short4>(V(lowerPCMP(llvm::ICmpInst::ICMP_EQ, V(x.value), V(y.value), T(Short4::type()))));
}
RValue<Byte8> pcmpgtb(RValue<SByte8> x, RValue<SByte8> y)
{
- return As<Byte8>(V(lowerPCMP(llvm::ICmpInst::ICMP_SGT, V(x.value), V(y.value), T(Byte8::getType()))));
+ return As<Byte8>(V(lowerPCMP(llvm::ICmpInst::ICMP_SGT, V(x.value), V(y.value), T(Byte8::type()))));
}
RValue<Byte8> pcmpeqb(RValue<Byte8> x, RValue<Byte8> y)
{
- return As<Byte8>(V(lowerPCMP(llvm::ICmpInst::ICMP_EQ, V(x.value), V(y.value), T(Byte8::getType()))));
+ return As<Byte8>(V(lowerPCMP(llvm::ICmpInst::ICMP_EQ, V(x.value), V(y.value), T(Byte8::type()))));
}
RValue<Short4> packssdw(RValue<Int2> x, RValue<Int2> y)
@@ -3947,22 +3947,22 @@
RValue<Int4> pmovzxbd(RValue<Byte16> x)
{
- return RValue<Int4>(V(lowerPMOV(V(x.value), T(Int4::getType()), false)));
+ return RValue<Int4>(V(lowerPMOV(V(x.value), T(Int4::type()), false)));
}
RValue<Int4> pmovsxbd(RValue<SByte16> x)
{
- return RValue<Int4>(V(lowerPMOV(V(x.value), T(Int4::getType()), true)));
+ return RValue<Int4>(V(lowerPMOV(V(x.value), T(Int4::type()), true)));
}
RValue<Int4> pmovzxwd(RValue<UShort8> x)
{
- return RValue<Int4>(V(lowerPMOV(V(x.value), T(Int4::getType()), false)));
+ return RValue<Int4>(V(lowerPMOV(V(x.value), T(Int4::type()), false)));
}
RValue<Int4> pmovsxwd(RValue<Short8> x)
{
- return RValue<Int4>(V(lowerPMOV(V(x.value), T(Int4::getType()), true)));
+ return RValue<Int4>(V(lowerPMOV(V(x.value), T(Int4::type()), true)));
}
} // namespace x86
diff --git a/src/Reactor/Reactor.cpp b/src/Reactor/Reactor.cpp
index dc8d960..de85b03 100644
--- a/src/Reactor/Reactor.cpp
+++ b/src/Reactor/Reactor.cpp
@@ -251,21 +251,21 @@
Byte::Byte(RValue<Int> cast)
{
- Value *integer = Nucleus::createTrunc(cast.value, Byte::getType());
+ Value *integer = Nucleus::createTrunc(cast.value, Byte::type());
storeValue(integer);
}
Byte::Byte(RValue<UInt> cast)
{
- Value *integer = Nucleus::createTrunc(cast.value, Byte::getType());
+ Value *integer = Nucleus::createTrunc(cast.value, Byte::type());
storeValue(integer);
}
Byte::Byte(RValue<UShort> cast)
{
- Value *integer = Nucleus::createTrunc(cast.value, Byte::getType());
+ Value *integer = Nucleus::createTrunc(cast.value, Byte::type());
storeValue(integer);
}
@@ -508,14 +508,14 @@
SByte::SByte(RValue<Int> cast)
{
- Value *integer = Nucleus::createTrunc(cast.value, SByte::getType());
+ Value *integer = Nucleus::createTrunc(cast.value, SByte::type());
storeValue(integer);
}
SByte::SByte(RValue<Short> cast)
{
- Value *integer = Nucleus::createTrunc(cast.value, SByte::getType());
+ Value *integer = Nucleus::createTrunc(cast.value, SByte::type());
storeValue(integer);
}
@@ -753,7 +753,7 @@
Short::Short(RValue<Int> cast)
{
- Value *integer = Nucleus::createTrunc(cast.value, Short::getType());
+ Value *integer = Nucleus::createTrunc(cast.value, Short::type());
storeValue(integer);
}
@@ -991,14 +991,14 @@
UShort::UShort(RValue<UInt> cast)
{
- Value *integer = Nucleus::createTrunc(cast.value, UShort::getType());
+ Value *integer = Nucleus::createTrunc(cast.value, UShort::type());
storeValue(integer);
}
UShort::UShort(RValue<Int> cast)
{
- Value *integer = Nucleus::createTrunc(cast.value, UShort::getType());
+ Value *integer = Nucleus::createTrunc(cast.value, UShort::type());
storeValue(integer);
}
@@ -1231,7 +1231,7 @@
Byte4::Byte4(RValue<Byte8> cast)
{
- storeValue(Nucleus::createBitCast(cast.value, getType()));
+ storeValue(Nucleus::createBitCast(cast.value, type()));
}
Byte4::Byte4(RValue<UShort4> cast)
@@ -1293,7 +1293,7 @@
Byte8::Byte8(uint8_t x0, uint8_t x1, uint8_t x2, uint8_t x3, uint8_t x4, uint8_t x5, uint8_t x6, uint8_t x7)
{
int64_t constantVector[8] = { x0, x1, x2, x3, x4, x5, x6, x7 };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
Byte8::Byte8(RValue<Byte8> rhs)
@@ -1507,9 +1507,9 @@
SByte8::SByte8(uint8_t x0, uint8_t x1, uint8_t x2, uint8_t x3, uint8_t x4, uint8_t x5, uint8_t x6, uint8_t x7)
{
int64_t constantVector[8] = { x0, x1, x2, x3, x4, x5, x6, x7 };
- Value *vector = Nucleus::createConstantVector(constantVector, getType());
+ Value *vector = Nucleus::createConstantVector(constantVector, type());
- storeValue(Nucleus::createBitCast(vector, getType()));
+ storeValue(Nucleus::createBitCast(vector, type()));
}
SByte8::SByte8(RValue<SByte8> rhs)
@@ -1748,18 +1748,18 @@
Short2::Short2(RValue<Short4> cast)
{
- storeValue(Nucleus::createBitCast(cast.value, getType()));
+ storeValue(Nucleus::createBitCast(cast.value, type()));
}
UShort2::UShort2(RValue<UShort4> cast)
{
- storeValue(Nucleus::createBitCast(cast.value, getType()));
+ storeValue(Nucleus::createBitCast(cast.value, type()));
}
Short4::Short4(RValue<Int> cast)
{
Value *vector = loadValue();
- Value *element = Nucleus::createTrunc(cast.value, Short::getType());
+ Value *element = Nucleus::createTrunc(cast.value, Short::type());
Value *insert = Nucleus::createInsertElement(vector, element, 0);
Value *swizzle = Swizzle(RValue<Short4>(insert), 0x0000).value;
@@ -1773,13 +1773,13 @@
Short4::Short4(short xyzw)
{
int64_t constantVector[4] = { xyzw, xyzw, xyzw, xyzw };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
Short4::Short4(short x, short y, short z, short w)
{
int64_t constantVector[4] = { x, y, z, w };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
Short4::Short4(RValue<Short4> rhs)
@@ -2010,7 +2010,7 @@
RValue<Short> Extract(RValue<Short4> val, int i)
{
- return RValue<Short>(Nucleus::createExtractElement(val.value, Short::getType(), i));
+ return RValue<Short>(Nucleus::createExtractElement(val.value, Short::type(), i));
}
UShort4::UShort4(RValue<Int4> cast)
@@ -2021,13 +2021,13 @@
UShort4::UShort4(unsigned short xyzw)
{
int64_t constantVector[4] = { xyzw, xyzw, xyzw, xyzw };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
UShort4::UShort4(unsigned short x, unsigned short y, unsigned short z, unsigned short w)
{
int64_t constantVector[4] = { x, y, z, w };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
UShort4::UShort4(RValue<UShort4> rhs)
@@ -2158,13 +2158,13 @@
Short8::Short8(short c)
{
int64_t constantVector[8] = { c, c, c, c, c, c, c, c };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
Short8::Short8(short c0, short c1, short c2, short c3, short c4, short c5, short c6, short c7)
{
int64_t constantVector[8] = { c0, c1, c2, c3, c4, c5, c6, c7 };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
Short8::Short8(RValue<Short8> rhs)
@@ -2229,13 +2229,13 @@
UShort8::UShort8(unsigned short c)
{
int64_t constantVector[8] = { c, c, c, c, c, c, c, c };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
UShort8::UShort8(unsigned short c0, unsigned short c1, unsigned short c2, unsigned short c3, unsigned short c4, unsigned short c5, unsigned short c6, unsigned short c7)
{
int64_t constantVector[8] = { c0, c1, c2, c3, c4, c5, c6, c7 };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
UShort8::UShort8(RValue<UShort8> rhs)
@@ -2328,28 +2328,28 @@
Int::Int(RValue<Byte> cast)
{
- Value *integer = Nucleus::createZExt(cast.value, Int::getType());
+ Value *integer = Nucleus::createZExt(cast.value, Int::type());
storeValue(integer);
}
Int::Int(RValue<SByte> cast)
{
- Value *integer = Nucleus::createSExt(cast.value, Int::getType());
+ Value *integer = Nucleus::createSExt(cast.value, Int::type());
storeValue(integer);
}
Int::Int(RValue<Short> cast)
{
- Value *integer = Nucleus::createSExt(cast.value, Int::getType());
+ Value *integer = Nucleus::createSExt(cast.value, Int::type());
storeValue(integer);
}
Int::Int(RValue<UShort> cast)
{
- Value *integer = Nucleus::createZExt(cast.value, Int::getType());
+ Value *integer = Nucleus::createZExt(cast.value, Int::type());
storeValue(integer);
}
@@ -2361,14 +2361,14 @@
Int::Int(RValue<Long> cast)
{
- Value *integer = Nucleus::createTrunc(cast.value, Int::getType());
+ Value *integer = Nucleus::createTrunc(cast.value, Int::type());
storeValue(integer);
}
Int::Int(RValue<Float> cast)
{
- Value *integer = Nucleus::createFPToSI(cast.value, Int::getType());
+ Value *integer = Nucleus::createFPToSI(cast.value, Int::type());
storeValue(integer);
}
@@ -2625,14 +2625,14 @@
Long::Long(RValue<Int> cast)
{
- Value *integer = Nucleus::createSExt(cast.value, Long::getType());
+ Value *integer = Nucleus::createSExt(cast.value, Long::type());
storeValue(integer);
}
Long::Long(RValue<UInt> cast)
{
- Value *integer = Nucleus::createZExt(cast.value, Long::getType());
+ Value *integer = Nucleus::createZExt(cast.value, Long::type());
storeValue(integer);
}
@@ -2747,14 +2747,14 @@
UInt::UInt(RValue<UShort> cast)
{
- Value *integer = Nucleus::createZExt(cast.value, UInt::getType());
+ Value *integer = Nucleus::createZExt(cast.value, UInt::type());
storeValue(integer);
}
UInt::UInt(RValue<Long> cast)
{
- Value *integer = Nucleus::createTrunc(cast.value, UInt::getType());
+ Value *integer = Nucleus::createTrunc(cast.value, UInt::type());
storeValue(integer);
}
@@ -3016,13 +3016,13 @@
Int2::Int2(RValue<Int4> cast)
{
- storeValue(Nucleus::createBitCast(cast.value, getType()));
+ storeValue(Nucleus::createBitCast(cast.value, type()));
}
Int2::Int2(int x, int y)
{
int64_t constantVector[2] = { x, y };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
Int2::Int2(RValue<Int2> rhs)
@@ -3047,7 +3047,7 @@
int shuffle[4] = { 0, 4, 1, 5 };
Value *packed = Nucleus::createShuffleVector(Int4(lo).loadValue(), Int4(hi).loadValue(), shuffle);
- storeValue(Nucleus::createBitCast(packed, Int2::getType()));
+ storeValue(Nucleus::createBitCast(packed, Int2::type()));
}
RValue<Int2> Int2::operator=(RValue<Int2> rhs)
@@ -3195,7 +3195,7 @@
RValue<Int> Extract(RValue<Int2> val, int i)
{
- return RValue<Int>(Nucleus::createExtractElement(val.value, Int::getType(), i));
+ return RValue<Int>(Nucleus::createExtractElement(val.value, Int::type(), i));
}
RValue<Int2> Insert(RValue<Int2> val, RValue<Int> element, int i)
@@ -3206,7 +3206,7 @@
UInt2::UInt2(unsigned int x, unsigned int y)
{
int64_t constantVector[2] = { x, y };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
UInt2::UInt2(RValue<UInt2> rhs)
@@ -3356,7 +3356,7 @@
RValue<UInt> Extract(RValue<UInt2> val, int i)
{
- return RValue<UInt>(Nucleus::createExtractElement(val.value, UInt::getType(), i));
+ return RValue<UInt>(Nucleus::createExtractElement(val.value, UInt::type(), i));
}
RValue<UInt2> Insert(RValue<UInt2> val, RValue<UInt> element, int i)
@@ -3372,7 +3372,7 @@
Int4::Int4(RValue<Float4> cast)
: XYZW(this)
{
- Value *xyzw = Nucleus::createFPToSI(cast.value, Int4::getType());
+ Value *xyzw = Nucleus::createFPToSI(cast.value, Int4::type());
storeValue(xyzw);
}
@@ -3404,7 +3404,7 @@
void Int4::constant(int x, int y, int z, int w)
{
int64_t constantVector[4] = { x, y, z, w };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
Int4::Int4(RValue<Int4> rhs)
@@ -3608,7 +3608,7 @@
RValue<Int> Extract(RValue<Int4> x, int i)
{
- return RValue<Int>(Nucleus::createExtractElement(x.value, Int::getType(), i));
+ return RValue<Int>(Nucleus::createExtractElement(x.value, Int::type(), i));
}
RValue<Int4> Insert(RValue<Int4> x, RValue<Int> element, int i)
@@ -3658,7 +3658,7 @@
void UInt4::constant(int x, int y, int z, int w)
{
int64_t constantVector[4] = { x, y, z, w };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
UInt4::UInt4(RValue<UInt4> rhs)
@@ -3862,7 +3862,7 @@
RValue<UInt> Extract(RValue<UInt4> x, int i)
{
- return RValue<UInt>(Nucleus::createExtractElement(x.value, Int::getType(), i));
+ return RValue<UInt>(Nucleus::createExtractElement(x.value, Int::type(), i));
}
RValue<UInt4> Insert(RValue<UInt4> x, RValue<UInt> element, int i)
@@ -3910,7 +3910,7 @@
Float::Float(RValue<Int> cast)
{
- Value *integer = Nucleus::createSIToFP(cast.value, Float::getType());
+ Value *integer = Nucleus::createSIToFP(cast.value, Float::type());
storeValue(integer);
}
@@ -4133,14 +4133,14 @@
Float2::Float2(RValue<Float4> cast)
{
- storeValue(Nucleus::createBitCast(cast.value, getType()));
+ storeValue(Nucleus::createBitCast(cast.value, type()));
}
Float4::Float4(RValue<Byte4> cast)
: XYZW(this)
{
Value *a = Int4(cast).loadValue();
- Value *xyzw = Nucleus::createSIToFP(a, Float4::getType());
+ Value *xyzw = Nucleus::createSIToFP(a, Float4::type());
storeValue(xyzw);
}
@@ -4149,7 +4149,7 @@
: XYZW(this)
{
Value *a = Int4(cast).loadValue();
- Value *xyzw = Nucleus::createSIToFP(a, Float4::getType());
+ Value *xyzw = Nucleus::createSIToFP(a, Float4::type());
storeValue(xyzw);
}
@@ -4158,20 +4158,20 @@
: XYZW(this)
{
Int4 c(cast);
- storeValue(Nucleus::createSIToFP(RValue<Int4>(c).value, Float4::getType()));
+ storeValue(Nucleus::createSIToFP(RValue<Int4>(c).value, Float4::type()));
}
Float4::Float4(RValue<UShort4> cast)
: XYZW(this)
{
Int4 c(cast);
- storeValue(Nucleus::createSIToFP(RValue<Int4>(c).value, Float4::getType()));
+ storeValue(Nucleus::createSIToFP(RValue<Int4>(c).value, Float4::type()));
}
Float4::Float4(RValue<Int4> cast)
: XYZW(this)
{
- Value *xyzw = Nucleus::createSIToFP(cast.value, Float4::getType());
+ Value *xyzw = Nucleus::createSIToFP(cast.value, Float4::type());
storeValue(xyzw);
}
@@ -4220,7 +4220,7 @@
constexpr double inf = std::numeric_limits<double>::infinity();
double constantVector[4] = { inf, inf, inf, inf };
- result.storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ result.storeValue(Nucleus::createConstantVector(constantVector, type()));
return result;
}
@@ -4231,7 +4231,7 @@
ASSERT(std::isfinite(x) && std::isfinite(y) && std::isfinite(z) && std::isfinite(w));
double constantVector[4] = { x, y, z, w };
- storeValue(Nucleus::createConstantVector(constantVector, getType()));
+ storeValue(Nucleus::createConstantVector(constantVector, type()));
}
Float4::Float4(RValue<Float4> rhs)
@@ -4367,9 +4367,9 @@
RValue<Float4> Abs(RValue<Float4> x)
{
// TODO: Optimize.
- Value *vector = Nucleus::createBitCast(x.value, Int4::getType());
+ Value *vector = Nucleus::createBitCast(x.value, Int4::type());
int64_t constantVector[4] = { 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF };
- Value *result = Nucleus::createAnd(vector, Nucleus::createConstantVector(constantVector, Int4::getType()));
+ Value *result = Nucleus::createAnd(vector, Nucleus::createConstantVector(constantVector, Int4::type()));
return As<Float4>(result);
}
@@ -4381,7 +4381,7 @@
RValue<Float> Extract(RValue<Float4> x, int i)
{
- return RValue<Float>(Nucleus::createExtractElement(x.value, Float::getType(), i));
+ return RValue<Float>(Nucleus::createExtractElement(x.value, Float::type(), i));
}
RValue<Float4> Swizzle(RValue<Float4> x, uint16_t select)
@@ -4444,12 +4444,12 @@
RValue<Pointer<Byte>> operator+(RValue<Pointer<Byte>> lhs, RValue<Int> offset)
{
- return RValue<Pointer<Byte>>(Nucleus::createGEP(lhs.value, Byte::getType(), offset.value, false));
+ return RValue<Pointer<Byte>>(Nucleus::createGEP(lhs.value, Byte::type(), offset.value, false));
}
RValue<Pointer<Byte>> operator+(RValue<Pointer<Byte>> lhs, RValue<UInt> offset)
{
- return RValue<Pointer<Byte>>(Nucleus::createGEP(lhs.value, Byte::getType(), offset.value, true));
+ return RValue<Pointer<Byte>>(Nucleus::createGEP(lhs.value, Byte::type(), offset.value, true));
}
RValue<Pointer<Byte>> operator+=(Pointer<Byte> &lhs, int offset)
@@ -4512,12 +4512,12 @@
RValue<Float4> MaskedLoad(RValue<Pointer<Float4>> base, RValue<Int4> mask, unsigned int alignment, bool zeroMaskedLanes /* = false */)
{
- return RValue<Float4>(Nucleus::createMaskedLoad(base.value, Float::getType(), mask.value, alignment, zeroMaskedLanes));
+ return RValue<Float4>(Nucleus::createMaskedLoad(base.value, Float::type(), mask.value, alignment, zeroMaskedLanes));
}
RValue<Int4> MaskedLoad(RValue<Pointer<Int4>> base, RValue<Int4> mask, unsigned int alignment, bool zeroMaskedLanes /* = false */)
{
- return RValue<Int4>(Nucleus::createMaskedLoad(base.value, Int::getType(), mask.value, alignment, zeroMaskedLanes));
+ return RValue<Int4>(Nucleus::createMaskedLoad(base.value, Int::type(), mask.value, alignment, zeroMaskedLanes));
}
void MaskedStore(RValue<Pointer<Float4>> base, RValue<Float4> val, RValue<Int4> mask, unsigned int alignment)
@@ -4611,7 +4611,7 @@
// toInt returns all the integer values in vals extended to a printf-required storage value
static std::vector<Value *> toInt(const std::vector<Value *> &vals, bool isSigned)
{
- auto storageTy = Nucleus::getPrintfStorageType(Int::getType());
+ auto storageTy = Nucleus::getPrintfStorageType(Int::type());
std::vector<Value *> elements;
elements.reserve(vals.size());
for(auto v : vals)
@@ -4631,7 +4631,7 @@
// toFloat returns all the float values in vals extended to extended to a printf-required storage value
static std::vector<Value *> toFloat(const std::vector<Value *> &vals)
{
- auto storageTy = Nucleus::getPrintfStorageType(Float::getType());
+ auto storageTy = Nucleus::getPrintfStorageType(Float::type());
std::vector<Value *> elements;
elements.reserve(vals.size());
for(auto v : vals)
diff --git a/src/Reactor/Reactor.hpp b/src/Reactor/Reactor.hpp
index 9a99c30..f9b986d 100644
--- a/src/Reactor/Reactor.hpp
+++ b/src/Reactor/Reactor.hpp
@@ -90,12 +90,7 @@
class Void
{
public:
- static Type *getType();
-
- static bool isVoid()
- {
- return true;
- }
+ static Type *type();
};
template<class T>
@@ -150,11 +145,6 @@
RValue<Pointer<T>> operator&();
- static bool isVoid()
- {
- return false;
- }
-
// self() returns the this pointer to this LValue<T> object.
// This function exists because operator&() is overloaded.
inline LValue<T> *self() { return this; }
@@ -281,7 +271,7 @@
RValue<Bool> operator=(const Bool &rhs);
RValue<Bool> operator=(const Reference<Bool> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<Bool> operator!(RValue<Bool> val);
@@ -311,7 +301,7 @@
RValue<Byte> operator=(const Byte &rhs);
RValue<Byte> operator=(const Reference<Byte> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<Byte> operator+(RValue<Byte> lhs, RValue<Byte> rhs);
@@ -367,7 +357,7 @@
RValue<SByte> operator=(const SByte &rhs);
RValue<SByte> operator=(const Reference<SByte> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<SByte> operator+(RValue<SByte> lhs, RValue<SByte> rhs);
@@ -422,7 +412,7 @@
RValue<Short> operator=(const Short &rhs);
RValue<Short> operator=(const Reference<Short> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<Short> operator+(RValue<Short> lhs, RValue<Short> rhs);
@@ -478,7 +468,7 @@
RValue<UShort> operator=(const UShort &rhs);
RValue<UShort> operator=(const Reference<UShort> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<UShort> operator+(RValue<UShort> lhs, RValue<UShort> rhs);
@@ -534,7 +524,7 @@
RValue<Byte4> operator=(const Byte4 &rhs);
// RValue<Byte4> operator=(const Reference<Byte4> &rhs);
- static Type *getType();
+ static Type *type();
};
// RValue<Byte4> operator+(RValue<Byte4> lhs, RValue<Byte4> rhs);
@@ -578,7 +568,7 @@
// RValue<SByte4> operator=(const SByte4 &rhs);
// RValue<SByte4> operator=(const Reference<SByte4> &rhs);
- static Type *getType();
+ static Type *type();
};
// RValue<SByte4> operator+(RValue<SByte4> lhs, RValue<SByte4> rhs);
@@ -622,7 +612,7 @@
RValue<Byte8> operator=(const Byte8 &rhs);
RValue<Byte8> operator=(const Reference<Byte8> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<Byte8> operator+(RValue<Byte8> lhs, RValue<Byte8> rhs);
@@ -677,7 +667,7 @@
RValue<SByte8> operator=(const SByte8 &rhs);
RValue<SByte8> operator=(const Reference<SByte8> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<SByte8> operator+(RValue<SByte8> lhs, RValue<SByte8> rhs);
@@ -728,7 +718,7 @@
RValue<Byte16> operator=(const Byte16 &rhs);
RValue<Byte16> operator=(const Reference<Byte16> &rhs);
- static Type *getType();
+ static Type *type();
};
// RValue<Byte16> operator+(RValue<Byte16> lhs, RValue<Byte16> rhs);
@@ -773,7 +763,7 @@
// RValue<SByte16> operator=(const SByte16 &rhs);
// RValue<SByte16> operator=(const Reference<SByte16> &rhs);
- static Type *getType();
+ static Type *type();
};
// RValue<SByte16> operator+(RValue<SByte16> lhs, RValue<SByte16> rhs);
@@ -809,7 +799,7 @@
public:
explicit Short2(RValue<Short4> cast);
- static Type *getType();
+ static Type *type();
};
class UShort2 : public LValue<UShort2>
@@ -817,7 +807,7 @@
public:
explicit UShort2(RValue<UShort4> cast);
- static Type *getType();
+ static Type *type();
};
class Short4 : public LValue<Short4>
@@ -845,7 +835,7 @@
RValue<Short4> operator=(const UShort4 &rhs);
RValue<Short4> operator=(const Reference<UShort4> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<Short4> operator+(RValue<Short4> lhs, RValue<Short4> rhs);
@@ -922,7 +912,7 @@
RValue<UShort4> operator=(const Short4 &rhs);
RValue<UShort4> operator=(const Reference<Short4> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<UShort4> operator+(RValue<UShort4> lhs, RValue<UShort4> rhs);
@@ -975,7 +965,7 @@
RValue<Short8> operator=(const Short8 &rhs);
RValue<Short8> operator=(const Reference<Short8> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<Short8> operator+(RValue<Short8> lhs, RValue<Short8> rhs);
@@ -1033,7 +1023,7 @@
RValue<UShort8> operator=(const UShort8 &rhs);
RValue<UShort8> operator=(const Reference<UShort8> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<UShort8> operator+(RValue<UShort8> lhs, RValue<UShort8> rhs);
@@ -1105,7 +1095,7 @@
RValue<Int> operator=(const Reference<Int> &rhs);
RValue<Int> operator=(const Reference<UInt> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<Int> operator+(RValue<Int> lhs, RValue<Int> rhs);
@@ -1175,7 +1165,7 @@
// RValue<Long> operator=(const ULong &rhs);
// RValue<Long> operator=(const Reference<ULong> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<Long> operator+(RValue<Long> lhs, RValue<Long> rhs);
@@ -1242,7 +1232,7 @@
RValue<UInt> operator=(const Reference<UInt> &rhs);
RValue<UInt> operator=(const Reference<Int> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<UInt> operator+(RValue<UInt> lhs, RValue<UInt> rhs);
@@ -1314,7 +1304,7 @@
RValue<Int2> operator=(const Int2 &rhs);
RValue<Int2> operator=(const Reference<Int2> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<Int2> operator+(RValue<Int2> lhs, RValue<Int2> rhs);
@@ -1370,7 +1360,7 @@
RValue<UInt2> operator=(const UInt2 &rhs);
RValue<UInt2> operator=(const Reference<UInt2> &rhs);
- static Type *getType();
+ static Type *type();
};
RValue<UInt2> operator+(RValue<UInt2> lhs, RValue<UInt2> rhs);
@@ -1887,7 +1877,7 @@
RValue<Int4> operator=(const Int4 &rhs);
RValue<Int4> operator=(const Reference<Int4> &rhs);
- static Type *getType();
+ static Type *type();
private:
void constant(int x, int y, int z, int w);
@@ -1990,7 +1980,7 @@
RValue<UInt4> operator=(const UInt4 &rhs);
RValue<UInt4> operator=(const Reference<UInt4> &rhs);
- static Type *getType();
+ static Type *type();
private:
void constant(int x, int y, int z, int w);
@@ -2060,7 +2050,7 @@
public:
explicit Half(RValue<Float> cast);
- static Type *getType();
+ static Type *type();
};
class Float : public LValue<Float>
@@ -2090,7 +2080,7 @@
static Float infinity();
- static Type *getType();
+ static Type *type();
};
RValue<Float> operator+(RValue<Float> lhs, RValue<Float> rhs);
@@ -2182,7 +2172,7 @@
// template<int T>
// RValue<Float2> operator=(const SwizzleMask1<T> &rhs);
- static Type *getType();
+ static Type *type();
};
// RValue<Float2> operator+(RValue<Float2> lhs, RValue<Float2> rhs);
@@ -2254,7 +2244,7 @@
static Float4 infinity();
- static Type *getType();
+ static Type *type();
private:
void constant(float x, float y, float z, float w);
@@ -2376,7 +2366,7 @@
Pointer(RValue<Pointer<S>> pointerS, int alignment = 1)
: alignment(alignment)
{
- Value *pointerT = Nucleus::createBitCast(pointerS.value, Nucleus::getPointerType(T::getType()));
+ Value *pointerT = Nucleus::createBitCast(pointerS.value, Nucleus::getPointerType(T::type()));
LValue<Pointer<T>>::storeValue(pointerT);
}
@@ -2385,7 +2375,7 @@
: alignment(alignment)
{
Value *pointerS = pointer.loadValue();
- Value *pointerT = Nucleus::createBitCast(pointerS, Nucleus::getPointerType(T::getType()));
+ Value *pointerT = Nucleus::createBitCast(pointerS, Nucleus::getPointerType(T::type()));
LValue<Pointer<T>>::storeValue(pointerT);
}
@@ -2408,7 +2398,7 @@
Reference<T> operator[](RValue<Int> index);
Reference<T> operator[](RValue<UInt> index);
- static Type *getType();
+ static Type *type();
private:
const int alignment;
@@ -2437,7 +2427,7 @@
template<typename T>
RValue<T> Load(RValue<Pointer<T>> pointer, unsigned int alignment, bool atomic, std::memory_order memoryOrder)
{
- return RValue<T>(Nucleus::createLoad(pointer.value, T::getType(), false, alignment, atomic, memoryOrder));
+ return RValue<T>(Nucleus::createLoad(pointer.value, T::type(), false, alignment, atomic, memoryOrder));
}
template<typename T>
@@ -2460,7 +2450,7 @@
template<typename T>
void Store(RValue<T> value, RValue<Pointer<T>> pointer, unsigned int alignment, bool atomic, std::memory_order memoryOrder)
{
- Nucleus::createStore(value.value, pointer.value, T::getType(), false, alignment, atomic, memoryOrder);
+ Nucleus::createStore(value.value, pointer.value, T::type(), false, alignment, atomic, memoryOrder);
}
template<typename T>
@@ -2602,7 +2592,7 @@
template<class T>
LValue<T>::LValue(int arraySize)
- : Variable(T::getType(), arraySize)
+ : Variable(T::type(), arraySize)
{
#ifdef ENABLE_RR_DEBUG_INFO
materialize();
@@ -2680,7 +2670,7 @@
template<class T>
RValue<T> Reference<T>::operator=(RValue<T> rhs) const
{
- Nucleus::createStore(rhs.value, address, T::getType(), false, alignment);
+ Nucleus::createStore(rhs.value, address, T::type(), false, alignment);
return rhs;
}
@@ -2688,8 +2678,8 @@
template<class T>
RValue<T> Reference<T>::operator=(const Reference<T> &ref) const
{
- Value *tmp = Nucleus::createLoad(ref.address, T::getType(), false, ref.alignment);
- Nucleus::createStore(tmp, address, T::getType(), false, alignment);
+ Value *tmp = Nucleus::createLoad(ref.address, T::type(), false, ref.alignment);
+ Nucleus::createStore(tmp, address, T::type(), false, alignment);
return RValue<T>(tmp);
}
@@ -2703,7 +2693,7 @@
template<class T>
Value *Reference<T>::loadValue() const
{
- return Nucleus::createLoad(address, T::getType(), false, alignment);
+ return Nucleus::createLoad(address, T::type(), false, alignment);
}
template<class T>
@@ -2724,7 +2714,7 @@
template<class T>
RValue<T>::RValue(Value *rvalue)
{
- assert(Nucleus::createBitCast(rvalue, T::getType()) == rvalue); // Run-time type should match T, so bitcast is no-op.
+ assert(Nucleus::createBitCast(rvalue, T::type()) == rvalue); // Run-time type should match T, so bitcast is no-op.
value = rvalue;
RR_DEBUG_INFO_EMIT_VAR(value);
@@ -2974,7 +2964,7 @@
Pointer<T>::Pointer(std::nullptr_t)
: alignment(1)
{
- Value *value = Nucleus::createNullPointer(T::getType());
+ Value *value = Nucleus::createNullPointer(T::type());
LValue<Pointer<T>>::storeValue(value);
}
@@ -3007,7 +2997,7 @@
template<class T>
RValue<Pointer<T>> Pointer<T>::operator=(std::nullptr_t)
{
- Value *value = Nucleus::createNullPointer(T::getType());
+ Value *value = Nucleus::createNullPointer(T::type());
LValue<Pointer<T>>::storeValue(value);
return RValue<Pointer<T>>(this);
@@ -3023,7 +3013,7 @@
Reference<T> Pointer<T>::operator[](int index)
{
RR_DEBUG_INFO_UPDATE_LOC();
- Value *element = Nucleus::createGEP(LValue<Pointer<T>>::loadValue(), T::getType(), Nucleus::createConstantInt(index), false);
+ Value *element = Nucleus::createGEP(LValue<Pointer<T>>::loadValue(), T::type(), Nucleus::createConstantInt(index), false);
return Reference<T>(element, alignment);
}
@@ -3032,7 +3022,7 @@
Reference<T> Pointer<T>::operator[](unsigned int index)
{
RR_DEBUG_INFO_UPDATE_LOC();
- Value *element = Nucleus::createGEP(LValue<Pointer<T>>::loadValue(), T::getType(), Nucleus::createConstantInt(index), true);
+ Value *element = Nucleus::createGEP(LValue<Pointer<T>>::loadValue(), T::type(), Nucleus::createConstantInt(index), true);
return Reference<T>(element, alignment);
}
@@ -3041,7 +3031,7 @@
Reference<T> Pointer<T>::operator[](RValue<Int> index)
{
RR_DEBUG_INFO_UPDATE_LOC();
- Value *element = Nucleus::createGEP(LValue<Pointer<T>>::loadValue(), T::getType(), index.value, false);
+ Value *element = Nucleus::createGEP(LValue<Pointer<T>>::loadValue(), T::type(), index.value, false);
return Reference<T>(element, alignment);
}
@@ -3050,15 +3040,15 @@
Reference<T> Pointer<T>::operator[](RValue<UInt> index)
{
RR_DEBUG_INFO_UPDATE_LOC();
- Value *element = Nucleus::createGEP(LValue<Pointer<T>>::loadValue(), T::getType(), index.value, true);
+ Value *element = Nucleus::createGEP(LValue<Pointer<T>>::loadValue(), T::type(), index.value, true);
return Reference<T>(element, alignment);
}
template<class T>
-Type *Pointer<T>::getType()
+Type *Pointer<T>::type()
{
- return Nucleus::getPointerType(T::getType());
+ return Nucleus::getPointerType(T::type());
}
template<class T, int S>
@@ -3070,7 +3060,7 @@
template<class T, int S>
Reference<T> Array<T, S>::operator[](int index)
{
- assert(index < this->arraySize);
+ assert(index < Variable::arraySize);
Value *element = LValue<T>::getElementPointer(Nucleus::createConstantInt(index), false);
return Reference<T>(element);
@@ -3079,7 +3069,7 @@
template<class T, int S>
Reference<T> Array<T, S>::operator[](unsigned int index)
{
- assert(index < static_cast<unsigned int>(this->arraySize));
+ assert(index < static_cast<unsigned int>(Variable::arraySize));
Value *element = LValue<T>::getElementPointer(Nucleus::createConstantInt(index), true);
return Reference<T>(element);
@@ -3165,16 +3155,16 @@
{
core = new Nucleus();
- Type *types[] = { Arguments::getType()... };
+ Type *types[] = { Arguments::type()... };
for(Type *type : types)
{
- if(type != Void::getType())
+ if(type != Void::type())
{
arguments.push_back(type);
}
}
- Nucleus::createFunction(Return::getType(), arguments);
+ Nucleus::createFunction(Return::type(), arguments);
}
template<typename Return, typename... Arguments>
@@ -3213,7 +3203,7 @@
RValue<T> ReinterpretCast(RValue<S> val)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<T>(Nucleus::createBitCast(val.value, T::getType()));
+ return RValue<T>(Nucleus::createBitCast(val.value, T::type()));
}
template<class T, class S>
@@ -3222,7 +3212,7 @@
RR_DEBUG_INFO_UPDATE_LOC();
Value *val = var.loadValue();
- return RValue<T>(Nucleus::createBitCast(val, T::getType()));
+ return RValue<T>(Nucleus::createBitCast(val, T::type()));
}
template<class T, class S>
@@ -3235,7 +3225,7 @@
RValue<T> As(Value *val)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<T>(Nucleus::createBitCast(val, T::getType()));
+ return RValue<T>(Nucleus::createBitCast(val, T::type()));
}
template<class T, class S>
@@ -3275,18 +3265,18 @@
{
return RValue<RReturn>(rr::Call(
ConstantPointer(reinterpret_cast<void *>(fptr)),
- RReturn::getType(),
+ RReturn::type(),
{ ValueOf(args)... },
- { CToReactorT<Arguments>::getType()... }));
+ { CToReactorT<Arguments>::type()... }));
}
static inline RReturn Call(Pointer<Byte> fptr, CToReactorT<Arguments>... args)
{
return RValue<RReturn>(rr::Call(
fptr,
- RReturn::getType(),
+ RReturn::type(),
{ ValueOf(args)... },
- { CToReactorT<Arguments>::getType()... }));
+ { CToReactorT<Arguments>::type()... }));
}
};
@@ -3297,17 +3287,17 @@
static inline void Call(void(fptr)(Arguments...), CToReactorT<Arguments>... args)
{
rr::Call(ConstantPointer(reinterpret_cast<void *>(fptr)),
- Void::getType(),
+ Void::type(),
{ ValueOf(args)... },
- { CToReactorT<Arguments>::getType()... });
+ { CToReactorT<Arguments>::type()... });
}
static inline void Call(Pointer<Byte> fptr, CToReactorT<Arguments>... args)
{
rr::Call(fptr,
- Void::getType(),
+ Void::type(),
{ ValueOf(args)... },
- { CToReactorT<Arguments>::getType()... });
+ { CToReactorT<Arguments>::type()... });
}
};
diff --git a/src/Reactor/SubzeroReactor.cpp b/src/Reactor/SubzeroReactor.cpp
index 1a4a666..16ff015 100644
--- a/src/Reactor/SubzeroReactor.cpp
+++ b/src/Reactor/SubzeroReactor.cpp
@@ -165,7 +165,7 @@
{
static_assert(sizeof...(CArgs) == sizeof...(RArgs), "Expected number of args don't match");
- Ice::Type retTy = T(rr::CToReactorT<Return>::getType());
+ Ice::Type retTy = T(rr::CToReactorT<Return>::type());
std::vector<Ice::Operand *> iceArgs{ std::forward<RArgs>(args)... };
return Call(function, basicBlock, retTy, reinterpret_cast<void const *>(fptr), iceArgs, false);
}
@@ -2165,42 +2165,42 @@
return V(IceConstantData(v, strlen(v) + 1));
}
-Type *Void::getType()
+Type *Void::type()
{
return T(Ice::IceType_void);
}
-Type *Bool::getType()
+Type *Bool::type()
{
return T(Ice::IceType_i1);
}
-Type *Byte::getType()
+Type *Byte::type()
{
return T(Ice::IceType_i8);
}
-Type *SByte::getType()
+Type *SByte::type()
{
return T(Ice::IceType_i8);
}
-Type *Short::getType()
+Type *Short::type()
{
return T(Ice::IceType_i16);
}
-Type *UShort::getType()
+Type *UShort::type()
{
return T(Ice::IceType_i16);
}
-Type *Byte4::getType()
+Type *Byte4::type()
{
return T(Type_v4i8);
}
-Type *SByte4::getType()
+Type *SByte4::type()
{
return T(Type_v4i8);
}
@@ -2213,7 +2213,7 @@
RValue<Byte> Extract(RValue<Byte8> val, int i)
{
- return RValue<Byte>(Nucleus::createExtractElement(val.value, Byte::getType(), i));
+ return RValue<Byte>(Nucleus::createExtractElement(val.value, Byte::type(), i));
}
RValue<Byte8> Insert(RValue<Byte8> val, RValue<Byte> element, int i)
@@ -2287,7 +2287,7 @@
RValue<SByte> Extract(RValue<SByte8> val, int i)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<SByte>(Nucleus::createExtractElement(val.value, SByte::getType(), i));
+ return RValue<SByte>(Nucleus::createExtractElement(val.value, SByte::type(), i));
}
RValue<SByte8> Insert(RValue<SByte8> val, RValue<SByte> element, int i)
@@ -2359,7 +2359,7 @@
return RValue<Byte8>(Nucleus::createICmpEQ(x.value, y.value));
}
-Type *Byte8::getType()
+Type *Byte8::type()
{
return T(Type_v8i8);
}
@@ -2475,27 +2475,27 @@
return RValue<Byte8>(Nucleus::createICmpEQ(x.value, y.value));
}
-Type *SByte8::getType()
+Type *SByte8::type()
{
return T(Type_v8i8);
}
-Type *Byte16::getType()
+Type *Byte16::type()
{
return T(Ice::IceType_v16i8);
}
-Type *SByte16::getType()
+Type *SByte16::type()
{
return T(Ice::IceType_v16i8);
}
-Type *Short2::getType()
+Type *Short2::type()
{
return T(Type_v2i16);
}
-Type *UShort2::getType()
+Type *UShort2::type()
{
return T(Type_v2i16);
}
@@ -2503,11 +2503,11 @@
Short4::Short4(RValue<Int4> cast)
{
int select[8] = { 0, 2, 4, 6, 0, 2, 4, 6 };
- Value *short8 = Nucleus::createBitCast(cast.value, Short8::getType());
+ Value *short8 = Nucleus::createBitCast(cast.value, Short8::type());
Value *packed = Nucleus::createShuffleVector(short8, short8, select);
Value *int2 = RValue<Int2>(Int2(As<Int4>(packed))).value;
- Value *short4 = Nucleus::createBitCast(int2, Short4::getType());
+ Value *short4 = Nucleus::createBitCast(int2, Short4::type());
storeValue(short4);
}
@@ -2776,7 +2776,7 @@
return RValue<Short4>(Nucleus::createICmpEQ(x.value, y.value));
}
-Type *Short4::getType()
+Type *Short4::type()
{
return T(Type_v4i16);
}
@@ -2811,7 +2811,7 @@
RValue<UShort> Extract(RValue<UShort4> val, int i)
{
- return RValue<UShort>(Nucleus::createExtractElement(val.value, UShort::getType(), i));
+ return RValue<UShort>(Nucleus::createExtractElement(val.value, UShort::type(), i));
}
RValue<UShort4> Insert(RValue<UShort4> val, RValue<UShort> element, int i)
@@ -3027,7 +3027,7 @@
return UShort4(0);
}
-Type *UShort4::getType()
+Type *UShort4::type()
{
return T(Type_v4i16);
}
@@ -3035,7 +3035,7 @@
RValue<Short> Extract(RValue<Short8> val, int i)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<Short>(Nucleus::createExtractElement(val.value, Short::getType(), i));
+ return RValue<Short>(Nucleus::createExtractElement(val.value, Short::type(), i));
}
RValue<Short8> Insert(RValue<Short8> val, RValue<Short> element, int i)
@@ -3104,7 +3104,7 @@
return Short8(0);
}
-Type *Short8::getType()
+Type *Short8::type()
{
return T(Ice::IceType_v8i16);
}
@@ -3112,7 +3112,7 @@
RValue<UShort> Extract(RValue<UShort8> val, int i)
{
RR_DEBUG_INFO_UPDATE_LOC();
- return RValue<UShort>(Nucleus::createExtractElement(val.value, UShort::getType(), i));
+ return RValue<UShort>(Nucleus::createExtractElement(val.value, UShort::type(), i));
}
RValue<UShort8> Insert(RValue<UShort8> val, RValue<UShort> element, int i)
@@ -3174,7 +3174,7 @@
return UShort8(0);
}
-Type *UShort8::getType()
+Type *UShort8::type()
{
return T(Ice::IceType_v8i16);
}
@@ -3230,12 +3230,12 @@
}
}
-Type *Int::getType()
+Type *Int::type()
{
return T(Ice::IceType_i32);
}
-Type *Long::getType()
+Type *Long::type()
{
return T(Ice::IceType_i64);
}
@@ -3293,21 +3293,21 @@
// ASSERT(false && "UNIMPLEMENTED"); return RValue<UInt>(V(nullptr));
// }
-Type *UInt::getType()
+Type *UInt::type()
{
return T(Ice::IceType_i32);
}
// Int2::Int2(RValue<Int> cast)
// {
-// Value *extend = Nucleus::createZExt(cast.value, Long::getType());
-// Value *vector = Nucleus::createBitCast(extend, Int2::getType());
+// Value *extend = Nucleus::createZExt(cast.value, Long::type());
+// Value *vector = Nucleus::createBitCast(extend, Int2::type());
//
// Constant *shuffle[2];
// shuffle[0] = Nucleus::createConstantInt(0);
// shuffle[1] = Nucleus::createConstantInt(0);
//
-// Value *replicate = Nucleus::createShuffleVector(vector, UndefValue::get(Int2::getType()), Nucleus::createConstantVector(shuffle, 2));
+// Value *replicate = Nucleus::createShuffleVector(vector, UndefValue::get(Int2::type()), Nucleus::createConstantVector(shuffle, 2));
//
// storeValue(replicate);
// }
@@ -3346,7 +3346,7 @@
}
}
-Type *Int2::getType()
+Type *Int2::type()
{
return T(Type_v2i32);
}
@@ -3385,7 +3385,7 @@
}
}
-Type *UInt2::getType()
+Type *UInt2::type()
{
return T(Type_v2i32);
}
@@ -3394,19 +3394,19 @@
: XYZW(this)
{
RR_DEBUG_INFO_UPDATE_LOC();
- Value *x = Nucleus::createBitCast(cast.value, Int::getType());
+ Value *x = Nucleus::createBitCast(cast.value, Int::type());
Value *a = Nucleus::createInsertElement(loadValue(), x, 0);
Value *e;
int swizzle[16] = { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 };
- Value *b = Nucleus::createBitCast(a, Byte16::getType());
- Value *c = Nucleus::createShuffleVector(b, Nucleus::createNullValue(Byte16::getType()), swizzle);
+ Value *b = Nucleus::createBitCast(a, Byte16::type());
+ Value *c = Nucleus::createShuffleVector(b, Nucleus::createNullValue(Byte16::type()), swizzle);
int swizzle2[8] = { 0, 8, 1, 9, 2, 10, 3, 11 };
- Value *d = Nucleus::createBitCast(c, Short8::getType());
- e = Nucleus::createShuffleVector(d, Nucleus::createNullValue(Short8::getType()), swizzle2);
+ Value *d = Nucleus::createBitCast(c, Short8::type());
+ e = Nucleus::createShuffleVector(d, Nucleus::createNullValue(Short8::type()), swizzle2);
- Value *f = Nucleus::createBitCast(e, Int4::getType());
+ Value *f = Nucleus::createBitCast(e, Int4::type());
storeValue(f);
}
@@ -3414,15 +3414,15 @@
: XYZW(this)
{
RR_DEBUG_INFO_UPDATE_LOC();
- Value *x = Nucleus::createBitCast(cast.value, Int::getType());
+ Value *x = Nucleus::createBitCast(cast.value, Int::type());
Value *a = Nucleus::createInsertElement(loadValue(), x, 0);
int swizzle[16] = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 };
- Value *b = Nucleus::createBitCast(a, Byte16::getType());
+ Value *b = Nucleus::createBitCast(a, Byte16::type());
Value *c = Nucleus::createShuffleVector(b, b, swizzle);
int swizzle2[8] = { 0, 0, 1, 1, 2, 2, 3, 3 };
- Value *d = Nucleus::createBitCast(c, Short8::getType());
+ Value *d = Nucleus::createBitCast(c, Short8::type());
Value *e = Nucleus::createShuffleVector(d, d, swizzle2);
*this = As<Int4>(e) >> 24;
@@ -3444,7 +3444,7 @@
RR_DEBUG_INFO_UPDATE_LOC();
int swizzle[8] = { 0, 8, 1, 9, 2, 10, 3, 11 };
Value *c = Nucleus::createShuffleVector(cast.value, Short8(0, 0, 0, 0, 0, 0, 0, 0).loadValue(), swizzle);
- Value *d = Nucleus::createBitCast(c, Int4::getType());
+ Value *d = Nucleus::createBitCast(c, Int4::type());
storeValue(d);
}
@@ -3452,7 +3452,7 @@
: XYZW(this)
{
RR_DEBUG_INFO_UPDATE_LOC();
- Value *vector = Nucleus::createBitCast(rhs.value, Int4::getType());
+ Value *vector = Nucleus::createBitCast(rhs.value, Int4::type());
int swizzle[4] = { 0, 0, 0, 0 };
Value *replicate = Nucleus::createShuffleVector(vector, vector, swizzle);
@@ -3662,7 +3662,7 @@
}
}
-Type *Int4::getType()
+Type *Int4::type()
{
return T(Ice::IceType_v4i32);
}
@@ -3689,7 +3689,7 @@
: XYZW(this)
{
RR_DEBUG_INFO_UPDATE_LOC();
- Value *vector = Nucleus::createBitCast(rhs.value, UInt4::getType());
+ Value *vector = Nucleus::createBitCast(rhs.value, UInt4::type());
int swizzle[4] = { 0, 0, 0, 0 };
Value *replicate = Nucleus::createShuffleVector(vector, vector, swizzle);
@@ -3799,12 +3799,12 @@
return RValue<UInt4>(V(result));
}
-Type *UInt4::getType()
+Type *UInt4::type()
{
return T(Ice::IceType_v4i32);
}
-Type *Half::getType()
+Type *Half::type()
{
return T(Ice::IceType_i16);
}
@@ -3864,12 +3864,12 @@
return Float4(Ceil(Float4(x))).x;
}
-Type *Float::getType()
+Type *Float::type()
{
return T(Ice::IceType_f32);
}
-Type *Float2::getType()
+Type *Float2::type()
{
return T(Type_v2f32);
}
@@ -3878,7 +3878,7 @@
: XYZW(this)
{
RR_DEBUG_INFO_UPDATE_LOC();
- Value *vector = Nucleus::createBitCast(rhs.value, Float4::getType());
+ Value *vector = Nucleus::createBitCast(rhs.value, Float4::type());
int swizzle[4] = { 0, 0, 0, 0 };
Value *replicate = Nucleus::createShuffleVector(vector, vector, swizzle);
@@ -4155,7 +4155,7 @@
}
}
-Type *Float4::getType()
+Type *Float4::type()
{
return T(Ice::IceType_v4f32);
}