Turn some C-style vararg into variadic templates
authorSerge Guelton <sguelton@quarkslab.com>
Tue, 11 Apr 2017 08:36:52 +0000 (08:36 +0000)
committerSerge Guelton <sguelton@quarkslab.com>
Tue, 11 Apr 2017 08:36:52 +0000 (08:36 +0000)
commit5fd75fb72e0eb04bf590765fc70f27a444993e74
tree84129b3eeea29bf385a524a5f3775c7323612619
parent06faa9bf329e1386f9fc8a5dee55be6027d1d6d0
Turn some C-style vararg into variadic templates

Module::getOrInsertFunction is using C-style vararg instead of
variadic templates.

From a user prospective, it forces the use of an annoying nullptr
to mark the end of the vararg, and there's not type checking on the
arguments. The variadic template is an obvious solution to both
issues.

llvm-svn: 299925
24 files changed:
llvm/include/llvm/IR/Module.h
llvm/lib/CodeGen/CountingFunctionInserter.cpp
llvm/lib/CodeGen/IntrinsicLowering.cpp
llvm/lib/CodeGen/MachineOutliner.cpp
llvm/lib/CodeGen/SafeStack.cpp
llvm/lib/CodeGen/SjLjEHPrepare.cpp
llvm/lib/CodeGen/StackProtector.cpp
llvm/lib/CodeGen/TargetLoweringBase.cpp
llvm/lib/IR/Instructions.cpp
llvm/lib/IR/Module.cpp
llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
llvm/lib/Target/Mips/Mips16HardFloat.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
llvm/lib/Transforms/Instrumentation/EfficiencySanitizer.cpp
llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
llvm/lib/Transforms/Utils/BuildLibCalls.cpp
llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
llvm/tools/lli/lli.cpp