Intrinsics don't touch internal global variables

(unless passed one via a parameter), even if they
are IntrWriteMem.

llvm-svn: 56115
This commit is contained in:
Duncan Sands 2008-09-11 19:35:55 +00:00
parent 08fedcbcbb
commit d4133ac315
1 changed files with 4 additions and 2 deletions

View File

@ -392,8 +392,10 @@ void GlobalsModRef::AnalyzeCallGraph(CallGraph &CG, Module &M) {
FR.GlobalInfo[*GI] |= Ref;
}
} else {
// Can't say anything useful.
KnowNothing = true;
FunctionEffect |= ModRef;
// Can't say anything useful unless it's an intrinsic - they don't
// read or write global variables of the kind considered here.
KnowNothing = !F->isIntrinsic();
}
continue;
}