memset, // Fill memory with a byte value
// Standard libm functions.
-
// Input/Output intrinsics.
readport,
readio,
writeio,
+ // Support for unordered compare intrinsic
+ isunordered,
+
//===------------------------------------------------------------------===//
// This section defines intrinsic functions used to represent Alpha
// instructions.
(*(CI->op_begin()+1))->getType(), MemsetFCache);
break;
}
+ case Intrinsic::isunordered: {
+ static Function *IsunorderedFCache = 0;
+ ReplaceCallWith("isunordered", CI, CI->op_begin()+1, CI->op_end(),
+ (*(CI->op_begin()+1))->getType(), IsunorderedFCache);
+ break;
+ }
}
assert(CI->use_empty() &&
if (getName() == "llvm.gcread") return Intrinsic::gcread;
if (getName() == "llvm.gcroot") return Intrinsic::gcroot;
break;
+ case 'i':
+ if (getName() == "llvm.isunordered") return Intrinsic::isunordered;
+ break;
case 'l':
if (getName() == "llvm.longjmp") return Intrinsic::longjmp;
break;
(*(CI->op_begin()+1))->getType(), MemsetFCache);
break;
}
+ case Intrinsic::isunordered: {
+ static Function *IsunorderedFCache = 0;
+ ReplaceCallWith("isunordered", CI, CI->op_begin()+1, CI->op_end(),
+ (*(CI->op_begin()+1))->getType(), IsunorderedFCache);
+ break;
+ }
}
assert(CI->use_empty() &&
break;
}
+ case Intrinsic::isunordered: NumArgs = 2; break;
+
case Intrinsic::setjmp: NumArgs = 1; break;
case Intrinsic::longjmp: NumArgs = 2; break;
case Intrinsic::sigsetjmp: NumArgs = 2; break;