[PATCH] D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 14 14:00:51 PST 2021
MaskRay accepted this revision.
MaskRay added a comment.
LGTM.
================
Comment at: llvm/test/Transforms/LoopStrengthReduce/callbr-critical-edge-splitting.ll:3
+; RUN: opt -passes=loop-reduce %s -o - -S | FileCheck %s
+; RUN: opt -passes='loop(loop-reduce)' %s -o - -S | FileCheck %s
+
----------------
One RUN line `opt -passes='loop(loop-reduce)' %s` is sufficient.
`-passes=loop-reduce` is the same, just getting an implicit loop pass adapter.
The legacy PM test does not add too much value for new tests as we'll soon make a switch.
================
Comment at: llvm/test/Transforms/LoopStrengthReduce/callbr-critical-edge-splitting.ll:15
+; CHECK: callbr void asm sideeffect "", "X,X,~{dirflag},~{fpsr},~{flags}"(i8* blockaddress(@test1, %cond.true.i), i8* blockaddress(@test1, %for.end))
+; CHECK: to label %asm.fallthrough.i.i [label %cond.true.i, label %for.end]
+ callbr void asm sideeffect "", "X,X,~{dirflag},~{fpsr},~{flags}"(i8* blockaddress(@test1, %cond.true.i), i8* blockaddress(@test1, %for.end))
----------------
-NEXT
================
Comment at: llvm/test/Transforms/LoopStrengthReduce/callbr-critical-edge-splitting2.ll:23
+; CHECK: callbr void asm sideeffect "", "X"(i8* blockaddress(@b, %cleanup.cont.critedge))
+; CHECK: to label %return [label %cleanup.cont.critedge]
+ callbr void asm sideeffect "", "X"(i8* blockaddress(@b, %cleanup.cont.critedge))
----------------
-NEXT
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88438/new/
https://reviews.llvm.org/D88438
More information about the llvm-commits
mailing list