@@ -2876,42 +2875,101 @@ void AsmPrinter::emitJumpTableInfo() {
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference32 ||
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference64,
F);
+
+ std::vector JumpTableIndices;
+ if (!TM.Opti
@@ -2876,42 +2875,101 @@ void AsmPrinter::emitJumpTableInfo() {
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference32 ||
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference64,
F);
+
+ std::vector JumpTableIndices;
+ if (!TM.Opti
@@ -2876,42 +2875,101 @@ void AsmPrinter::emitJumpTableInfo() {
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference32 ||
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference64,
F);
+
+ std::vector JumpTableIndices;
+ if (!TM.Opti
@@ -2876,42 +2875,101 @@ void AsmPrinter::emitJumpTableInfo() {
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference32 ||
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference64,
F);
+
+ std::vector JumpTableIndices;
+ if (!TM.Opti
@@ -2876,42 +2875,101 @@ void AsmPrinter::emitJumpTableInfo() {
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference32 ||
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference64,
F);
+
+ std::vector JumpTableIndices;
+ if (!TM.Opti
@@ -2876,42 +2875,101 @@ void AsmPrinter::emitJumpTableInfo() {
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference32 ||
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference64,
F);
+
+ std::vector JumpTableIndices;
+ if (!TM.Opti
@@ -2876,42 +2875,101 @@ void AsmPrinter::emitJumpTableInfo() {
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference32 ||
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference64,
F);
+
+ std::vector JumpTableIndices;
+ if (!TM.Opti
@@ -2876,42 +2875,101 @@ void AsmPrinter::emitJumpTableInfo() {
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference32 ||
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference64,
F);
+
+ std::vector JumpTableIndices;
+ if (!TM.Opti
@@ -2876,42 +2875,101 @@ void AsmPrinter::emitJumpTableInfo() {
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference32 ||
MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference64,
F);
+
+ std::vector JumpTableIndices;
+ if (!TM.Opti
https://github.com/ellishg approved this pull request.
https://github.com/llvm/llvm-project/pull/110972
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
ellishg wrote:
> Hit an assertion in `ignoreOp` when testing the refactored code.
>
> ```
> Assertion failed: (OpIdx < I->getNumOperands() && "Invalid operand index"),
> function ignoreOp, file GlobalMergeFunctions.cpp, line 129.
> Stop reason: hit program assert
> expr I->dump()
> %6 = tail
@@ -32,10 +32,40 @@ setupMemoryBuffer(const Twine &Filename, vfs::FileSystem
&FS) {
Error CodeGenDataReader::mergeFromObjectFile(
const object::ObjectFile *Obj, OutlinedHashTreeRecord &GlobalOutlineRecord,
+StableFunctionMapRecord &GlobalFunctionMapRecord,
stable
@@ -13,15 +13,18 @@
namespace llvm {
+enum class StructuralHashOptions { None, Detailed, CallTargetIgnored };
ellishg wrote:
Can you document these options and include their string values, e.g.,
`call-target-ignored`?
https://github.com/llvm/llvm-project/p
https://github.com/ellishg approved this pull request.
Overall LGTM!
https://github.com/llvm/llvm-project/pull/112638
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-co
https://github.com/ellishg edited
https://github.com/llvm/llvm-project/pull/112638
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -22,3 +26,13 @@ define i32 @f2(i32 %a) {
; DETAILED-HASH-NEXT: Function f1 Hash: [[DF1H:([a-f0-9]{16,})]]
; DETAILED-HASH-NOT: [[DF1H]]
; DETAILED-HASH-NEXT: Function f2 Hash: {{([a-f0-9]{16,})}}
+
+; When ignoring the call target, check if `f1` and `f2` produce the same
fu
@@ -1168,9 +1168,19 @@ Expected
parseMemProfUsePassOptions(StringRef Params) {
return Result;
}
-Expected parseStructuralHashPrinterPassOptions(StringRef Params) {
- return PassBuilder::parseSinglePassOption(Params, "detailed",
-
@@ -47,24 +60,140 @@ class StructuralHashImpl {
public:
StructuralHashImpl() = delete;
- explicit StructuralHashImpl(bool DetailedHash) : DetailedHash(DetailedHash)
{}
+ explicit StructuralHashImpl(bool DetailedHash,
+ IgnoreOperandFunc Ignore
@@ -952,7 +952,7 @@ void InstrProfRecord::merge(InstrProfRecord &Other,
uint64_t Weight,
Value = getInstrMaxCountValue();
Overflowed = true;
}
-Counts[I] = Value;
ellishg wrote:
I think that makes sense for frontend coverage since we aren'
@@ -952,7 +952,7 @@ void InstrProfRecord::merge(InstrProfRecord &Other,
uint64_t Weight,
Value = getInstrMaxCountValue();
Overflowed = true;
}
-Counts[I] = Value;
ellishg wrote:
This is deliberate. Even though we only record boolean covera
@@ -0,0 +1,44 @@
+// Test that missing-annotations detects branches that are hot, but not
annotated
+
+// test diagnostics are issued when profiling data mis-matches annotations
+// RUN: llvm-profdata merge %S/Inputs/missing-annotations-branch.proftext -o
%t.profdata
---
@@ -0,0 +1,44 @@
+// Test that missing-annotations detects branches that are hot, but not
annotated
+
+// test diagnostics are issued when profiling data mis-matches annotations
+// RUN: llvm-profdata merge %S/Inputs/missing-annotations-branch.proftext -o
%t.profdata
+// RUN: %c
https://github.com/ellishg approved this pull request.
https://github.com/llvm/llvm-project/pull/89141
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
ellishg wrote:
Should we add a link to the docs?
https://clang.llvm.org/docs/SanitizerSpecialCaseList.html#format
https://github.com/llvm/llvm-project/pull/89141
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llv
24 matches
Mail list logo