2008-06-13-ReadOnlyCallStore.ll 422 B

12345678910111213141516171819
  1. ; RUN: opt < %s -instcombine -S | grep "store i8" | count 2
  2. define i32 @a(i8* %s) nounwind {
  3. entry:
  4. store i8 0, i8* %s, align 1 ; This store cannot be eliminated!
  5. %tmp3 = call i32 @strlen( i8* %s ) nounwind readonly
  6. %tmp5 = icmp ne i32 %tmp3, 0
  7. br i1 %tmp5, label %bb, label %bb8
  8. bb: ; preds = %entry
  9. store i8 0, i8* %s, align 1
  10. br label %bb8
  11. bb8:
  12. ret i32 %tmp3
  13. }
  14. declare i32 @strlen(i8*) nounwind readonly