Commit Graph

5 Commits

Author SHA1 Message Date
Erik Eckstein
0c5a97ebc5 SimplifyCFG: fix condition equivalence checking in checked-cast jump threading.
It was wrong in case two checked_cast_br have select_enum (with identical enum operands) as conditions.



Swift SVN r27356
2015-04-16 11:37:39 +00:00
Roman Levenstein
b0963b443f [sil-simplify-cfg] Fix a bug in checked_cast_br jump-threading.
If current checked_cast_br is reachable via success, failure and unknown at the same time, then we simply don't know the outcome of the dominating check.
No jump-threading should be performed in this case.

I'll commit the test-case tomorrow. The test-case from the radar depends too much on the stdlib internals. We need something smaller and simpler.

rdar://20389307

Swift SVN r26841
2015-04-02 00:49:35 +00:00
Roman Levenstein
0e47a228e1 [sil-simplify-cfg] Fix a stupid copy/paste bug introduced during recent re-factoring. NFC.
This fix is done as part of the rdar://20389307.

Swift SVN r26840
2015-04-02 00:49:33 +00:00
Roman Levenstein
71b0e7b4a6 [sil-simplify-cfg] Fix a bug in CheckedCastBrJumpThreading.
Be more careful when replacing targets of terminators. This finally implements a long-due FIXME in CheckedCastBrJumpThreading.

rdar://20345557.

Swift SVN r26725
2015-03-30 21:10:38 +00:00
Roman Levenstein
9b0cb402fc [sil-simplify-cfg] Move the implementation of CheckedCastBrJumpThreading into its own file. NFC.
This is a part of our attempts to clean-up the SimplifyCFG, which got just too huge to work with.

Swift SVN r26660
2015-03-28 00:42:08 +00:00