00:46mareko: is this what loop header phis must contain? 1 value from the block preceding the loop, 1 value from every continue statement, 1 value from the end of the loop (implicit continue)
00:46mareko: for loop exit phis, must they just list 1 value from every break statement?
03:10Kayden: mareko: that sounds right to me. it's one value incoming from each control flow edge, but I think you just enumerated them
04:27mareko: that's LCSSA though, right? how is it without LCSSA?
04:32Kayden: without LCSSA, values defined in the loop can be used after the loop, without any phis. as long as they dominate their uses as normal (i.e. you're guaranteed to go through the part of the loop where they're defined at least once)
04:33Kayden: with LCSSA...that's no longer allowed. values defined in the loop can only be used in the loop, or in a loop exit phi
04:33Kayden: essentially giving you a new name for the post-loop value
07:04glehmann: > 1 value from the end of the loop (implicit continue)
07:04glehmann: only if there isn't an explicit break at the end