summaryrefslogtreecommitdiffstats
path: root/llvm/test/Instrumentation/InstrProfiling/linkage.ll
Commit message (Collapse)AuthorAgeFilesLines
* [profile] Fix runtime hook linkage bug for COFFXinliang David Li2016-05-241-0/+3
| | | | | | | | | Patch by: Johan Engelen the user hook has linkonceODR linkage and it needs to be in comdatAny group. llvm-svn: 270596
* Port InstrProfiling pass to the new pass managerXinliang David Li2016-04-181-0/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D18126 llvm-svn: 266637
* [PGO] Remove redundant counter copies for avail_extern functions.Xinliang David Li2016-02-271-0/+10
| | | | | | Differential Revision: http://reviews.llvm.org/D17654 llvm-svn: 262157
* [PGO] make profile prefix even shorter and more readableXinliang David Li2015-12-151-16/+16
| | | | llvm-svn: 255586
* [PGO] Shorten profile symbol prefixesXinliang David Li2015-12-141-16/+16
| | | | | | | | | 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: 255575
* [PGO] Value profiling supportBetul Buyukkurt2015-11-181-4/+4
| | | | | | | | | This change introduces an instrumentation intrinsic instruction for value profiling purposes, the lowering of the instrumentation intrinsic and raw reader updates. The raw profile data files for llvm-profdata testing are updated. llvm-svn: 253484
* [PGO] Do not emit runtime hook user function for LinuxXinliang David Li2015-10-291-15/+18
| | | | | | | | | | Clang driver now injects -u<hook_var> flag in the linker command line, in which case user function is not needed any more. Differential Revision: http://reviews.llvm.org/D14033 llvm-svn: 251612
* [opaque pointer type] Add textual IR support for explicit type parameter to ↵David Blaikie2015-03-131-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gep operator Similar to gep (r230786) and load (r230794) changes. Similar migration script can be used to update test cases, which successfully migrated all of LLVM and Polly, but about 4 test cases needed manually changes in Clang. (this script will read the contents of stdin and massage it into stdout - wrap it in the 'apply.sh' script shown in previous commits + xargs to apply it over a large set of test cases) import fileinput import sys import re rep = re.compile(r"(getelementptr(?:\s+inbounds)?\s*\()((<\d*\s+x\s+)?([^@]*?)(|\s*addrspace\(\d+\))\s*\*(?(3)>)\s*)(?=$|%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|zeroinitializer|<|\[\[[a-zA-Z]|\{\{)", re.MULTILINE | re.DOTALL) def conv(match): line = match.group(1) line += match.group(4) line += ", " line += match.group(2) return line line = sys.stdin.read() off = 0 for match in re.finditer(rep, line): sys.stdout.write(line[off:match.start()]) sys.stdout.write(conv(match)) off = match.end() sys.stdout.write(line[off:]) llvm-svn: 232184
* [opaque pointer type] Add textual IR support for explicit type parameter to ↵David Blaikie2015-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | load instruction Essentially the same as the GEP change in r230786. A similar migration script can be used to update test cases, though a few more test case improvements/changes were required this time around: (r229269-r229278) import fileinput import sys import re pat = re.compile(r"((?:=|:|^)\s*load (?:atomic )?(?:volatile )?(.*?))(| addrspace\(\d+\) *)\*($| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$)") for line in sys.stdin: sys.stdout.write(re.sub(pat, r"\1, \2\3*\4", line)) Reviewers: rafael, dexonsmith, grosser Differential Revision: http://reviews.llvm.org/D7649 llvm-svn: 230794
* InstrProf: Make the __llvm_profile_runtime_user symbol hiddenJustin Bogner2015-02-251-1/+1
| | | | | | | | | This symbol exists only to pull in the required pieces of the runtime, so nothing ever needs to refer to it. Making it hidden avoids the potential for issues with duplicate symbols when linking profiled libraries together. llvm-svn: 230566
* InstrProf: Test for appropriate linkage of the profiling structuresJustin Bogner2015-02-241-0/+46
This test checks that the symbols instrprof creates have appropriate linkage. The tests already exist in clang in a slightly different form from before we sunk profile generation into an LLVM pass, but that's an awkward place for them now. I'll remove/simplify the clang versions shortly. llvm-svn: 230383
OpenPOWER on IntegriCloud