IAS enters predicate relations into a database that is used to identify false reports. IAS deletes predicate relations from this database in the following situations:
write to predicate register
Predicate relations are deleted from the
database when one of the following instructions
writes to the predicate related to these relations:
- compare instruction
- move to pr instruction if the mask designates the predicate
- move to pr-rot instruction (write to the rotating predicates
only). If bit i in the mask
is zero, delete all the imply relations where Pi
is the target of the implies. If bit i
in the
mask is one, delete all the imply relations where Pi
is the source of the implies, and all
the mutex relations related to Pi.
- modulo-scheduling loop branch instructions
such as br.ctop, br.cloop, br.wtop,
and br.wtop
write to all the rotating predicates
user annotation
In the following example, the user annotation pred.rel deletes predicate relations. All predicate relations regarding predicates p1, p2, and p3 are deleted from the database.
.pred.rel "clear", p1, p2, p3