diff options
author | Xiang1 Zhang <xiang1.zhang@intel.com> | 2020-09-30 18:01:15 +0800 |
---|---|---|
committer | Xiang1 Zhang <xiang1.zhang@intel.com> | 2020-09-30 18:08:45 +0800 |
commit | 413577a8790407d75ba834fa5668c2632fe1851e (patch) | |
tree | 3a789ee5a7593723bcd16c248d08d76d63e4e359 /llvm/lib/IR/Function.cpp | |
parent | 8c05c7c8d87c7ab02fca2a789dfcca4976c6601b (diff) | |
download | llvm-413577a8790407d75ba834fa5668c2632fe1851e.zip llvm-413577a8790407d75ba834fa5668c2632fe1851e.tar.gz llvm-413577a8790407d75ba834fa5668c2632fe1851e.tar.bz2 |
[X86] Support Intel Key Locker
Key Locker provides a mechanism to encrypt and decrypt data with an AES key without having access
to the raw key value by converting AES keys into “handles”. These handles can be used to perform the
same encryption and decryption operations as the original AES keys, but they only work on the current
system and only until they are revoked. If software revokes Key Locker handles (e.g., on a reboot),
then any previous handles can no longer be used.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D88398
Diffstat (limited to 'llvm/lib/IR/Function.cpp')
-rw-r--r-- | llvm/lib/IR/Function.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp index 16cf1bd..8d741c3 100644 --- a/llvm/lib/IR/Function.cpp +++ b/llvm/lib/IR/Function.cpp @@ -833,7 +833,8 @@ enum IIT_Info { IIT_SUBDIVIDE4_ARG = 45, IIT_VEC_OF_BITCASTS_TO_INT = 46, IIT_V128 = 47, - IIT_BF16 = 48 + IIT_BF16 = 48, + IIT_STRUCT9 = 49 }; static void DecodeIITType(unsigned &NextElt, ArrayRef<unsigned char> Infos, @@ -995,6 +996,7 @@ static void DecodeIITType(unsigned &NextElt, ArrayRef<unsigned char> Infos, case IIT_EMPTYSTRUCT: OutputTable.push_back(IITDescriptor::get(IITDescriptor::Struct, 0)); return; + case IIT_STRUCT9: ++StructElts; LLVM_FALLTHROUGH; case IIT_STRUCT8: ++StructElts; LLVM_FALLTHROUGH; case IIT_STRUCT7: ++StructElts; LLVM_FALLTHROUGH; case IIT_STRUCT6: ++StructElts; LLVM_FALLTHROUGH; |