aboutsummaryrefslogtreecommitdiff
path: root/clang/test/Profile/cxx-lambda.cpp
AgeCommit message (Collapse)AuthorFilesLines
2016-03-02[PGO] Change profile use cc1 option to handle IR level profilesRong Xu1-1/+1
This patch changes cc1 option for PGO profile use from -fprofile-instr-use=<path> to -fprofile-instrument-use-path=<path>. -fprofile-instr-use=<path> is now a driver only option. In addition to decouple the cc1 option from the driver level option, this patch also enables IR level profile use. cc1 option handling now reads the profile header and sets CodeGenOpt ProfileUse (valid values are {None, Clang, LLVM} -- this is a common enum for -fprofile-instrument={}, for the profile instrumentation), and invoke the pipeline to enable the respective PGO use pass. Reviewers: silvas, davidxl Differential Revision: http://reviews.llvm.org/D17737 llvm-svn: 262515
2016-02-04[PGO] cc1 option name change for profile instrumentationRong Xu1-1/+1
This patch changes cc1 option -fprofile-instr-generate to an enum option -fprofile-instrument={clang|none}. It also changes cc1 options -fprofile-instr-generate= to -fprofile-instrument-path=. The driver level option -fprofile-instr-generate and -fprofile-instr-generate= remain intact. This change will pave the way to integrate new PGO instrumentation in IR level. Review: http://reviews.llvm.org/D16730 llvm-svn: 259811
2015-12-15[PGO] make profile prefix even shorter and more readableXinliang David Li1-3/+3
llvm-svn: 255587
2015-12-14[PGO] Shorten profile symbol prefixesXinliang David Li1-3/+3
(test case update) Profile symbols have long prefixes which waste space and creating pressure for linker. This patch shortens the prefixes to minimal length without losing verbosity. Differential Revision: http://reviews.llvm.org/D15503 llvm-svn: 255576
2015-12-12[PGO] Stop using invalid char in instr variable names.Xinliang David Li1-1/+1
(This is part-2 of the patch of r255434 -- fixing test cases, second try) llvm-svn: 255435
2015-12-11[PGO] Revert r255366: solution incomplete, not handling lambda yetXinliang David Li1-1/+1
llvm-svn: 255368
2015-12-11[PGO] Stop using invalid char in instr variable names.Xinliang David Li1-1/+1
(This is part-2 of the patch -- fixing test cases) Before the patch, -fprofile-instr-generate compile will fail if no integrated-as is specified when the file contains any static functions (the -S output is also invalid). This patch fixed the issue. With the change, the index format version will be bumped up by 1. Backward compatibility is preserved with this change. Differential Revision: http://reviews.llvm.org/D15243 llvm-svn: 255366
2015-06-30Fix a couple of tests in clang/test to match "x86_thiscallcc" introduced in ↵NAKAMURA Takumi1-2/+2
r240971. llvm-svn: 241047
2015-06-29Account for calling convention specifiers in function definitions in IR test ↵David Blaikie1-4/+4
cases Several tests wouldn't pass when executed on an armv7a_pc_linux triple due to the non-default arm_aapcs calling convention produced on the function definitions in the IR output. Account for this with the application of a little regex. Patch by Ying Yi. llvm-svn: 240971
2015-04-01Re-land "MS ABI: lambda call operators are instance methods and should use ↵Reid Kleckner1-2/+2
thiscall" Update the test cases to pass when lambda call operators use thiscall. Update the lambda-to-block conversion operator to use the default free function calling convention instead of the call operator's convention. This reverts commit r233082 and re-instates r233023. llvm-svn: 233835
2015-03-20InstrProf: Make profile variables private to reduce binary size overheadJustin Bogner1-3/+3
When we instrument a program for profiling, we copy the linkage of an instrumented function so that our datastructures merge in the same way as the function. This avoids redundant copies for things like linkonce, but ends up emitting names we never need to reference for normal and internal symbols. Promoting internal and external linkage to private for these variables reduces the size overhead of profiling drastically. llvm-svn: 232799
2014-12-15IR: Make metadata typeless in assembly, clang sideDuncan P. N. Exon Smith1-5/+5
Match LLVM changes from r224257. llvm-svn: 224259
2014-12-02InstrProf: Use the same names for variables as we use in the profileJustin Bogner1-1/+1
There's no need to use different names for the local variables than we use in the profile itself, and it's a bit simpler and easier to debug if we're consistent. llvm-svn: 223173
2014-05-16InstrProf: Set profile data to visibility hiddenDuncan P. N. Exon Smith1-2/+2
Shared objects are fairly broken for InstrProf right now -- a follow-up commit in compiler-rt will fix the rest of this. The main problem here is that at link time, profile data symbols in the shared object might get used instead of symbols from the main executable, creating invalid profile data sections. <rdar://problem/16918688> llvm-svn: 208939
2014-04-17test: Use llvm-profdata merge in Profile testsJustin Bogner1-1/+2
In preparation for using a binary format for instrumentation based profiling, explicitly treat the test inputs as text and transform them before running. This will allow us to leave the checked in files in human readable format once the instrumentation format is binary. No functional change. llvm-svn: 206509
2014-04-17Fix Profile:cxx-lambda.cpp test for targets that do not generate zeroextKeith Walker1-2/+2
Change an expected match to allow for the fact that some targets may not generated the zeroext operation. llvm-svn: 206467
2014-04-11CodeGen: Fix handling of C++11 lambdas in profilingJustin Bogner1-0/+57
Until now we were generating duplicate counters for lambdas: one set in the function where the lambda was declared and another for the lambda itself. Instead, we should skip over the bodies of lambdas in their containing contexts. llvm-svn: 206081