Jump threading pass bug

If I use the jump threading pass on the attached IR:

$ opt before.ll -jump-threading -o - | llvm-dis -o after.ll

a big chunk gets removed, a chunk that is actually necessary. ('before.ll' passes the test in webkit, while 'after.ll' fails)

Can someone take a look ?

-Argiris

before.ll (6.89 KB)

If I use the jump threading pass on the attached IR:

$ opt before.ll -jump-threading -o - | llvm-dis -o after.ll

a big chunk gets removed, a chunk that is actually necessary. ('before.ll' passes the test in webkit, while 'after.ll' fails)

Can someone take a look ?

This is fixed in TOT, probably by 112843.

before.ll (6.89 KB)

Yes, it is fixed indeed, thanks!

-Argiris