mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[SIL] Add attributes to swift builtins, specifically, the readnone attribute.
Use the attribute when deciding if a call to a builtin can be eliminated as dead. Swift SVN r7391
This commit is contained in:
@@ -15,6 +15,14 @@
|
||||
using namespace swift;
|
||||
|
||||
static bool isSideEffectFree(BuiltinFunctionRefInst *FR) {
|
||||
|
||||
// First, check if we are dealing with a swift builtin.
|
||||
const BuiltinInfo &Info = FR->getBuiltinInfo();
|
||||
if (Info.ID != BuiltinValueKind::None) {
|
||||
return Info.isReadNone();
|
||||
}
|
||||
|
||||
// Second, specialcase llvm intrinsic.
|
||||
// FIXME: This list might not be complete. Would be good to derive this
|
||||
// info from llvm.
|
||||
switch (FR->getIntrinsicInfo().ID) {
|
||||
|
||||
Reference in New Issue
Block a user