@@ -771,6 +771,40 @@ define i1 @captureICmpRev(ptr %x) {
771
771
ret i1 %1
772
772
}
773
773
774
+ define i1 @captureICmpWrongPred (ptr %x ) {
775
+ ; FNATTRS: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none)
776
+ ; FNATTRS-LABEL: define i1 @captureICmpWrongPred
777
+ ; FNATTRS-SAME: (ptr readnone [[X:%.*]]) #[[ATTR0]] {
778
+ ; FNATTRS-NEXT: [[TMP1:%.*]] = icmp slt ptr [[X]], null
779
+ ; FNATTRS-NEXT: ret i1 [[TMP1]]
780
+ ;
781
+ ; ATTRIBUTOR: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none)
782
+ ; ATTRIBUTOR-LABEL: define i1 @captureICmpWrongPred
783
+ ; ATTRIBUTOR-SAME: (ptr nofree readnone [[X:%.*]]) #[[ATTR0]] {
784
+ ; ATTRIBUTOR-NEXT: [[TMP1:%.*]] = icmp slt ptr [[X]], null
785
+ ; ATTRIBUTOR-NEXT: ret i1 [[TMP1]]
786
+ ;
787
+ %1 = icmp slt ptr %x , null
788
+ ret i1 %1
789
+ }
790
+
791
+ define i1 @captureICmpWrongPredDereferenceableOrNull (ptr dereferenceable_or_null (1 ) %x ) {
792
+ ; FNATTRS: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none)
793
+ ; FNATTRS-LABEL: define noundef i1 @captureICmpWrongPredDereferenceableOrNull
794
+ ; FNATTRS-SAME: (ptr readnone captures(none) dereferenceable_or_null(1) [[X:%.*]]) #[[ATTR0]] {
795
+ ; FNATTRS-NEXT: [[TMP1:%.*]] = icmp slt ptr [[X]], null
796
+ ; FNATTRS-NEXT: ret i1 [[TMP1]]
797
+ ;
798
+ ; ATTRIBUTOR: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none)
799
+ ; ATTRIBUTOR-LABEL: define i1 @captureICmpWrongPredDereferenceableOrNull
800
+ ; ATTRIBUTOR-SAME: (ptr nofree readnone dereferenceable_or_null(1) [[X:%.*]]) #[[ATTR0]] {
801
+ ; ATTRIBUTOR-NEXT: [[TMP1:%.*]] = icmp slt ptr [[X]], null
802
+ ; ATTRIBUTOR-NEXT: ret i1 [[TMP1]]
803
+ ;
804
+ %1 = icmp slt ptr %x , null
805
+ ret i1 %1
806
+ }
807
+
774
808
define i1 @nocaptureInboundsGEPICmp (ptr %x ) {
775
809
; FNATTRS: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none)
776
810
; FNATTRS-LABEL: define i1 @nocaptureInboundsGEPICmp
0 commit comments