Add 'mark_dependence', which indicates that an address

or pointer depends on another for validity in a
non-obvious way.

Also, document some basic value-propagation rules
based roughly on the optimization rules for ARC.

Swift SVN r23695
This commit is contained in:
John McCall
2014-12-04 22:38:09 +00:00
parent 5df1746336
commit dd07c8ca10
15 changed files with 225 additions and 4 deletions

View File

@@ -1093,6 +1093,10 @@ public:
void visitFixLifetimeInst(FixLifetimeInst *RI) {
OS << "fix_lifetime " << getIDAndType(RI->getOperand());
}
void visitMarkDependenceInst(MarkDependenceInst *MDI) {
OS << "mark_dependence " << getIDAndType(MDI->getValue())
<< " on " << getIDAndType(MDI->getBase());
}
void visitCopyBlockInst(CopyBlockInst *RI) {
OS << "copy_block " << getIDAndType(RI->getOperand());
}