https://github.com/ZequanWu closed
https://github.com/llvm/llvm-project/pull/121361
___
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/121361
This fixes test breakage on clang bots. See comment
https://github.com/llvm/llvm-project/pull/121081#issuecomment-2565933062
>From c2e29a1822a592cdd96b5f4e9efc3bbf2ef2bf95 Mon Sep 17 00:00:00 2001
From: Zequan
ZequanWu wrote:
Hi, we see this test failed on our clang bots, looks like we should relax the
check
log:
```
/b/s/w/ir/cache/builder/src/third_party/llvm/clang/test/Driver/sanitizer-ld.c:335:39:
error: CHECK-ASAN-ANDROID-SHARED-LIBASAN: expected string not found in input
// CHECK-ASAN-ANDROID
ZequanWu wrote:
Verified that it no longer crashes.
https://github.com/llvm/llvm-project/pull/91991
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Zequan Wu
Date: 2024-11-27T11:18:05-08:00
New Revision: c60b055d463a3e9f18a494aec075f35d38d447a0
URL:
https://github.com/llvm/llvm-project/commit/c60b055d463a3e9f18a494aec075f35d38d447a0
DIFF:
https://github.com/llvm/llvm-project/commit/c60b055d463a3e9f18a494aec075f35d38d447a0.diff
LOG
Author: Zequan Wu
Date: 2024-11-14T13:43:59-08:00
New Revision: b05d37d0d25e5f3ef181e11eb2a61dd816ae72e1
URL:
https://github.com/llvm/llvm-project/commit/b05d37d0d25e5f3ef181e11eb2a61dd816ae72e1
DIFF:
https://github.com/llvm/llvm-project/commit/b05d37d0d25e5f3ef181e11eb2a61dd816ae72e1.diff
LOG
ZequanWu wrote:
Confirmed that this change causes crash with -Wunsafe-buffer-usage:
https://godbolt.org/z/vcv8d6sYr.
My previously manual-reduced repro in
https://github.com/llvm/llvm-project/pull/91991#issuecomment-2477311737 happens
to crash before this change.
https://github.com/llvm/llv
ZequanWu wrote:
It's actually an existing crash not caused by this one.
https://github.com/llvm/llvm-project/pull/91991
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ZequanWu wrote:
Hi, we have found this causing clang to crash with -Wunsafe-buffer-usage:
https://godbolt.org/z/nvWxW43fK
https://github.com/llvm/llvm-project/pull/91991
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cg
https://github.com/ZequanWu closed
https://github.com/llvm/llvm-project/pull/115196
___
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/115196
___
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/115196
We observed 2X slowdown in lldb's expression evaluation with
https://github.com/llvm/llvm-project/pull/109147. It turns out that calling
`isRedundantInlineQualifierFor` is quite expensive. Using short-circuit
ZequanWu wrote:
Given there's already an implementation of `flock` in
`compiler-rt/lib/profile/WindowsMMap.c`. Setting `COMPILER_RT_TARGET_HAS_FLOCK`
according to this
https://github.com/llvm/llvm-project/blob/7dc2542ac24fcae89dfd179fa58c4ec4fb959e2b/compiler-rt/lib/profile/CMakeLists.txt#L41-
ZequanWu wrote:
Oh, I see, there are windows version of `flock` in `WindowsMMap.h`, and this
new macro `COMPILER_RT_HAS_FLOCK` is defined here: [for
linux](https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/profile/CMakeLists.txt#L41-L50)
https://github.com/llvm/llvm-project/pull/1
ZequanWu wrote:
Hi. this change caused chromium windows pgo build to fail:
https://g-issues.chromium.org/issues/373478548 and we see the profile runtime
error message:
```
LLVM Profile Error: Invalid profile data to merge
LLVM Profile Error: Profile Merging of file
default_16487515506031793746
ZequanWu wrote:
This change makes the following code no longer compile:
```
#include
#include
template
concept CompatibleIter = std::contiguous_iterator;
template
class span {
public:
template
requires(CompatibleIter)
constexpr span(It first, int count) noexcept {
}
};
void f
ZequanWu wrote:
> > > > > Thanks for reporting. Those tests are failed due to not updated
> > > > > properly. I relanded this change with updated tests:
> > > > > [ae6dc64](https://github.com/llvm/llvm-project/commit/ae6dc64ec670891cb15049277e43133d4df7fb4b).
> > > >
> > > >
> > > > Your upda
Author: Zequan Wu
Date: 2024-08-01T19:57:28-07:00
New Revision: 6c375ae7a4d97a9947fdc16be4d86e9eba3dde4c
URL:
https://github.com/llvm/llvm-project/commit/6c375ae7a4d97a9947fdc16be4d86e9eba3dde4c
DIFF:
https://github.com/llvm/llvm-project/commit/6c375ae7a4d97a9947fdc16be4d86e9eba3dde4c.diff
LOG
ZequanWu wrote:
> > > Thanks for reporting. Those tests are failed due to not updated properly.
> > > I relanded this change with updated tests:
> > > [ae6dc64](https://github.com/llvm/llvm-project/commit/ae6dc64ec670891cb15049277e43133d4df7fb4b).
> >
> >
> > Your updated change still seems t
ZequanWu wrote:
Thanks for reporting. Those tests are failed due to not updated properly. I
relanded this change with updated tests:
https://github.com/llvm/llvm-project/commit/ae6dc64ec670891cb15049277e43133d4df7fb4b.
https://github.com/llvm/llvm-project/pull/101549
__
Author: Zequan Wu
Date: 2024-08-01T15:54:50-07:00
New Revision: ae6dc64ec670891cb15049277e43133d4df7fb4b
URL:
https://github.com/llvm/llvm-project/commit/ae6dc64ec670891cb15049277e43133d4df7fb4b
DIFF:
https://github.com/llvm/llvm-project/commit/ae6dc64ec670891cb15049277e43133d4df7fb4b.diff
LOG
https://github.com/ZequanWu closed
https://github.com/llvm/llvm-project/pull/101549
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ZequanWu wrote:
> Richard had a comment on the original which I think it still relevant:
>
> > There are 496 calls to Builder.CreateCall in clang's CodeGen. Do they all
> > need this change? If not, how can we be confident we've found all the ones
> > that do? (From a quick check, at least MSV
https://github.com/ZequanWu edited
https://github.com/llvm/llvm-project/pull/101549
___
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/101549
1. It fixes the problem that llvm.trap() not getting the nomerge attribute.
2. It sets nomerge flag for the node if the instruction has nomerge arrtibute.
This is a copy of https://reviews.llvm.org/D146164. Thi
ZequanWu wrote:
> > > @ZequanWu I can't successfully build your reproducer with clang trunk.
> > > Would it be possible to provide the full test case or a fully reduced one?
> >
> >
> > Because I reverted this change at
> > [567b2c6](https://github.com/llvm/llvm-project/commit/567b2c608c307c0
ZequanWu wrote:
> @ZequanWu I can't successfully build your reproducer with clang trunk. Would
> it be possible to provide the full test case or a fully reduced one?
Because I reverted this change at
https://github.com/llvm/llvm-project/commit/567b2c608c307c097315dd5ec4d6a5bbcddf898d,
so it n
ZequanWu wrote:
I have a partially reduced repro:
```
$ clang++ "-cc1" "-triple" "arm64-apple-macosx10.15.0"
"-Wundef-prefix=TARGET_OS_" "-Werror=undef-prefix"
"-Wdeprecated-objc-isa-usage" "-Werror=deprecated-objc-isa-usage"
"-emit-llvm-bc" "-flto=thin" "-flto-unit" "-disable-free"
"-clear-a
https://github.com/ZequanWu edited
https://github.com/llvm/llvm-project/pull/97002
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ZequanWu wrote:
Reverting for now as this also breaks LLVM CI builder.
https://github.com/llvm/llvm-project/pull/93113
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ZequanWu closed
https://github.com/llvm/llvm-project/pull/97002
___
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/97002
Reverts llvm/llvm-project#93113
>From 62d7d5611e70682f8743e7322e34204480ffe189 Mon Sep 17 00:00:00 2001
From: Zequan Wu
Date: Fri, 28 Jun 2024 00:36:19 -0400
Subject: [PATCH] =?UTF-8?q?Revert=20"[Clang]=20Fix=2
ZequanWu wrote:
This causes clang to crash when building chromium:
```
Assertion failed: (Loc.isValid() && "point of instantiation must be valid!"),
function setPointOfInstantiation, file DeclTemplate.h, line 1938.
PLEASE submit a bug report to https://crbug.com in the Tools>LLVM component,
run
ZequanWu wrote:
> The problem that this solves is related to binary size. In situations where a
> large C API is in generated code but a small part of the API is used, the
> size of __llvm_prf_names and __llvm_cov_fun sections can be prohibitively
> large. This flag offers a way to reduce bina
ZequanWu wrote:
I think the main purpose for emitting coverage mapping for un-emitted functions
is to tell llvm-cov that those functions are not executed at all, so it shows
execution count 0 for them instead of not-covered.
https://github.com/llvm/llvm-project/pull/92582
_
@@ -27,6 +27,80 @@ class MemInit {
C m = s;
};
+namespace std {
+typedef decltype(sizeof(int)) size_t;
+
+// libc++'s implementation
+template class initializer_list {
+ const _E *__begin_;
+ size_t __size_;
+
+ initializer_list(const _E *__b, size_t __s) : __begin_(__b)
ZequanWu wrote:
Here's a smaller repro of the `-Wuninitialized` warning:
```
int TestBody_got;
namespace std {
template struct integral_constant {
static const int value = __v;
};
template using enable_if_t = _Tp;
template class initializer_list {};
template
constexpr bool IsTypeOrDerived =
ZequanWu wrote:
Can we revert this change while you are investigating if this fix is not
trivial?
https://github.com/llvm/llvm-project/pull/87933
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/c
ZequanWu wrote:
Great, I just finished a creduce run with renaming pass disabled, but yours is
short.
https://github.com/llvm/llvm-project/pull/87933
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listin
https://github.com/ZequanWu closed
https://github.com/llvm/llvm-project/pull/92141
___
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/92141
>From 39d996deffc9d77c28f9f43c2f2ba4b114dd864f Mon Sep 17 00:00:00 2001
From: Zequan Wu
Date: Tue, 14 May 2024 12:08:15 -0400
Subject: [PATCH 1/2] Allow passing creduce options through
creduce-clang-crash.py
-
https://github.com/ZequanWu created
https://github.com/llvm/llvm-project/pull/92141
This change allows us to pass creduce options to creduce-clang-crash.py script.
With this, `--n` is no longer needed to specify the number of cores, so removed
the flag.
The motivation is
https://github.com/l
ZequanWu wrote:
```
$ cat a.cpp
namespace std {
template struct b {
static const int c = a;
};
template using e = d;
template struct p {
using g = f;
};
template using i = p::g;
template class initializer_list {};
template using j = __remove_pointer(d);
template using k = j;
template
ZequanWu wrote:
Heads up. This causes clang to crash on some code. I'm running creduce to
reduce the cpp source file.
https://github.com/llvm/llvm-project/pull/87933
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bi
https://github.com/ZequanWu approved this pull request.
https://github.com/llvm/llvm-project/pull/89564
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ZequanWu wrote:
There could be some other statements with invalid source locations (we have
seen that before). I suggest validating both source locations inside
`findGapAreaBetween` and returning `std::nullopt` if either of them is invalid.
https://github.com/llvm/llvm-project/pull/89564
_
@@ -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 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
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
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 designed for this p
@@ -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
@@ -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) {
-
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
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
@@ -35,20 +36,32 @@ class InstrProfCorrelator {
/// correlate.
enum ProfCorrelatorKind { NONE, DEBUG_INFO, BINARY };
+ struct WarningCounter {
ZequanWu wrote:
Since there is
[debate](https://github.com/llvm/llvm-project/pull/75957#discussion_r1433009581
@@ -42,6 +43,21 @@ template BuildIDRef getBuildID(const
ELFFile &Obj) {
return {};
}
+BuildIDRef getBuildID(const COFFObjectFile *Obj) {
ZequanWu wrote:
By that, we don't have any test for it. The test
`compiler-rt/test/profile/Windows/instrprof-binary-c
@@ -0,0 +1,33 @@
+// Test llvm-profdata merging with multiple correlation files mixing different
correlation modes.
+
+// RUN: %clang_pgogen -o %t.normal -mllvm --disable-vp=true
%S/../Inputs/instrprof-debug-info-correlate-main.cpp
%S/../Inputs/instrprof-debug-info-correlate-fo
@@ -0,0 +1,41 @@
+// REQUIRES: target={{.*windows-msvc.*}}
ZequanWu wrote:
Yes, for mingw, `-dll` doesn't work. It uses `-shared`
https://github.com/llvm/llvm-project/pull/75957
___
cfe-commits mailing list
cfe-commits
@@ -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
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/5] [Profile] Allow profile merging with multiple correlate
files.
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/
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:
> @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:
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:
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
@@ -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
@@ -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
@@ -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.
@@ -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
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.
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.
@@ -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
@@ -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 &&
+
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.
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
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
@@ -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
@@ -1829,6 +1833,22 @@ void CoverageMappingModuleGen::emit() {
llvm::GlobalValue::InternalLinkage, NamesArrVal,
llvm::getCoverageUnusedNamesVarName());
}
+ const StringRef VarName(INSTR_PROF_QUOTE(INSTR_PROF_RAW_VERSI
@@ -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
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
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:
> 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 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
@@ -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 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,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.
@@ -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
@@ -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).
-
@@ -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
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
@@ -46,14 +73,38 @@ const char *InstrProfCorrelator::NumCountersAttributeName =
"Num Counters";
llvm::Expected>
InstrProfCorrelator::Context::get(std::unique_ptr Buffer,
- const object::ObjectFile &Obj) {
+ con
1 - 100 of 231 matches
Mail list logo