llvm-project/llvm/lib/Transforms/Instrumentation
Peter Collingbourne dd3486ece1 [dfsan] New calling convention for custom functions with variadic arguments.
Summary:
The previous calling convention prevented custom functions from being able
to access argument labels unless it knew how many variadic arguments there
were, and of which type. This restriction made it impossible to correctly
model functions in the printf family, as it is legal to pass more arguments
than required to those functions. We now pass arguments in the following order:

non-vararg arguments
labels for non-vararg arguments
[if vararg function, pointer to array of labels for vararg arguments]
[if non-void function, pointer to label for return value]
vararg arguments

Differential Revision: http://reviews.llvm.org/D6028

llvm-svn: 220906
2014-10-30 13:22:57 +00:00
..
AddressSanitizer.cpp [asan] experimental tracing for indirect calls, llvm part. 2014-10-27 18:13:56 +00:00
BoundsChecking.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
CMakeLists.txt Remove lib/Transforms/Instrumentation/ProfilingUtils.* 2013-10-14 16:46:46 +00:00
DataFlowSanitizer.cpp [dfsan] New calling convention for custom functions with variadic arguments. 2014-10-30 13:22:57 +00:00
DebugIR.cpp Modernize raw_fd_ostream's constructor a bit. 2014-08-25 18:16:47 +00:00
DebugIR.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
GCOVProfiling.cpp Simplify creation of a bunch of ArrayRefs by using None, makeArrayRef or just letting them be implicitly created. 2014-08-27 05:25:25 +00:00
Instrumentation.cpp Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
LLVMBuild.txt Add proper dependencies to LLVMBuild.txt in llvm/lib. 2013-12-10 05:39:34 +00:00
Makefile
MaximumSpanningTree.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MemorySanitizer.cpp [msan] Make -msan-check-constant-shadow a bit stronger. 2014-10-24 23:34:15 +00:00
ThreadSanitizer.cpp Simplify creation of a bunch of ArrayRefs by using None, makeArrayRef or just letting them be implicitly created. 2014-08-27 05:25:25 +00:00