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/tools/llvm-c-test | |
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/tools/llvm-c-test')
-rw-r--r-- | llvm/tools/llvm-c-test/echo.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/tools/llvm-c-test/echo.cpp b/llvm/tools/llvm-c-test/echo.cpp index 47dddd3..44eb7da 100644 --- a/llvm/tools/llvm-c-test/echo.cpp +++ b/llvm/tools/llvm-c-test/echo.cpp @@ -344,6 +344,12 @@ static LLVMValueRef clone_constant_impl(LLVMValueRef Cst, LLVMModuleRef M) { return LLVMGetUndef(TypeCloner(M).Clone(Cst)); } + // Try poison + if (LLVMIsPoison(Cst)) { + check_value_kind(Cst, LLVMPoisonValueValueKind); + return LLVMGetPoison(TypeCloner(M).Clone(Cst)); + } + // Try null if (LLVMIsNull(Cst)) { check_value_kind(Cst, LLVMConstantTokenNoneValueKind); |