mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
53f6328507
This commit takes out of EnforceABI the part taking care of creating wrappers for calls to helpers and promoting CSV to local variables. This decoupling, enables to run -promote-csvs multiple times, for instance after inlining.
23 lines
489 B
C++
23 lines
489 B
C++
#pragma once
|
|
|
|
//
|
|
// This file is distributed under the MIT License. See LICENSE.md for details.
|
|
//
|
|
|
|
#include "llvm/IR/IRBuilder.h"
|
|
|
|
#include "revng/Support/OpaqueFunctionsPool.h"
|
|
|
|
class StructInitializers {
|
|
private:
|
|
OpaqueFunctionsPool<llvm::StructType *> Pool;
|
|
llvm::LLVMContext &Context;
|
|
|
|
public:
|
|
StructInitializers(llvm::Module *M);
|
|
|
|
public:
|
|
llvm::Instruction *createReturn(llvm::IRBuilder<> &Builder,
|
|
llvm::ArrayRef<llvm::Value *> Values);
|
|
};
|