[llvm-commits] Edge dominance in the presence of multiple edges between two BB
Jakob Stoklund Olesen
stoklund at 2pi.dk
Fri Aug 10 09:10:54 PDT 2012
On Aug 9, 2012, at 9:20 PM, Rafael EspĂndola <rafael.espindola at gmail.com> wrote:
> Working on bug 13307 I found a very interesting corner case:
>
> define void @f5(i32 %x) {
> bb0:
> %y1 = invoke i32 @g() to label %bb1 unwind label %bb1
> bb1:
> %y2 = phi i32 [%y1, %bb0], [%y1, %bb0]
> %y3 = landingpad i32 personality i32 ()* @g
> cleanup
> ret void
> }
>
> My understanding is that it is invalid, as %y1 is used in the unwind
> edge of the invoke.
It is also invalid because there is a non-unwind edge to a landing pad.
/jakob
More information about the llvm-commits
mailing list