[PATCH] D20604: Codegen: Don't tail-duplicate blocks with un-analyzable fallthrough.

Eric Christopher via llvm-commits llvm-commits at lists.llvm.org
Tue May 24 15:42:45 PDT 2016


echristo accepted this revision.
echristo added a reviewer: echristo.
echristo added a comment.
This revision is now accepted and ready to land.

Couple of random drive by testcase changes, and a comment request, otherwise looks OK to me.

-eric


================
Comment at: lib/CodeGen/TailDuplicator.cpp:596
@@ +595,3 @@
+  // If the block to be duplicated ends in an unanalyzable fallthrough, don't
+  // duplicate it.
+  MachineBasicBlock *PredTBB = nullptr, *PredFBB = nullptr;
----------------
Might want to comment that this matches the other test as well.

================
Comment at: test/CodeGen/PowerPC/tail-dup-analyzable-fallthrough.ll:59
@@ +58,3 @@
+
+attributes #0 = { norecurse nounwind readonly "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pwr8" "target-features"="+altivec,+bpermd,+crypto,+direct-move,+extdiv,+power8-vector,+vsx,-qpx" "unsafe-fp-math"="false" "use-soft-float"="false" }
+
----------------
Can probably limit the flags here. 

================
Comment at: test/CodeGen/PowerPC/tail-dup-analyzable-fallthrough.ll:61-68
@@ +60,9 @@
+
+!1 = !{!2, !2, i64 0}
+!2 = !{!"any pointer", !3, i64 0}
+!3 = !{!"omnipotent char", !4, i64 0}
+!4 = !{!"Simple C/C++ TBAA"}
+!5 = !{!6, !7, i64 8}
+!6 = !{!"HashBucket", !2, i64 0, !7, i64 8, !2, i64 16}
+!7 = !{!"long long", !3, i64 0}
+!8 = !{!6, !2, i64 16}
----------------
Probably don't need the TBAA information?


Repository:
  rL LLVM

http://reviews.llvm.org/D20604





More information about the llvm-commits mailing list