diff options
author | Zhengyang Liu <liuz@cs.utah.edu> | 2020-11-24 14:55:24 -0700 |
---|---|---|
committer | Zhengyang Liu <liuz@cs.utah.edu> | 2020-11-25 17:33:51 -0700 |
commit | 75f50e15bf8fff6fba1d4678adedd33ef6a945e5 (patch) | |
tree | b9793ec3e05ba630c0354c13aa443a688f5a21e3 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | 3fb0879867d7039cb61ffb6287ac17ac949adfa9 (diff) | |
download | llvm-75f50e15bf8fff6fba1d4678adedd33ef6a945e5.zip llvm-75f50e15bf8fff6fba1d4678adedd33ef6a945e5.tar.gz llvm-75f50e15bf8fff6fba1d4678adedd33ef6a945e5.tar.bz2 |
Adding PoisonValue for representing poison value explicitly in IR
Define ConstantData::PoisonValue.
Add support for poison value to LLLexer/LLParser/BitcodeReader/BitcodeWriter.
Add support for poison value to llvm-c interface.
Add support for poison value to OCaml binding.
Add m_Poison in PatternMatch.
Differential Revision: https://reviews.llvm.org/D71126
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
-rw-r--r-- | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index 2a921a7..5c13738 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -2425,6 +2425,8 @@ void ModuleBitcodeWriter::writeConstants(unsigned FirstVal, unsigned LastVal, unsigned AbbrevToUse = 0; if (C->isNullValue()) { Code = bitc::CST_CODE_NULL; + } else if (isa<PoisonValue>(C)) { + Code = bitc::CST_CODE_POISON; } else if (isa<UndefValue>(C)) { Code = bitc::CST_CODE_UNDEF; } else if (const ConstantInt *IV = dyn_cast<ConstantInt>(C)) { |