llvm-project/llvm/test/Instrumentation/DataFlowSanitizer
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
..
Inputs DebugInfo+DFSan: Ensure that debug info references to llvm::Functions remain pointing to the underlying function when wrappers are created 2014-10-07 22:59:46 +00:00
abilist.ll [dfsan] New calling convention for custom functions with variadic arguments. 2014-10-30 13:22:57 +00:00
args-unreachable-bb.ll DataFlowSanitizer: Prefix the name of each instrumented function with "dfs$". 2013-08-22 20:08:08 +00:00
arith.ll DataFlowSanitizer: correctly combine labels in the case where they are equal. 2013-08-23 18:45:06 +00:00
call.ll DataFlowSanitizer: Prefix the name of each instrumented function with "dfs$". 2013-08-22 20:08:08 +00:00
debug-nonzero-labels.ll [dfsan] Fix non-determinism bug in non-zero label check annotator. 2014-08-22 01:18:18 +00:00
debug.ll DebugInfo+DFSan: Ensure that debug info references to llvm::Functions remain pointing to the underlying function when wrappers are created 2014-10-07 22:59:46 +00:00
load.ll [dfsan] Correctly handle loads and stores of zero size. 2014-08-01 21:18:18 +00:00
memset.ll DataFlowSanitizer: Prefix the name of each instrumented function with "dfs$". 2013-08-22 20:08:08 +00:00
prefix-rename.ll [dfsan] Handle bitcast aliases. 2014-07-10 01:30:39 +00:00
store.ll [dfsan] Correctly handle loads and stores of zero size. 2014-08-01 21:18:18 +00:00
union-large.ll [dfsan] Try not to create too many additional basic blocks in functions which 2014-08-06 00:33:40 +00:00
union.ll [dfsan] Introduce further optimization to reduce the number of union queries. 2014-07-15 22:13:19 +00:00