tree fb9e5ee1f66167b3339d484c6d0ddb10a528c881
parent 5a112dedff3be9485940dfe5b14b574b08a0d9a1
author Julian Nagele <j.nagele@apple.com> 1760976948 +0100
committer GitHub <noreply@github.com> 1760976948 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJo9mA0CRC1aQ7uu5UhlAAAfpcQAKgwXKUI5terHJ2hWiQkUtYt
 rSub8ieht+iBAr3qvsgCpvRYOhbUE3eEAHpCjJyJmYtFAdYt5PfqFhHatHoUf8wk
 Reldgnfsc0PRWNFf1nrbhF7XTzgsSgVOSfBBATX2yM/G4Ie2n0yw66mpSGvL/5SE
 G7AR7OpbABlRFXrmLgmcVGI88EkQFMninsVR6aXNaTMNU7ocaU87aGjB6AHW+sas
 pmluapDxWTCaiuhHs0BqLj9pGAI6zX6BvEddqC1FNDjwVWKCxsnl1VH9+cc9fZER
 uRNbJq6KrpWphgvnrddC93kkOgzTeuWSaKmN6s43KEQtUyfbMIycwqe1szWdgLVE
 /yaEd6lA7xcUNc0WLKXQZUaUoe/bPeEhC0SnoKHhGhI7WQeT43+FmPyzpcKG+nEu
 T9jGGyVNFs0wcgH50zm2/qfeaXWzRywCtdZqNGQAoSqNILkXstLLmiRD7+rb4+95
 faNaOni0zImyjO5b2t91vBIvibBFTq/WgtpN10OS3pbuaqRnN9UDsIYaXfaSbXPf
 uIq/mPenEp1SHgalAuPYj9X4XJL47OBs/64d+QDLrcEiuJ2ZUafAlI8SlpGZojb5
 /1OJ4aJNW2gyKpE0f8uLDjhjzHo5fNiXokG3S+BA5KRD280Ycffg+mBORwL7DgG2
 huimde+xvm62N+CL/9DL
 =bu2i
 -----END PGP SIGNATURE-----
 

[X86] Update test to not iterate past array boundaries. (#163991)

This test has loop iterating past (`61`) the array boundaries (`58`). So
far this didn't seem to matter, but recently with this change
https://github.com/llvm/llvm-project/pull/155253 the constraint
elimination in swift has been able to figure this out and is
transforming the loop into an infinite one like this
```
*** IR Dump After ConstraintEliminationPass on test_known_trip_count ***
define void @test_known_trip_count() local_unnamed_addr {
entry:
  br label %for.body

for.body:                                         ; preds = %entry, %for.body
  %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
  %arrayidx = getelementptr inbounds nuw double, ptr @b, i64 %indvars.iv
  %0 = load double, ptr %arrayidx, align 8
  %arrayidx2 = getelementptr inbounds nuw double, ptr @c, i64 %indvars.iv
  %1 = load double, ptr %arrayidx2, align 8
  %add = fadd double %0, %1
  %arrayidx4 = getelementptr inbounds nuw double, ptr @a, i64 %indvars.iv
  store double %add, ptr %arrayidx4, align 8
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  br i1 false, label %exit, label %for.body

exit:                                             ; preds = %for.body
  ret void
}%
```
causing the test to fail. This is trying to address the root cause here.