[PATCH] D83762: [Attributor][WIP] allow multiple branches in followUsesInMBEC

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jul 18 18:25:28 PDT 2020


jdoerfert added inline comments.


================
Comment at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:662
+  ChangeStatus CS;
+  // TODO: set upper bound of number of iteration as command line option
+  unsigned Iteration = 0;
----------------
Let's include this as part of the patch right away.


================
Comment at: llvm/test/Transforms/Attributor/dereferenceable-1.ll:548
 ;
 ; FIXME: %ptr should be dereferenceable(4)
 define dso_local void @rec-branch-1(i32 %a, i32 %b, i32 %c, i32* %ptr) {
----------------
Remove the fixme ;)


================
Comment at: llvm/test/Transforms/Attributor/misc.ll:35
 ; IS__CGSCC____-NEXT:    [[TMP1:%.*]] = bitcast i32* [[A]] to i8*
-; IS__CGSCC____-NEXT:    call void [[FP]](i8* [[TMP1]])
+; IS__CGSCC____-NEXT:    call void [[FP]](i8* nonnull align 4 dereferenceable(4) [[TMP1]])
 ; IS__CGSCC____-NEXT:    ret void
----------------
We didn't derive this because we "didn't want to". There is some logic to avoid explicitly deriving information for the arguments of calls to declarations. I have to think about this.


================
Comment at: llvm/test/Transforms/Attributor/noalias.ll:701
+; IS__TUNIT_NPM:       if.end3:
+; IS__TUNIT_NPM-NEXT:    ret void
 ;
----------------
I looks like we lost the align on 
```
; IS__TUNIT_NPM-NEXT:    tail call void @make_alias(i32* nofree writeonly [[P]])
```
That is odd.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D83762/new/

https://reviews.llvm.org/D83762





More information about the llvm-commits mailing list