[PATCH] [LSR] Generate and use zero extends

Andrew Trick atrick at apple.com
Mon Apr 27 11:14:41 PDT 2015


This looks reasonable. Thanks!

Does your test fail on trunk? This is what the test outputs for me:

ok_161:                                           ; preds = %ok_158

  %lsr.iv.next = add nuw nsw i64 %lsr.iv, 1
  %4 = add i64 %0, %lsr.iv.next
  %tmp1 = trunc i64 %4 to i32
  %tmp188 = icmp slt i32 %tmp1, %tmp160
  br i1 %tmp188, label %ok_146, label %block_81

Would you be able to test both post-inc and pre-inc variants? We've a lot of bugs because of TransformForPostIncUse.


================
Comment at: lib/Transforms/Scalar/LoopStrengthReduce.cpp:3685
@@ -3669,1 +3684,3 @@
 
+/// GenerateZExts - Generate reuse formulae from different IV types.
+void LSRInstance::GenerateZExts(LSRUse &LU, unsigned LUIdx, Formula Base) {
----------------
Please comment this at least as well as your commit comment if not better.

http://reviews.llvm.org/D9181

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list