PM followId tries to follow predicate results past guards
Bugzilla Link | 728 |
Created on | Jun 22, 2010 18:34 |
Resolution | FIXED |
Resolved on | Jun 22, 2010 20:03 |
Version | svn |
OS | Linux |
Architecture | PC |
Attachments | SCCFprf_reshape.sac |
Extended Description
Created an attachment (id=737) source code to reproduce fault This code fault is similar in spirit to Bug #727: In SCCFprf_reshape.sac, we eventually find this IL: _uprf_116, _uprf_117 = _val_lt_val_SxS_( _uprf_113, _uprf_115); _uprf_118 = _and_SxS_( _uprf_111, _uprf_117); CF (MatchConstantZero) comes along and tries to trace, via PM, _uprf_117 back to a constant, merrily skipping any guards it meets along the way. Unfortunately, PM should only skip a guard if the variable it is tracing is one of the primary results of the primitive, and should never attempt to trace the resulting predicates, which this is. I'll get on it right away.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information