Author: Zequan Wu
Date: 2020-05-21T15:28:27-07:00
New Revision: 307e85395485e1eff9533b2d7952b16f33ceae38
URL:
https://github.com/llvm/llvm-project/commit/307e85395485e1eff9533b2d7952b16f33ceae38
DIFF:
https://github.com/llvm/llvm-project/commit/307e85395485e1eff9533b2d7952b16f33ceae38.diff
LOG
Author: Zequan Wu
Date: 2020-05-21T16:13:18-07:00
New Revision: b0a0f01bc175b4c444052f871a89421889f8b5ce
URL:
https://github.com/llvm/llvm-project/commit/b0a0f01bc175b4c444052f871a89421889f8b5ce
DIFF:
https://github.com/llvm/llvm-project/commit/b0a0f01bc175b4c444052f871a89421889f8b5ce.diff
LOG
Author: Zequan Wu
Date: 2020-05-21T17:07:39-07:00
New Revision: e36076ee3a2ebc6013372d9b71e6bb09e8612366
URL:
https://github.com/llvm/llvm-project/commit/e36076ee3a2ebc6013372d9b71e6bb09e8612366
DIFF:
https://github.com/llvm/llvm-project/commit/e36076ee3a2ebc6013372d9b71e6bb09e8612366.diff
LOG
Author: Zequan Wu
Date: 2020-06-02T10:21:02-07:00
New Revision: 170b6869b563dd3393d99f3e03d389b9058d5f24
URL:
https://github.com/llvm/llvm-project/commit/170b6869b563dd3393d99f3e03d389b9058d5f24
DIFF:
https://github.com/llvm/llvm-project/commit/170b6869b563dd3393d99f3e03d389b9058d5f24.diff
LOG
Author: Zequan Wu
Date: 2020-07-21T17:34:18-07:00
New Revision: abd45154bdb6b76c5b480455eacc8c75b08242aa
URL:
https://github.com/llvm/llvm-project/commit/abd45154bdb6b76c5b480455eacc8c75b08242aa
DIFF:
https://github.com/llvm/llvm-project/commit/abd45154bdb6b76c5b480455eacc8c75b08242aa.diff
LOG
Author: Zequan Wu
Date: 2020-07-21T19:16:18-07:00
New Revision: 3930c4e7d1aa486ccb4245214c0b383f40574a52
URL:
https://github.com/llvm/llvm-project/commit/3930c4e7d1aa486ccb4245214c0b383f40574a52
DIFF:
https://github.com/llvm/llvm-project/commit/3930c4e7d1aa486ccb4245214c0b383f40574a52.diff
LOG
Author: Zequan Wu
Date: 2020-07-28T13:20:57-07:00
New Revision: b46176bbb094610460667edad950a9c99f844118
URL:
https://github.com/llvm/llvm-project/commit/b46176bbb094610460667edad950a9c99f844118
DIFF:
https://github.com/llvm/llvm-project/commit/b46176bbb094610460667edad950a9c99f844118.diff
LOG
Author: Zequan Wu
Date: 2020-06-10T09:44:09-07:00
New Revision: e408cba84f8a9471bb26deca8d9aac049a924847
URL:
https://github.com/llvm/llvm-project/commit/e408cba84f8a9471bb26deca8d9aac049a924847
DIFF:
https://github.com/llvm/llvm-project/commit/e408cba84f8a9471bb26deca8d9aac049a924847.diff
LOG
Author: Zequan Wu
Date: 2020-07-06T10:52:05-07:00
New Revision: 054704082b461418d3dac3a379792cdaf52d40b3
URL:
https://github.com/llvm/llvm-project/commit/054704082b461418d3dac3a379792cdaf52d40b3
DIFF:
https://github.com/llvm/llvm-project/commit/054704082b461418d3dac3a379792cdaf52d40b3.diff
LOG
Author: Zequan Wu
Date: 2020-07-09T13:03:42-07:00
New Revision: c92a8c0a0f68fbbb23e3fdde071007e63a552e82
URL:
https://github.com/llvm/llvm-project/commit/c92a8c0a0f68fbbb23e3fdde071007e63a552e82
DIFF:
https://github.com/llvm/llvm-project/commit/c92a8c0a0f68fbbb23e3fdde071007e63a552e82.diff
LOG
Author: Zequan Wu
Date: 2020-07-09T15:15:40-07:00
New Revision: 672ae621e91ff5cdefb2535bdd530641536685ea
URL:
https://github.com/llvm/llvm-project/commit/672ae621e91ff5cdefb2535bdd530641536685ea
DIFF:
https://github.com/llvm/llvm-project/commit/672ae621e91ff5cdefb2535bdd530641536685ea.diff
LOG
Author: Zequan Wu
Date: 2020-07-09T15:51:02-07:00
New Revision: 8be204fe75caac4ce6ed1e2cf5659011476bde79
URL:
https://github.com/llvm/llvm-project/commit/8be204fe75caac4ce6ed1e2cf5659011476bde79
DIFF:
https://github.com/llvm/llvm-project/commit/8be204fe75caac4ce6ed1e2cf5659011476bde79.diff
LOG
Author: Zequan Wu
Date: 2020-07-10T09:05:20-07:00
New Revision: dcd76c0c0716a4417110423718c7cae4b516b4d0
URL:
https://github.com/llvm/llvm-project/commit/dcd76c0c0716a4417110423718c7cae4b516b4d0
DIFF:
https://github.com/llvm/llvm-project/commit/dcd76c0c0716a4417110423718c7cae4b516b4d0.diff
LOG
Author: Zequan Wu
Date: 2020-07-10T09:04:51-07:00
New Revision: 1fbb719470c6e0395abaab66c68fae3b8ae405d0
URL:
https://github.com/llvm/llvm-project/commit/1fbb719470c6e0395abaab66c68fae3b8ae405d0
DIFF:
https://github.com/llvm/llvm-project/commit/1fbb719470c6e0395abaab66c68fae3b8ae405d0.diff
LOG
Author: Zequan Wu
Date: 2020-08-07T11:06:08-07:00
New Revision: c354b2e3bfe6709ffd78d0fcd017b7e5be7a7a23
URL:
https://github.com/llvm/llvm-project/commit/c354b2e3bfe6709ffd78d0fcd017b7e5be7a7a23
DIFF:
https://github.com/llvm/llvm-project/commit/c354b2e3bfe6709ffd78d0fcd017b7e5be7a7a23.diff
LOG
Author: Zequan Wu
Date: 2020-08-10T19:19:51-07:00
New Revision: 94c6ceab539efe26a1707124e803f444139c1b12
URL:
https://github.com/llvm/llvm-project/commit/94c6ceab539efe26a1707124e803f444139c1b12
DIFF:
https://github.com/llvm/llvm-project/commit/94c6ceab539efe26a1707124e803f444139c1b12.diff
LOG
Author: Zequan Wu
Date: 2020-08-10T19:32:59-07:00
New Revision: 4aaa97700377a811dbcaf88a81ec068a5b517a4d
URL:
https://github.com/llvm/llvm-project/commit/4aaa97700377a811dbcaf88a81ec068a5b517a4d
DIFF:
https://github.com/llvm/llvm-project/commit/4aaa97700377a811dbcaf88a81ec068a5b517a4d.diff
LOG
Author: Zequan Wu
Date: 2020-08-12T16:25:27-07:00
New Revision: a31c89c1b7a0a2fd3e2c0b8a587a60921abf4abd
URL:
https://github.com/llvm/llvm-project/commit/a31c89c1b7a0a2fd3e2c0b8a587a60921abf4abd
DIFF:
https://github.com/llvm/llvm-project/commit/a31c89c1b7a0a2fd3e2c0b8a587a60921abf4abd.diff
LOG
Author: Zequan Wu
Date: 2020-08-18T13:26:19-07:00
New Revision: 84fffa67283139954b7764328966b5f766db1003
URL:
https://github.com/llvm/llvm-project/commit/84fffa67283139954b7764328966b5f766db1003
DIFF:
https://github.com/llvm/llvm-project/commit/84fffa67283139954b7764328966b5f766db1003.diff
LOG
ZequanWu wrote:
Ping.
https://github.com/llvm/llvm-project/pull/69493
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ZequanWu wrote:
> If you omit the data and names sections from the object files, then
> __llvm_profile_end_data() - __llvm_profile_begin_data() and
> __llvm_profile_end_names() - __llvm_profile_begin_names() are both 0 and
> there's no need for [special casing this in the
> runtime](https://g
ZequanWu wrote:
There are some discussions about this outside the PR:
https://github.com/llvm/llvm-project/pull/70856#issuecomment-1791465183
https://discourse.llvm.org/t/rfc-add-binary-profile-correlation-to-not-load-profile-metadata-sections-into-memory-at-runtime/74565/8
Some further discussi
ZequanWu wrote:
Chatted with @MaskRay offline, we come to an agreement that it's not good to
use relying on the bit in __llvm_profile_raw_version to decide whether or not
to dump data/name sections at runtime for the reasons mentioned above. Sent a
PR: #71996
> Even if we have a way to fix th
@@ -0,0 +1,48 @@
+// RUN: %clang_cl --target=x86_64-windows-msvc /c /Z7 -o %t.obj -- %s
+// RUN: llvm-pdbutil dump -all %t.obj | FileCheck %s
+
+class Foo {
+ public:
+ void foo() {
+int aa = 4;
+int bb = 5;
+int cc = 6;
+auto f = [=] {
+ int aaa = a + aa;
+
ZequanWu wrote:
> Can you break up all the changes to tests that replace
> `-debug-info-correlate` with `--profile-correlate=debug-info` into a separate
> PR to reduce the size of this PR?
Done.
https://github.com/llvm/llvm-project/pull/69493
___
cf
@@ -702,6 +708,8 @@ serializeValueProfDataFrom(ValueProfRecordClosure *Closure,
#define INSTR_PROF_COVMAP_COMMON __llvm_covmap
#define INSTR_PROF_COVFUN_COMMON __llvm_covfun
#define INSTR_PROF_ORDERFILE_COMMON __llvm_orderfile
ZequanWu wrote:
Done.
https://gi
https://github.com/ZequanWu edited
https://github.com/llvm/llvm-project/pull/69493
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,11 @@
+; RUN: opt < %s -passes=instrprof -profile-correlate=binary -S | FileCheck %s
ZequanWu wrote:
Moved the test to `coverage.ll`
https://github.com/llvm/llvm-project/pull/69493
___
cfe-commits mailing li
@@ -0,0 +1,9 @@
+// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -emit-llvm
-o - %s | FileCheck %s
+// RUN: %clang_cc1 -mllvm -profile-correlate=binary -fprofile-instrument=clang
-fcoverage-mapping -emit-llvm -o - %s | FileCheck %s
--check-prefix=BIN-CORRELATE
@@ -0,0 +1,46 @@
+// REQUIRES: linux || windows
ZequanWu wrote:
I think lld is not require, removed `-fuse-ld=lld`.
https://github.com/llvm/llvm-project/pull/69493
___
cfe-commits mailing list
cfe-commits@lists.llvm.or
@@ -1829,6 +1833,22 @@ void CoverageMappingModuleGen::emit() {
llvm::GlobalValue::InternalLinkage, NamesArrVal,
llvm::getCoverageUnusedNamesVarName());
}
+ const StringRef VarName(INSTR_PROF_QUOTE(INSTR_PROF_RAW_VERSI
@@ -46,14 +73,38 @@ const char *InstrProfCorrelator::NumCountersAttributeName =
"Num Counters";
llvm::Expected>
InstrProfCorrelator::Context::get(std::unique_ptr Buffer,
- const object::ObjectFile &Obj) {
+ con
https://github.com/ZequanWu commented:
> "binary" is ambiguous. I wonder whether object file correlation is better.
> llvm-symbolizer has an option --obj=xxx.
llvm-symbolizer's `--obj` could take an pre-linking object file. But here we
need to take post-linked binary for merging.
https://gith
@@ -1331,6 +1336,18 @@ static int merge_main(int argc, const char *argv[]) {
"(default: 1)"));
cl::ParseCommandLineOptions(argc, argv, "LLVM profile data merger\n");
+ if (!DebugInfoFilename.empty() && !BinaryFilename.empty()) {
+exitWithError("Expect
@@ -1331,6 +1336,18 @@ static int merge_main(int argc, const char *argv[]) {
"(default: 1)"));
cl::ParseCommandLineOptions(argc, argv, "LLVM profile data merger\n");
+ if (!DebugInfoFilename.empty() && !BinaryFilename.empty()) {
+exitWithError("Expect
@@ -1341,20 +1344,26 @@ void
InstrProfiling::createDataVariable(InstrProfCntrInstBase *Inc,
}
auto *Data =
new GlobalVariable(*M, DataTy, false, Linkage, nullptr, DataVarName);
- // Reference the counter variable with a label difference (link-time
- // constant).
-
@@ -195,8 +195,14 @@ OPTIONS
.. option:: --debug-info=
Specify the executable or ``.dSYM`` that contains debug info for the raw
profile.
- When ``-debug-info-correlate`` was used for instrumentation, use this option
- to correlate the raw profile.
+ When ``-profile-correlate
@@ -0,0 +1,46 @@
+// REQUIRES: linux || windows
+// Default
+// RUN: %clang -o %t.normal -fprofile-instr-generate -fcoverage-mapping
-fuse-ld=lld %S/Inputs/instrprof-debug-info-correlate-main.cpp
%S/Inputs/instrprof-debug-info-correlate-foo.cpp
+// RUN: env LLVM_PROFILE_FILE=%t.
https://github.com/ZequanWu edited
https://github.com/llvm/llvm-project/pull/69493
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ZequanWu edited
https://github.com/llvm/llvm-project/pull/69493
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ZequanWu edited
https://github.com/llvm/llvm-project/pull/69493
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,48 @@
+// RUN: %clang_cl --target=x86_64-windows-msvc /c /Z7 -o %t.obj -- %s
ZequanWu wrote:
I think you are missing `-gcodeview` in the command line to emit the debug
info. The change should reflect on a metadata. `llvm/test/DebugInfo/COFF` is
the p
https://github.com/ZequanWu approved this pull request.
https://github.com/llvm/llvm-project/pull/71564
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ZequanWu wrote:
> Some further discussion/pre-work needed before proceeding with this PR.
These two discussions are addressed and this is ready to be reviewed.
1. Support for merging with multiple correlation files will be done in a
separate change.
2. Removed the `VARIANT_MASK_BIN_CORRELATE`
https://github.com/ZequanWu created
https://github.com/llvm/llvm-project/pull/70712
Refactor some code from https://github.com/llvm/llvm-project/pull/69493.
Rebase of https://github.com/llvm/llvm-project/pull/69656 on top of main as it
was messed up.
>From e33d4e7d8324e8efb6f0c0ff5f3426a2e0a
ZequanWu wrote:
I think it's fine to land as this is already reviewed & approved at
https://github.com/llvm/llvm-project/pull/69656
https://github.com/llvm/llvm-project/pull/70712
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.l
https://github.com/ZequanWu closed
https://github.com/llvm/llvm-project/pull/70712
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ZequanWu wrote:
Reverted at db7a1ed9a22fadacfa651e88d0f75f365d44af9a.
The
[build](https://lab.llvm.org/buildbot/#/builders/139/builds/52535/steps/6/logs/stdio)
shows bunch linking failures, but I can build those failed targets locally.
https://github.com/llvm/llvm-project/pull/70712
_
ZequanWu wrote:
I can repro the linking failures when using the same cmake invocation.
Here is the full command:
```
$ /usr/bin/c++ -std=c++11 -Wno-documentation-deprecated-sync -fPIC
-fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time
-fno-lifetime-dse -Wall -Wextra -Wn
https://github.com/ZequanWu updated
https://github.com/llvm/llvm-project/pull/69513
>From 9a1af6e1d47ab622979796f2319edec8a9c77928 Mon Sep 17 00:00:00 2001
From: Zequan Wu
Date: Wed, 18 Oct 2023 16:28:30 -0400
Subject: [PATCH 1/6] [llvm-profdata] Emit error when counter value is greater
than 2
ZequanWu wrote:
Ping.
https://github.com/llvm/llvm-project/pull/69513
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ZequanWu created
https://github.com/llvm/llvm-project/pull/70856
Refactor some code from https://github.com/llvm/llvm-project/pull/69493.
#70712 was reverted due to linking failures. So, I removed
`-profile-correlate=` flag and kept `-debug-info-correlate` in this change.
https://github.com/ZequanWu updated
https://github.com/llvm/llvm-project/pull/69513
>From 9a1af6e1d47ab622979796f2319edec8a9c77928 Mon Sep 17 00:00:00 2001
From: Zequan Wu
Date: Wed, 18 Oct 2023 16:28:30 -0400
Subject: [PATCH 1/7] [llvm-profdata] Emit error when counter value is greater
than 2
https://github.com/ZequanWu closed
https://github.com/llvm/llvm-project/pull/69513
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ZequanWu wrote:
Sorry for so many noise regarding this change.
https://github.com/llvm/llvm-project/pull/70856
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ZequanWu wrote:
> Just to double check: the commit message says "emit warning", but it should
> error by default, right?
Yes, -failure-mode=any is default, which throws an error if there is any.
https://github.com/llvm/llvm-project/pull/69513
___
cfe
ZequanWu wrote:
> Sounds fine to me, but I guess I don't understand why `-profile-correlate=`
> doesn't work. Do you still plan to add the flag later?
I haven't found a way to share information (whether of not binary correlation
is enabled) between CodeGen(TargetLoweringObjectFileImpl.cpp) and
https://github.com/ZequanWu closed
https://github.com/llvm/llvm-project/pull/70856
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ZequanWu wrote:
> @ZequanWu this seems to cause issues on macOS:
> https://green.lab.llvm.org/green/job/clang-stage1-RA/36184/console
>
> ```
> Profile-x86_64 :: Darwin/instrprof-debug-info-correlate.c
> Profile-x86_64 :: instrprof-darwin-
> Profile-x86_64h :: Darwin/instrprof-debug-info-correl
ZequanWu wrote:
> > Sounds fine to me, but I guess I don't understand why `-profile-correlate=`
> > doesn't work. Do you still plan to add the flag later?
>
> I haven't found a way to share information (whether of not binary correlation
> is enabled) between CodeGen(TargetLoweringObjectFileImp
@@ -261,6 +261,9 @@ uint64_t __llvm_profile_get_magic(void);
/*! \brief Get the version of the file format. */
uint64_t __llvm_profile_get_version(void);
+/*! \brief If the binary is compiled with profile correlation. */
+int hasCorrelation();
ZequanWu wrote:
@@ -89,3 +89,7 @@ COMPILER_RT_VISIBILITY void
__llvm_profile_reset_counters(void) {
}
lprofSetProfileDumped(0);
}
+
+inline int hasCorrelation() {
ZequanWu wrote:
COMPILER_RT_VISIBILITY is added at
https://github.com/llvm/llvm-project/commit/56e205a89cbb
https://github.com/ZequanWu updated
https://github.com/llvm/llvm-project/pull/69493
>From 3a394ce5d4d7d91251337bd0a2c1c1a074eb37e6 Mon Sep 17 00:00:00 2001
From: Zequan Wu
Date: Tue, 17 Oct 2023 19:24:12 -0400
Subject: [PATCH 1/5] [Profile] Add binary profile correlation.
---
clang/lib/CodeGe
https://github.com/ZequanWu updated
https://github.com/llvm/llvm-project/pull/69493
>From 3a394ce5d4d7d91251337bd0a2c1c1a074eb37e6 Mon Sep 17 00:00:00 2001
From: Zequan Wu
Date: Tue, 17 Oct 2023 19:24:12 -0400
Subject: [PATCH 1/6] [Profile] Add binary profile correlation.
---
clang/lib/CodeGe
ZequanWu wrote:
> I'm a bit concerned about the use of hasCorrelation. We require the runtime
> to check the flag and omit the data and names section if set which introduces
> a potential issue: since we emit the version in every TU and u se COMDAT to
> deduplicate them, but that means that if
@@ -1829,6 +1833,22 @@ void CoverageMappingModuleGen::emit() {
llvm::GlobalValue::InternalLinkage, NamesArrVal,
llvm::getCoverageUnusedNamesVarName());
}
+ const StringRef VarName(INSTR_PROF_QUOTE(INSTR_PROF_RAW_VERSI
@@ -0,0 +1,9 @@
+// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -emit-llvm
-o - %s | FileCheck %s
+// RUN: %clang_cc1 -mllvm -profile-correlate=binary -fprofile-instrument=clang
-fcoverage-mapping -emit-llvm -o - %s | FileCheck %s
--check-prefix=BIN-CORRELATE
@@ -1829,6 +1833,22 @@ void CoverageMappingModuleGen::emit() {
llvm::GlobalValue::InternalLinkage, NamesArrVal,
llvm::getCoverageUnusedNamesVarName());
}
+ const StringRef VarName(INSTR_PROF_QUOTE(INSTR_PROF_RAW_VERSI
https://github.com/ZequanWu closed
https://github.com/llvm/llvm-project/pull/69493
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ZequanWu wrote:
> Seems like a mismatch on the diff, so maybe the check is too stringent.
>
> If this will take a while to fix, would you mind reverting until it can be
> addressed?
It passed for me locally on x64. Maybe I should use `diff <(llvm-profdata show
--all-functions --counts %t.norm
ZequanWu wrote:
> Well, seems like someone broke ToT w/ a compiler error. I'll let you know if
> the forward fix fails to address the issue.
The latest build passed:
https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8761696377585255057/overview.
https://github.
@@ -569,16 +577,26 @@ struct CounterCoverageMappingBuilder
/// Return a counter for the subtraction of \c RHS from \c LHS
Counter subtractCounters(Counter LHS, Counter RHS, bool Simplify = true) {
+if (llvm::EnableSingleByteCoverage)
+ assert(
+ 0 &&
+
@@ -234,8 +246,20 @@ struct MapRegionCounters : public
RecursiveASTVisitor {
if (Hash.getHashVersion() == PGO_HASH_V1)
return Base::TraverseIfStmt(If);
+// When single byte coverage mode is enabled, add a counter to then and
+// else.
+for (Stmt *CS : If
ZequanWu wrote:
Ping.
https://github.com/llvm/llvm-project/pull/69493
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ZequanWu updated
https://github.com/llvm/llvm-project/pull/75957
>From d72f0e1ad7759bad81767418604d27f11d74d6de Mon Sep 17 00:00:00 2001
From: Zequan Wu
Date: Tue, 19 Dec 2023 12:32:15 -0500
Subject: [PATCH 1/3] [Profile] Allow profile merging with multiple correlate
files.
https://github.com/ZequanWu updated
https://github.com/llvm/llvm-project/pull/75957
>From d72f0e1ad7759bad81767418604d27f11d74d6de Mon Sep 17 00:00:00 2001
From: Zequan Wu
Date: Tue, 19 Dec 2023 12:32:15 -0500
Subject: [PATCH 1/4] [Profile] Allow profile merging with multiple correlate
files.
@@ -0,0 +1,33 @@
+// REQUIRES: lld-available
ZequanWu wrote:
Added by mistake. Removed.
https://github.com/llvm/llvm-project/pull/75957
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi
@@ -0,0 +1,33 @@
+// REQUIRES: lld-available
ZequanWu wrote:
The added test in `Linux/instrprof-debug-info-correlate.c` requires build id.
Does darwin linker ld64 or ld64.lld have the option to emit build id into
binary? I don't find such flag.
https://github.
@@ -25,6 +25,25 @@
// RUN: diff <(llvm-profdata show --all-functions --counts
%t.cov.normal.profdata) <(llvm-profdata show --all-functions --counts
%t.cov.profdata)
+// Test debug info correlate with build id.
ZequanWu wrote:
The added test in `Linux/instr
@@ -118,18 +118,18 @@ cl::opt ProfiledBinary(
"profiled-binary", cl::init(""),
cl::desc("Path to binary from which the profile was collected."),
cl::sub(ShowSubcommand), cl::sub(MergeSubcommand));
-cl::opt DebugInfoFilename(
-"debug-info", cl::init(""),
+cl::lis
@@ -481,3 +509,49 @@ Error
BinaryInstrProfCorrelator::correlateProfileNameImpl() {
this->Names.append(this->Ctx->NameStart, this->Ctx->NameSize);
return Error::success();
}
+
+llvm::Expected>
InstrProfCorrelators::get(
+ArrayRef>
+CorrelateInputs,
+uint32_
@@ -481,3 +509,49 @@ Error
BinaryInstrProfCorrelator::correlateProfileNameImpl() {
this->Names.append(this->Ctx->NameStart, this->Ctx->NameSize);
return Error::success();
}
+
+llvm::Expected>
InstrProfCorrelators::get(
+ArrayRef>
+CorrelateInputs,
+uint32_
@@ -118,18 +118,18 @@ cl::opt ProfiledBinary(
"profiled-binary", cl::init(""),
cl::desc("Path to binary from which the profile was collected."),
cl::sub(ShowSubcommand), cl::sub(MergeSubcommand));
-cl::opt DebugInfoFilename(
-"debug-info", cl::init(""),
+cl::lis
ZequanWu wrote:
Ping.
https://github.com/llvm/llvm-project/pull/75957
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ZequanWu wrote:
Hi, this breaks our build. I don't know how to update the expectation to match
Current expectation:
DCHECK_OK(foo); //
expected-error@components/reporting/util/status_macros.h:*
{{{CHECK,DCHECK,ASSERT,EXPECT}_OK do not accept a type other than Status or
StatusOr.}}
https
ZequanWu wrote:
> @ZequanWu would either of these work for you?
>
> ```c++
> DCHECK_OK(foo); //
> expected-error@components/reporting/util/status_macros.h:*
> {{{CHECK,DCHECK,ASSERT,EXPECT}_OK do not accept a type other than Status or
> StatusOr.}}}
> ```
>
> or
>
> ```c++
> DCHECK_OK(foo
ZequanWu wrote:
Heads up! This causes clang crash:
cmd:
```
clang++ "-cc1" "-triple" "x86_64-apple-macosx10.15.0"
"-Wundef-prefix=TARGET_OS_" "-Werror=undef-prefix"
"-Wdeprecated-objc-isa-usage" "-Werror=deprecated-objc-isa-usage" "-emit-obj"
"-femit-dwarf-unwind=no-compact-unwind" "-disable-f
ZequanWu wrote:
Reverted at e7f794875169811f3801fad6d40bb9fe833e1a69. Will file an issue to
track it once reducing is done.
https://github.com/llvm/llvm-project/pull/77210
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/
Author: Zequan Wu
Date: 2022-03-23T16:11:54-07:00
New Revision: 581dc3c729c619fe636325a79279fabb2acdc1ce
URL:
https://github.com/llvm/llvm-project/commit/581dc3c729c619fe636325a79279fabb2acdc1ce
DIFF:
https://github.com/llvm/llvm-project/commit/581dc3c729c619fe636325a79279fabb2acdc1ce.diff
LOG
Author: Zequan Wu
Date: 2022-03-10T15:00:32-08:00
New Revision: d54c4df31470044a66605ebb8a2f936e8dd552af
URL:
https://github.com/llvm/llvm-project/commit/d54c4df31470044a66605ebb8a2f936e8dd552af
DIFF:
https://github.com/llvm/llvm-project/commit/d54c4df31470044a66605ebb8a2f936e8dd552af.diff
LOG
Author: Zequan Wu
Date: 2022-03-18T10:15:48-07:00
New Revision: 217f267efe3082438e698e2f08566b9df8c530fa
URL:
https://github.com/llvm/llvm-project/commit/217f267efe3082438e698e2f08566b9df8c530fa
DIFF:
https://github.com/llvm/llvm-project/commit/217f267efe3082438e698e2f08566b9df8c530fa.diff
LOG
Author: Zequan Wu
Date: 2022-07-21T11:23:21-07:00
New Revision: d870a575631d2cedab2ff237af8edd17916edc64
URL:
https://github.com/llvm/llvm-project/commit/d870a575631d2cedab2ff237af8edd17916edc64
DIFF:
https://github.com/llvm/llvm-project/commit/d870a575631d2cedab2ff237af8edd17916edc64.diff
LOG
ZequanWu wrote:
> > > > IIUC, the approach you choose here is to let `SemaPPCallbacks` control
> > > > the "entered file stack" and allow it to remove element (which is file)
> > > > from middle of the internal stack in `TimeTraceProfiler`, but this
> > > > creates async event which is not des
https://github.com/ZequanWu approved this pull request.
https://github.com/llvm/llvm-project/pull/83961
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ZequanWu edited
https://github.com/llvm/llvm-project/pull/83961
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -102,23 +104,24 @@ struct llvm::TimeTraceProfiler {
llvm::get_thread_name(ThreadName);
}
- void begin(std::string Name, llvm::function_ref Detail) {
-Stack.emplace_back(ClockType::now(), TimePointType(), std::move(Name),
- Detail());
+ Time
@@ -102,23 +104,24 @@ struct llvm::TimeTraceProfiler {
llvm::get_thread_name(ThreadName);
}
- void begin(std::string Name, llvm::function_ref Detail) {
-Stack.emplace_back(ClockType::now(), TimePointType(), std::move(Name),
- Detail());
+ Time
https://github.com/ZequanWu edited
https://github.com/llvm/llvm-project/pull/83961
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ZequanWu commented:
IIUC, the approach you choose here is to let `SemaPPCallbacks` control the
"entered file stack" and allow it to remove element (which is file) from middle
of the internal stack in `TimeTraceProfiler`, but this creates async event
which is not designed for
@@ -132,15 +135,18 @@ struct llvm::TimeTraceProfiler {
// happens to be the ones that don't have any currently open entries above
// itself.
if (llvm::none_of(llvm::drop_begin(llvm::reverse(Stack)),
- [&](const TimeTraceProfilerEntry &Val) {
-
1 - 100 of 238 matches
Mail list logo