summaryrefslogtreecommitdiffstats
path: root/llvm/utils/lit
diff options
context:
space:
mode:
authorFlorian Hahn <florian.hahn@arm.com>2017-11-13 10:35:52 +0000
committerFlorian Hahn <florian.hahn@arm.com>2017-11-13 10:35:52 +0000
commit0e9dec672daa73640cc7f832da9a0dad3c448414 (patch)
treee93f90807012efe9c8d7b2d4e54c0fb6c592c902 /llvm/utils/lit
parent070a7ff1adbba5be10e33d0f1462ccc92ed59585 (diff)
downloadbcm5719-llvm-0e9dec672daa73640cc7f832da9a0dad3c448414.tar.gz
bcm5719-llvm-0e9dec672daa73640cc7f832da9a0dad3c448414.zip
[PartialInliner] Inline vararg functions that forward varargs.
Summary: This patch extends the partial inliner to support inlining parts of vararg functions, if the vararg handling is done in the outlined part. It adds a `ForwardVarArgsTo` argument to InlineFunction. If it is non-null, all varargs passed to the inlined function will be added to all calls to `ForwardVarArgsTo`. The partial inliner takes care to only pass `ForwardVarArgsTo` if the varargs handing is done in the outlined function. It checks that vastart is not part of the function to be inlined. `test/Transforms/CodeExtractor/PartialInlineNoInline.ll` (already part of the repo) checks we do not do partial inlining if vastart is used in a basic block that will be inlined. Reviewers: davide, davidxl, grosser Reviewed By: davide, davidxl, grosser Subscribers: gyiu, grosser, eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D39607 llvm-svn: 318028
Diffstat (limited to 'llvm/utils/lit')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud