Guest User

Untitled

a guest
Dec 20th, 2024
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. VPlan 'Final VPlan for VF={8,16},UF={1}' {
  2. Live-in ir<8> = VF * UF
  3. Live-in ir<%n.vec5> = vector-trip-count
  4. Live-in ir<%1> = original trip-count
  5.  
  6. ir-bb<vec.epilog.iter.check>:
  7. IR %vec.epilog.resume.val = phi i64 [ %n.vec, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
  8. IR %bc.merge.rdx = phi i64 [ %7, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
  9. IR %n.vec.remaining = sub i64 %1, %n.vec
  10. IR %min.epilog.iters.check = icmp ult i64 %n.vec.remaining, 8
  11. Successor(s): ir-bb<vec.epilog.scalar.ph>, ir-bb<vec.epilog.ph>
  12.  
  13. ir-bb<vec.epilog.ph>:
  14. IR %vec.epilog.resume.val = phi i64 [ %n.vec, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
  15. IR %bc.merge.rdx = phi i64 [ %7, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
  16. IR %n.mod.vf4 = urem i64 %1, 8
  17. IR %n.vec5 = sub i64 %1, %n.mod.vf4
  18. IR %ind.end = add i64 %idx.neg, %n.vec5
  19. WIDEN-CAST ir<%conv> = sext ir<%0> to i64
  20. Successor(s): vector loop
  21.  
  22. <x1> vector loop: {
  23. vec.epilog.vector.body:
  24. SCALAR-PHI vp<%0> = phi ir<%vec.epilog.resume.val>, vp<%index.next>
  25. WIDEN-REDUCTION-PHI ir<%sum.1129> = phi ir<%bc.merge.rdx>, ir<%add99> (VF scaled by 1/8)
  26. CLONE ir<%9> = load ir<null>
  27. WIDEN-CAST ir<%conv97> = sext ir<%9> to i64
  28. WIDEN ir<%mul> = mul ir<%conv97>, ir<%conv>
  29. PARTIAL-REDUCE ir<%add99> = add ir<%mul>, ir<%sum.1129>
  30. EMIT vp<%index.next> = add nuw vp<%0>, ir<8>
  31. EMIT branch-on-count vp<%index.next>, ir<%n.vec5>
  32. No successors
  33. }
  34. Successor(s): ir-bb<vec.epilog.middle.block>
  35.  
  36. ir-bb<vec.epilog.middle.block>:
  37. EMIT vp<%2> = compute-reduction-result ir<%sum.1129>, ir<%add99>
  38. EMIT vp<%3> = extract-from-end vp<%2>, ir<1>
  39. EMIT vp<%cmp.n> = icmp eq ir<%1>, ir<%n.vec5>
  40. EMIT branch-on-cond vp<%cmp.n>
  41. Successor(s): ir-bb<while.end.loopexit>, ir-bb<vec.epilog.scalar.ph>
  42.  
  43. ir-bb<while.end.loopexit>:
  44. IR %add99.lcssa = phi i64 [ %add99, %while.body ], [ %7, %middle.block ] (extra operand: vp<%3> from ir-bb<vec.epilog.middle.block>)
  45. No successors
  46.  
  47. ir-bb<vec.epilog.scalar.ph>:
  48. EMIT vp<%bc.resume.val> = resume-phi ir<%ind.end>, ir<%idx.neg>
  49. EMIT vp<%bc.resume.val>.1 = resume-phi ir<%n.vec5>.1, ir<0>
  50. EMIT vp<%bc.merge.rdx> = resume-phi vp<%2>, ir<0>
  51. Successor(s): ir-bb<while.body>
  52.  
  53. ir-bb<while.body>:
  54. IR %n1ptr.0.idx131 = phi i64 [ %n1ptr.0.add, %while.body ], [ %idx.neg, %vec.epilog.scalar.ph ] (extra operand: vp<%bc.resume.val> from ir-bb<vec.epilog.scalar.ph>)
  55. IR %n2ptr.0.idx130 = phi i64 [ %n2ptr.0.add, %while.body ], [ 0, %vec.epilog.scalar.ph ] (extra operand: vp<%bc.resume.val>.1 from ir-bb<vec.epilog.scalar.ph>)
  56. IR %sum.1129 = phi i64 [ %add99, %while.body ], [ %bc.merge.rdx, %vec.epilog.scalar.ph ] (extra operand: vp<%bc.merge.rdx> from ir-bb<vec.epilog.scalar.ph>)
  57. IR %n1ptr.0.add = add i64 %n1ptr.0.idx131, 1
  58. IR %conv = sext i8 %0 to i64
  59. IR %n2ptr.0.add = add i64 %n2ptr.0.idx130, 1
  60. IR %9 = load i8, ptr null, align 1
  61. IR %conv97 = sext i8 %9 to i64
  62. IR %mul = mul i64 %conv97, %conv
  63. IR %add99 = add i64 %mul, %sum.1129
  64. IR %cmp94 = icmp ugt i64 %n1ptr.0.idx131, 0
  65. IR %cmp95 = icmp ne i64 %n2ptr.0.idx130, -1
  66. IR %10 = and i1 %cmp94, %cmp95
  67. No successors
  68. }
  69.  
Advertisement
Add Comment
Please, Sign In to add comment