mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Rather than having special rules like "intrinsics cannot
throw exceptions", just mark intrinsics with the nounwind attribute. Likewise, mark intrinsics as readnone/readonly and get rid of special aliasing logic (which didn't use anything more than this anyway). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44544 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -53,7 +53,18 @@ bool CallSite::paramHasAttr(uint16_t i, ParameterAttributes attr) const {
|
||||
else
|
||||
return cast<InvokeInst>(I)->paramHasAttr(i, attr);
|
||||
}
|
||||
|
||||
bool CallSite::doesNotAccessMemory() const {
|
||||
if (CallInst *CI = dyn_cast<CallInst>(I))
|
||||
return CI->doesNotAccessMemory();
|
||||
else
|
||||
return cast<InvokeInst>(I)->doesNotAccessMemory();
|
||||
}
|
||||
bool CallSite::onlyReadsMemory() const {
|
||||
if (CallInst *CI = dyn_cast<CallInst>(I))
|
||||
return CI->onlyReadsMemory();
|
||||
else
|
||||
return cast<InvokeInst>(I)->onlyReadsMemory();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user