10 #ifndef LLVM_CLANG_LIB_CODEGEN_CGBUILDER_H
11 #define LLVM_CLANG_LIB_CODEGEN_CGBUILDER_H
13 #include "llvm/IR/IRBuilder.h"
18 class CodeGenFunction;
23 template <
bool PreserveNames>
25 :
protected llvm::IRBuilderDefaultInserter<PreserveNames> {
32 void InsertHelper(llvm::Instruction *I,
const llvm::Twine &Name,
34 llvm::BasicBlock::iterator InsertPt)
const;
43 #define PreserveNames false
45 #define PreserveNames true
CGBuilderInserter(CodeGenFunction *CGF)
CGBuilderInserter< PreserveNames > CGBuilderInserterTy
llvm::IRBuilder< PreserveNames, llvm::ConstantFolder, CGBuilderInserterTy > CGBuilderTy
void InsertHelper(llvm::Instruction *I, const llvm::Twine &Name, llvm::BasicBlock *BB, llvm::BasicBlock::iterator InsertPt) const
This forwards to CodeGenFunction::InsertHelper.
This is an IRBuilder insertion helper that forwards to CodeGenFunction::InsertHelper, which adds necessary metadata to instructions.