diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm-c/Core.h | 2 | ||||
-rw-r--r-- | include/llvm/Support/IRBuilder.h | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h index bbef134..188377f 100644 --- a/include/llvm-c/Core.h +++ b/include/llvm-c/Core.h @@ -708,7 +708,7 @@ namespace llvm { DEFINE_ISA_CONVERSION_FUNCTIONS (Value, LLVMValueRef ) DEFINE_SIMPLE_CONVERSION_FUNCTIONS(Module, LLVMModuleRef ) DEFINE_SIMPLE_CONVERSION_FUNCTIONS(BasicBlock, LLVMBasicBlockRef ) - DEFINE_SIMPLE_CONVERSION_FUNCTIONS(IRBuilder, LLVMBuilderRef ) + DEFINE_SIMPLE_CONVERSION_FUNCTIONS(IRBuilder<>, LLVMBuilderRef ) DEFINE_SIMPLE_CONVERSION_FUNCTIONS(PATypeHolder, LLVMTypeHandleRef ) DEFINE_SIMPLE_CONVERSION_FUNCTIONS(ModuleProvider, LLVMModuleProviderRef) DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef ) diff --git a/include/llvm/Support/IRBuilder.h b/include/llvm/Support/IRBuilder.h index c316f57..9c3ff61 100644 --- a/include/llvm/Support/IRBuilder.h +++ b/include/llvm/Support/IRBuilder.h @@ -33,7 +33,9 @@ namespace llvm { /// supports nul-terminated C strings. For fully generic names, use /// I->setName(). For access to extra instruction properties, use the mutators /// (e.g. setVolatile) on the instructions after they have been created. -class IRBuilder { +/// The template argument handles whether or not to preserve names in the final +/// instruction output. This defaults to on. +template <bool preserveNames=true> class IRBuilder { BasicBlock *BB; BasicBlock::iterator InsertPt; public: @@ -81,7 +83,7 @@ public: /// template instantiation. void InsertHelper(Instruction *I, const char *Name) const { if (BB) BB->getInstList().insert(InsertPt, I); - if (Name[0]) + if (preserveNames && Name[0]) I->setName(Name); } |