[llvm] [CodeLayout] Fix X1_Y_X2 and Y_X2_X1 testing for jumps from Y (PR #66592)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 17 01:09:27 PDT 2023
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-transforms
<details>
<summary>Changes</summary>
The CHECK2 test in code_placement_ext_tsp_large.ll now has the same result as
the CHECK test. Ideally we should have test coverage for
-ext-tsp-chain-split-threshold=1, but it seems challenging to craft one.
Perhaps the default value of -ext-tsp-chain-split-threshold can be decreased
as the -ext-tsp-enable-chain-split-along-jumps heuristic is now more powerful.
---
Full diff: https://github.com/llvm/llvm-project/pull/66592.diff
2 Files Affected:
- (modified) llvm/lib/Transforms/Utils/CodeLayout.cpp (+1-1)
- (modified) llvm/test/CodeGen/X86/code_placement_ext_tsp_large.ll (+3-4)
``````````diff
diff --git a/llvm/lib/Transforms/Utils/CodeLayout.cpp b/llvm/lib/Transforms/Utils/CodeLayout.cpp
index c8c0823daaa6bd9..f020637ee186d38 100644
--- a/llvm/lib/Transforms/Utils/CodeLayout.cpp
+++ b/llvm/lib/Transforms/Utils/CodeLayout.cpp
@@ -850,7 +850,7 @@ class ExtTSPImpl {
// Attach (a part of) ChainPred after the last node of ChainSucc.
for (JumpT *Jump : ChainSucc->Nodes.back()->OutJumps) {
- const NodeT *DstBlock = Jump->Source;
+ const NodeT *DstBlock = Jump->Target;
if (DstBlock->CurChain != ChainPred)
continue;
size_t Offset = DstBlock->CurIndex;
diff --git a/llvm/test/CodeGen/X86/code_placement_ext_tsp_large.ll b/llvm/test/CodeGen/X86/code_placement_ext_tsp_large.ll
index 314df786b3e80b9..cee8489e9aaea0c 100644
--- a/llvm/test/CodeGen/X86/code_placement_ext_tsp_large.ll
+++ b/llvm/test/CodeGen/X86/code_placement_ext_tsp_large.ll
@@ -81,19 +81,18 @@ define void @func_large() !prof !0 {
; CHECK: b7
; CHECK: b9
;
-; An expected output with chain-split-threshold=1 (disabling splitting) -- the
-; increase of the layout score is smaller, ~7%:
+; An expected output with chain-split-threshold=1 (disabling split point enumeration)
;
; CHECK2-LABEL: Applying ext-tsp layout
; CHECK2: original layout score: 9171074274.27
-; CHECK2: optimized layout score: 9810644873.57
+; CHECK2: optimized layout score: 10844307310.87
; CHECK2: b0
; CHECK2: b2
; CHECK2: b3
; CHECK2: b4
; CHECK2: b5
-; CHECK2: b1
; CHECK2: b8
+; CHECK2: b1
; CHECK2: b6
; CHECK2: b7
; CHECK2: b9
``````````
</details>
https://github.com/llvm/llvm-project/pull/66592
More information about the llvm-commits
mailing list