diff options
| author | Martial Simon <msimon_fr@hotmail.com> | 2025-09-15 01:07:58 +0200 |
|---|---|---|
| committer | Martial Simon <msimon_fr@hotmail.com> | 2025-09-15 01:07:58 +0200 |
| commit | 967be9e750221ab2ab783f95df79bb26d290a45e (patch) | |
| tree | 6802900a5e975f9f68b169f0f503f040056d6952 /tiger-compiler/src/llvmtranslate/translator.hxx | |
Diffstat (limited to 'tiger-compiler/src/llvmtranslate/translator.hxx')
| -rw-r--r-- | tiger-compiler/src/llvmtranslate/translator.hxx | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tiger-compiler/src/llvmtranslate/translator.hxx b/tiger-compiler/src/llvmtranslate/translator.hxx new file mode 100644 index 0000000..a509d4d --- /dev/null +++ b/tiger-compiler/src/llvmtranslate/translator.hxx @@ -0,0 +1,30 @@ +/** + ** \file llvmtranslate/translator.hxx + ** \brief Inline methods for llvmtranslate::Translator. + */ + +#pragma once + +#include <llvmtranslate/translator.hh> + +namespace llvmtranslate +{ + + inline llvm::Value* Translator::get_void_value() + { + return builder_.getIntN(0, 0); + } + + inline llvm::Value* Translator::get_dereferenced(llvm::Value* ptr, + const type::Type* type) + { + if (!ptr->getType()->isPointerTy()) + { + return ptr; + } + + return builder_.CreateLoad(llvm_type(*type), ptr, ptr->getName() + "_dereferenced"); + } + + +} // namespace llvmtranslate |
