[PATCH] D40729: [CallSiteSplitting] Remove isOrHeader restriction.

Jun Bum Lim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 20 10:53:58 PST 2017


junbuml added a comment.

> I've run the LNT test suite, SPEC2006 and SPEC2000. There were no noticeable changes in code size (all changes < 0.5% on AArch64)

Thanks Florian for the update.  Can you please also share if you see any + or - in performance? I will run performance tests in my side as well.  It seems that the comment in the top of CallSiteSplitting.cpp should be updated accordingly.



================
Comment at: test/Transforms/CallSiteSplitting/callsite-no-or-structure.ll:136
+}
+
+define i32 @callee(i32* %a, i32 %v, i32 %p) {
----------------
It will be good to add a test case where Tail form a loop like :

```
define i32 @test_loop(i32* %a, i32 %v, i32 %p) {
TBB:
  %cmp = icmp eq i32* %a, null
  br i1 %cmp, label %Tail, label %End

Tail:
  %r = call i32 @callee(i32* %a, i32 %v, i32 %p)
  br i1 undef, label %Tail, label %End

End:
  ret i32 %v
}
```


https://reviews.llvm.org/D40729





More information about the llvm-commits mailing list