// This is the root return-value convention for the X86-64 backend.
def RetCC_X86_64 : CallingConv<[
// Mingw64 and native Win64 use Win64 CC
- CCIfSubtarget<"isTargetMingw()", CCDelegateTo<RetCC_X86_Win64_C>>,
- CCIfSubtarget<"isTargetWindows()", CCDelegateTo<RetCC_X86_Win64_C>>,
+ CCIfSubtarget<"isTargetWin64()", CCDelegateTo<RetCC_X86_Win64_C>>,
// Otherwise, drop to normal X86-64 CC
CCDelegateTo<RetCC_X86_64_C>
unsigned CC = cast<ConstantSDNode>(Op.getOperand(1))->getValue();
if (Subtarget->is64Bit()) {
- if (Subtarget->isTargetWindows() || Subtarget->isTargetMingw())
+ if (Subtarget->isTargetWin64())
return CC_X86_Win64_C;
else {
if (CC == CallingConv::Fast && PerformTailCallOpt)
bool isTargetCygMing() const { return (TargetType == isMingw ||
TargetType == isCygwin); }
bool isTargetCygwin() const { return TargetType == isCygwin; }
+ bool isTargetWin64() const {
+ return (Is64Bit && (TargetType == isMingw || TargetType == isWindows));
+ }
std::string getDataLayout() const {
const char *p;