diff options
author | Nadav Rotem <nrotem@apple.com> | 2013-04-01 15:53:30 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2013-04-01 15:53:30 +0000 |
commit | 953783e00c9934bc41077108fffeb1e2a17b00df (patch) | |
tree | f324b5c720825d0133edfe9a8e49eefd6ee6af14 /include | |
parent | f170cc9b2eb98efee40ee22cff6bcf401c209b00 (diff) | |
download | external_llvm-953783e00c9934bc41077108fffeb1e2a17b00df.zip external_llvm-953783e00c9934bc41077108fffeb1e2a17b00df.tar.gz external_llvm-953783e00c9934bc41077108fffeb1e2a17b00df.tar.bz2 |
Add support for vector data types in the LLVM interpreter.
Patch by:
Veselov, Yuri <Yuri.Veselov@intel.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178469 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/ExecutionEngine/GenericValue.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/include/llvm/ExecutionEngine/GenericValue.h b/include/llvm/ExecutionEngine/GenericValue.h index 21b9942..0e92f79 100644 --- a/include/llvm/ExecutionEngine/GenericValue.h +++ b/include/llvm/ExecutionEngine/GenericValue.h @@ -35,14 +35,19 @@ struct GenericValue { struct IntPair UIntPairVal; unsigned char Untyped[8]; }; - APInt IntVal; // also used for long doubles - - GenericValue() : DoubleVal(0.0), IntVal(1,0) {} + APInt IntVal; // also used for long doubles. + // For aggregate data types. + std::vector<GenericValue> AggregateVal; + + // to make code faster, set GenericValue to zero could be omitted, but it is + // potentially can cause problems, since GenericValue to store garbage + // instead of zero. + GenericValue() : IntVal(1,0) {UIntPairVal.first = 0; UIntPairVal.second = 0;} explicit GenericValue(void *V) : PointerVal(V), IntVal(1,0) { } }; inline GenericValue PTOGV(void *P) { return GenericValue(P); } inline void* GVTOP(const GenericValue &GV) { return GV.PointerVal; } -} // End llvm namespace +} // End llvm namespace. #endif |