mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-20 03:36:44 +00:00
Some LLVM function attribute fun
This commit is contained in:
parent
e11a9bb61b
commit
04d6ffb178
1 changed files with 4 additions and 0 deletions
|
|
@ -40,6 +40,10 @@ Memory::Memory(llvm::IRBuilder<>& _builder, llvm::Module* _module, GasMeter& _ga
|
|||
m_returnDataSize->setUnnamedAddr(true); // Address is not important
|
||||
|
||||
m_resize = llvm::Function::Create(llvm::FunctionType::get(Type::BytePtr, Type::WordPtr, false), llvm::Function::ExternalLinkage, "mem_resize", _module);
|
||||
llvm::AttrBuilder attrBuilder;
|
||||
attrBuilder.addAttribute(llvm::Attribute::NoAlias).addAttribute(llvm::Attribute::NoCapture).addAttribute(llvm::Attribute::NonNull).addAttribute(llvm::Attribute::ReadOnly);
|
||||
m_resize->setAttributes(llvm::AttributeSet::get(m_resize->getContext(), 1, attrBuilder));
|
||||
|
||||
m_require = createRequireFunc(_module, _gasMeter);
|
||||
m_loadWord = createFunc(false, Type::i256, _module, _gasMeter);
|
||||
m_storeWord = createFunc(true, Type::i256, _module, _gasMeter);
|
||||
|
|
|
|||
Loading…
Reference in a new issue