https://github.com/MatzeB closed
https://github.com/llvm/llvm-project/pull/142236
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB edited
https://github.com/llvm/llvm-project/pull/142236
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1831,6 +1831,22 @@ TEST_P(AArch64ExtensionDependenciesBaseCPUTestFixture,
}
}
+TEST(TargetParserTest, testAArch64ReconstructFromParsedFeatures) {
+ AArch64::ExtensionSet Extensions;
+ std::vector FeatureOptions = {
+ "-sve2", "-Baz", "+sve", "+FooBar", "+sve2", "+
MatzeB wrote:
The original situation looks something like:
```
#include
void foo() {
// ...
uint8x16_t x = {};
vreinterpretq_u8_s8(x);
}
```
Compiled with `clang -target aarch64-redhat-linux-gnu
-march=-march=armv9-a+sve2+fp16+fp16fml+crypto+bf16+sm4+i8mm+sve2-bitperm+sve2-sha3+sve2
MatzeB wrote:
I submitted this fix after seeing this line:
https://github.com/llvm/llvm-project/blob/main/llvm/lib/TargetParser/AArch64TargetParser.cpp#L368
which looks like the function intends to handle negative features.
https://github.com/llvm/llvm-project/pull/142236
___
@@ -0,0 +1,8 @@
+// RUN: %clang_cc1 -triple aarch64-- -target-feature +neon -target-feature
+sve\
+// RUN: -target-feature -sve -emit-llvm %s -o - | FileCheck %s
+
+// Reproducer for bug where clang would reject always_inline for unrelated
+// target features if they were disab
https://github.com/MatzeB edited
https://github.com/llvm/llvm-project/pull/142236
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1831,6 +1831,22 @@ TEST_P(AArch64ExtensionDependenciesBaseCPUTestFixture,
}
}
+TEST(TargetParserTest, testAArch64ReconstructFromParsedFeatures) {
+ AArch64::ExtensionSet Extensions;
+ std::vector FeatureOptions = {
+ "-sve2", "-Baz", "+sve", "+FooBar", "+sve2", "+
@@ -60,7 +60,7 @@ uint64_t AArch64::getFMVPriority(ArrayRef
Features) {
ExtensionSet FeatureBits;
for (const StringRef Feature : Features) {
std::optional FMV = parseFMVExtension(Feature);
-if (!FMV) {
+if (!FMV && Feature.starts_with('+')) {
M
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/142236
>From 92da4def0f7c39a6348669387cfc874ee03f8471 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Fri, 30 May 2025 16:19:16 -0700
Subject: [PATCH 1/3] [AArch64TargetParser]Fix reconstructFromParsedFeatures
igno
@@ -1831,6 +1831,22 @@ TEST_P(AArch64ExtensionDependenciesBaseCPUTestFixture,
}
}
+TEST(TargetParserTest, testAArch64ReconstructFromParsedFeatures) {
MatzeB wrote:
typo in the test is fixed now.
https://github.com/llvm/llvm-project/pull/142236
MatzeB wrote:
Cannot test with `--print-enabled-extensions` as clang has its own logic to
parse target features.
But I added a test based on the `always_inline` compatibility check logic that
is close to the original issue we ran into.
https://github.com/llvm/llvm-project/pull/142236
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/142236
>From 92da4def0f7c39a6348669387cfc874ee03f8471 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Fri, 30 May 2025 16:19:16 -0700
Subject: [PATCH 1/2] [AArch64TargetParser]Fix reconstructFromParsedFeatures
igno
https://github.com/MatzeB closed
https://github.com/llvm/llvm-project/pull/141698
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/141698
>From cef4f070167474ac0e8d1eea903974a31ff9934d Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Tue, 27 May 2025 18:20:28 -0700
Subject: [PATCH 1/2] Check for unsupported target options even with
-Qunused-arg
https://github.com/MatzeB closed
https://github.com/llvm/llvm-project/pull/117092
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/117092
>From 3bab9f901045426321d687fc36e4ba3034cc0f30 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Wed, 20 Nov 2024 17:23:56 -0800
Subject: [PATCH 1/2] Rework attr-target-x86 test
Rework the attr-target-x86 test
https://github.com/MatzeB closed
https://github.com/llvm/llvm-project/pull/117091
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MatzeB wrote:
Note that this has the test changes from #117091 included.
https://github.com/llvm/llvm-project/pull/117092
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB edited
https://github.com/llvm/llvm-project/pull/117092
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB ready_for_review
https://github.com/llvm/llvm-project/pull/117092
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB edited
https://github.com/llvm/llvm-project/pull/117092
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB edited
https://github.com/llvm/llvm-project/pull/117092
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB ready_for_review
https://github.com/llvm/llvm-project/pull/117091
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB created
https://github.com/llvm/llvm-project/pull/117091
Rework the attr-target-x86 test so the CHECK lines for the attributes
are next to their corresponding `__attribute__`.
>From 3bab9f901045426321d687fc36e4ba3034cc0f30 Mon Sep 17 00:00:00 2001
From: Matthias Braun
https://github.com/MatzeB created
https://github.com/llvm/llvm-project/pull/117092
- Rework attr-target-x86 test
- Allow prefer-256-bit for __attribute__((target))
>From 3bab9f901045426321d687fc36e4ba3034cc0f30 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Wed, 20 Nov 2024 17:23:56 -080
https://github.com/MatzeB closed
https://github.com/llvm/llvm-project/pull/113714
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MatzeB wrote:
> I have always expected shuffles to be canonicalized to make the lowest mask
> lane the first operand. I believe the AArch64 and Arm matching functions rely
> on that at the moment. https://godbolt.org/z/1rr1E8v1K
Thanks for pointing this out! So definitely cannot land the chang
@@ -1,7 +1,7 @@
+// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
UTC_ARGS: --version 5
// REQUIRES: x86-registered-target
-// RUN: %clang_cc1 -ffreestanding %s -O3 -triple=x86_64-apple-darwin
-target-feature +avx -emit-llvm -o - | FileCheck %s --ch
MatzeB wrote:
> Please push the revised clang tests as a separate patch.
Submitted #113714 for the test updates (still included here for "stacking")
https://github.com/llvm/llvm-project/pull/113212
___
cfe-commits mailing list
cfe-commits@lists.llvm.o
MatzeB wrote:
> This idea here makes sense, I guess, but I'm a little worried about
> unexpected side-effects... not sure how reliably the backend handles commuted
> masks, and I don't think we have any testing infrastructure that would catch
> that sort of issue.
Was wondering about this too
MatzeB wrote:
Update clang tests separately as suggested in #113212
https://github.com/llvm/llvm-project/pull/113714
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB created
https://github.com/llvm/llvm-project/pull/113212
As shufflevector is effectively commutative we should apply the same
logic as other commutative operations where we order the inputs by
their `getComplexity()` value. This will put things like `undef`,
`poison` an
https://github.com/MatzeB approved this pull request.
https://github.com/llvm/llvm-project/pull/107974
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MatzeB wrote:
Please provide additional context in your summary on how this happens.
My understanding is that this is for a setup with linux binfmt-misc + qemu
running aarch64 binaries on an x86 system. The fact that we end up with
absolute pathnames in `argv[0]` may be a bug in qemu or binfmt
https://github.com/MatzeB closed https://github.com/llvm/llvm-project/pull/91275
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MatzeB wrote:
Explicitly disabling the `scan-build` tests on windows now.
I think they weren't previously running there because of `REQUIRES: shell`
anyway and as far as I can tell from the buildkite results it seems the
`scan-build` does not work correctly on windows at the moment.
https://g
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/91275
>From c0b7ec2e336476b1a1d6cf05d07bfde2f3dc88a4 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Mon, 6 May 2024 14:39:37 -0700
Subject: [PATCH 1/7] Use cmake to find perl executable
---
clang/CMakeLists.txt
https://github.com/MatzeB edited https://github.com/llvm/llvm-project/pull/91275
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/91275
>From c0b7ec2e336476b1a1d6cf05d07bfde2f3dc88a4 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Mon, 6 May 2024 14:39:37 -0700
Subject: [PATCH 1/6] Use cmake to find perl executable
---
clang/CMakeLists.txt
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/91275
>From c0b7ec2e336476b1a1d6cf05d07bfde2f3dc88a4 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Mon, 6 May 2024 14:39:37 -0700
Subject: [PATCH 1/6] Use cmake to find perl executable
---
clang/CMakeLists.txt
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/91275
>From c0b7ec2e336476b1a1d6cf05d07bfde2f3dc88a4 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Mon, 6 May 2024 14:39:37 -0700
Subject: [PATCH 1/5] Use cmake to find perl executable
---
clang/CMakeLists.txt
@@ -1,4 +1,4 @@
-REQUIRES: shell
+REQUIRES: perl
MatzeB wrote:
Seems there is `rm` but no `ls`:
https://github.com/MatzeB/llvm-project/blob/5e5b18a31057f0d086ce9731d2b58aa70d55eef5/llvm/utils/lit/lit/TestRunner.py?plain=1#L714
https://github.com/llvm/llvm-proj
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/91275
>From c0b7ec2e336476b1a1d6cf05d07bfde2f3dc88a4 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Mon, 6 May 2024 14:39:37 -0700
Subject: [PATCH 1/4] Use cmake to find perl executable
---
clang/CMakeLists.txt
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/91275
>From c0b7ec2e336476b1a1d6cf05d07bfde2f3dc88a4 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Mon, 6 May 2024 14:39:37 -0700
Subject: [PATCH 1/3] Use cmake to find perl executable
---
clang/CMakeLists.txt
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/91275
>From c0b7ec2e336476b1a1d6cf05d07bfde2f3dc88a4 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Mon, 6 May 2024 14:39:37 -0700
Subject: [PATCH 1/2] Use cmake to find perl executable
---
clang/CMakeLists.txt
https://github.com/MatzeB ready_for_review
https://github.com/llvm/llvm-project/pull/91275
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MatzeB wrote:
I checked that:
- scan-build tests run fine by default on my machine.
- scan-build tests are skipped when using `cmake
-DCMAKE_DISBALE_FIND_PACKAGE_Perl=ON ...`.
https://github.com/llvm/llvm-project/pull/91275
___
cfe-commits mailing lis
https://github.com/MatzeB edited https://github.com/llvm/llvm-project/pull/91275
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB created
https://github.com/llvm/llvm-project/pull/91275
None
>From c0b7ec2e336476b1a1d6cf05d07bfde2f3dc88a4 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Mon, 6 May 2024 14:39:37 -0700
Subject: [PATCH] Use cmake to find perl executable
---
clang/CMakeLists.txt
MatzeB wrote:
How does this relate to the existing `shouldOptimizeForSize(Function&)` and
similar APIs which appear to provide similar functionality at a first glance.
If they are the same, then we should have a plan in place to cleanup and only
have one system afterwards, if there are importa
https://github.com/MatzeB commented:
Consider using `utils/update_analyze_test_checks.py` to create the check
lines...
https://github.com/llvm/llvm-project/pull/73593
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-b
https://github.com/MatzeB approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/73593
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB closed https://github.com/llvm/llvm-project/pull/72346
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB closed https://github.com/llvm/llvm-project/pull/71874
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/71874
>From 3b502f8cc14456b325efc3017a4a114391284b37 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Wed, 19 Oct 2022 10:58:40 -0700
Subject: [PATCH 1/3] Remove unused LoopInfo from InlineSpiller and
SpillPlacement
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/71874
>From 3b502f8cc14456b325efc3017a4a114391284b37 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Wed, 19 Oct 2022 10:58:40 -0700
Subject: [PATCH 1/2] Remove unused LoopInfo from InlineSpiller and
SpillPlacement
https://github.com/MatzeB updated
https://github.com/llvm/llvm-project/pull/71874
>From 3b502f8cc14456b325efc3017a4a114391284b37 Mon Sep 17 00:00:00 2001
From: Matthias Braun
Date: Wed, 19 Oct 2022 10:58:40 -0700
Subject: [PATCH] Remove unused LoopInfo from InlineSpiller and SpillPlacement
---
MatzeB wrote:
Or put another way: Do you see regressions disappear with `-mllvm
-cold-callsite-rel-freq=0` ?
https://github.com/llvm/llvm-project/pull/66285
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman
MatzeB wrote:
Do you just see regression or also some wins? I don't know whether this is all
stems from the `isColdCallSite` behavior, and not just the usual some things
get better some things get worse situation you can easily have when inlining
changes?
https://github.com/llvm/llvm-project/
@@ -636,9 +636,13 @@ static void updateBranchWeights(Instruction *Term,
WeightInfo &Info) {
MDB.createBranchWeights(Info.Weights));
for (auto [Idx, SubWeight] : enumerate(Info.SubWeights))
if (SubWeight != 0)
- Info.Weights[Idx] = Info.Weights[Id
@@ -636,9 +636,13 @@ static void updateBranchWeights(Instruction *Term,
WeightInfo &Info) {
MDB.createBranchWeights(Info.Weights));
for (auto [Idx, SubWeight] : enumerate(Info.SubWeights))
if (SubWeight != 0)
- Info.Weights[Idx] = Info.Weights[Id
https://github.com/MatzeB edited https://github.com/llvm/llvm-project/pull/70094
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -636,9 +636,13 @@ static void updateBranchWeights(Instruction *Term,
WeightInfo &Info) {
MDB.createBranchWeights(Info.Weights));
for (auto [Idx, SubWeight] : enumerate(Info.SubWeights))
if (SubWeight != 0)
- Info.Weights[Idx] = Info.Weights[Id
@@ -636,9 +636,13 @@ static void updateBranchWeights(Instruction *Term,
WeightInfo &Info) {
MDB.createBranchWeights(Info.Weights));
for (auto [Idx, SubWeight] : enumerate(Info.SubWeights))
if (SubWeight != 0)
- Info.Weights[Idx] = Info.Weights[Id
https://github.com/MatzeB approved this pull request.
Seems like a sensible backstop for slightly incorrect profile data leading to
extreme branch weights. Added some nitpicks, either way LGTM
https://github.com/llvm/llvm-project/pull/70094
___
cfe-co
@@ -636,9 +636,13 @@ static void updateBranchWeights(Instruction *Term,
WeightInfo &Info) {
MDB.createBranchWeights(Info.Weights));
for (auto [Idx, SubWeight] : enumerate(Info.SubWeights))
if (SubWeight != 0)
- Info.Weights[Idx] = Info.Weights[Id
https://github.com/MatzeB edited https://github.com/llvm/llvm-project/pull/70094
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -636,9 +636,13 @@ static void updateBranchWeights(Instruction *Term,
WeightInfo &Info) {
MDB.createBranchWeights(Info.Weights));
for (auto [Idx, SubWeight] : enumerate(Info.SubWeights))
if (SubWeight != 0)
- Info.Weights[Idx] = Info.Weights[Id
https://github.com/MatzeB approved this pull request.
Seems like a sensible backstop for slightly incorrect profile data leading to
extreme branch weights. Added some nitpicks, either way LGTM
https://github.com/llvm/llvm-project/pull/70094
___
cfe-co
MatzeB wrote:
And digging even deeper:
- FWIW I noticed that I only used `clang -c` as benchmark previously, should
have used `clang -c -O3` resulting in this:
```
Old-BFI: insn: 37,821,687,947 (baseline)
New-BFI: insn: 38,133,312,923 +0.82%
Old-BFI, no-cold: insn: 37,423,365
MatzeB wrote:
Some very ad-hoc benchmarking. Of clang compilation speed (measured in
instructions as reported by valgrind/callgrind which I think somewhat matches
the setup of nikic) compiling `sqlite3` of CTMark:
Old-BFI (this PR reverted), New-BFI (this PR applied), no-cold
(cold-callsite-r
MatzeB wrote:
Not sure how this change could trigger leaks. Changing BFI here should mostly
effect inlining decisions, basic block placement, register allocation. But it
shouldn't change program behavior or memory operations...
Will try to reproduce this test on my machine, to see if there's a
MatzeB wrote:
Seems this got introduced in https://reviews.llvm.org/D34312 with the rough
idea that we shouldn't inline into parts of the code that
`_builtin_expect(...)` deems unlikely. Which makes sense when you say it
express it like this, but I guess numeric thresholds can go wrong...
htt
MatzeB wrote:
Seems this got introduced in https://reviews.llvm.org/D34312 with the rough
idea that we shouldn't inline into parts of the code that
`_builtin_expect(...)` deems unlikely. Which makes sense when you say it
express it like this, but I guess numeric thresholds can go wrong...
htt
MatzeB wrote:
Also note that this 2% cold-code threshold is only applied in situation where
no PGO data is available. So maybe we should just ignore this, given that
without PGO data it just is often impossible for the compiler to make good
inlining decisions...
https://github.com/llvm/llvm-p
MatzeB wrote:
I think I traced the clang regression down to
`InlineCostCallAnalyzer::isColdCallSite` returning `true` in more instances. It
previously did not do that because of what feels more like an accidental loss
of precision:
The example I analyzed starts out as a single-block function
MatzeB wrote:
So not sure if there is an easy fix for the regression.
We should probably have some logic that scales all BFI values when inlining to
better accomodate the new range of frequencies so we loose less precision by
accident. Though that won't help with the regression at hand as that
MatzeB wrote:
Oh so this isn't even a PGO enabled build, interesting...
https://github.com/llvm/llvm-project/pull/66285
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MatzeB wrote:
Oh so this isn't even a PGO enabled build, interesting...
https://github.com/llvm/llvm-project/pull/66285
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MatzeB wrote:
The internal services I tried here tended to slightly improve or stay neutral.
We can revert, but could you please share some details on how your clang built
/ tested so I have a chance to address things and bring these changes back?
https://github.com/llvm/llvm-project/pull/6628
https://github.com/MatzeB edited https://github.com/llvm/llvm-project/pull/66164
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MatzeB edited https://github.com/llvm/llvm-project/pull/66164
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MatzeB wrote:
> There are two ways ProfileFuncRef can originate (ignoring copy constructions):
> ...
So you are saying there can be hashcode `ProfileFuncRef`s coming from the
profile, but an `llvm::Function` would always produce a string `ProfileFuncRef`?
> B - Whenever we lookup a ProflieFuncR
MatzeB wrote:
> There are two ways ProfileFuncRef can originate (ignoring copy constructions):
> ...
So you are saying there can be hashcode `ProfileFuncRef`s coming from the
profile, but an `llvm::Function` would always produce a string `ProfileFuncRef`?
> B - Whenever we lookup a ProflieFuncR
@@ -0,0 +1,215 @@
+//===--- ProfileFuncRef.h - Sample profile function reference ---*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,222 @@
+//===--- ProfileFuncRef.h - Sample profile function name ---*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2
@@ -0,0 +1,222 @@
+//===--- ProfileFuncRef.h - Sample profile function name ---*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2
https://github.com/MatzeB edited https://github.com/llvm/llvm-project/pull/66164
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,222 @@
+//===--- ProfileFuncRef.h - Sample profile function name ---*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2
@@ -0,0 +1,222 @@
+//===--- ProfileFuncRef.h - Sample profile function name ---*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2
@@ -0,0 +1,222 @@
+//===--- ProfileFuncRef.h - Sample profile function name ---*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2
@@ -0,0 +1,222 @@
+//===--- ProfileFuncRef.h - Sample profile function name ---*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2
@@ -643,14 +648,11 @@ class SampleContext {
uint64_t getHashCode() const {
if (hasContext())
return hash_value(getContextFrames());
-
-// For non-context function name, use its MD5 as hash value, so that it is
-// consistent with the profile map's key.
-
@@ -0,0 +1,222 @@
+//===--- ProfileFuncRef.h - Sample profile function name ---*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2
@@ -0,0 +1,222 @@
+//===--- ProfileFuncRef.h - Sample profile function name ---*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2
@@ -0,0 +1,222 @@
+//===--- ProfileFuncRef.h - Sample profile function name ---*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2
https://github.com/MatzeB edited https://github.com/llvm/llvm-project/pull/66164
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,222 @@
+//===--- ProfileFuncRef.h - Sample profile function name ---*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2
@@ -618,7 +623,7 @@ class SampleContext {
void clearState(ContextStateMask S) { State &= (uint32_t)~S; }
bool hasContext() const { return State != UnknownContext; }
bool isBaseContext() const { return FullContext.size() == 1; }
- StringRef getName() const { return Name;
1 - 100 of 147 matches
Mail list logo