summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorNirav Dave <niravd@google.com>2018-09-13 20:33:27 +0000
committerNirav Dave <niravd@google.com>2018-09-13 20:33:27 +0000
commit2060a16dfd6b83a12d7388de56b8ba56886950a7 (patch)
tree57bc3db8aba368b82419be2e1c98f579170aa773 /llvm/lib/Target
parent6dc87004fab4b34076e6f0f8505316e40b9ea2fb (diff)
downloadbcm5719-llvm-2060a16dfd6b83a12d7388de56b8ba56886950a7.tar.gz
bcm5719-llvm-2060a16dfd6b83a12d7388de56b8ba56886950a7.zip
[X86] Cleanup pair returns. NFCI.
llvm-svn: 342174
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp46
1 files changed, 14 insertions, 32 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index c7bf14d4de0..47a5abf00dd 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -41156,39 +41156,25 @@ X86TargetLowering::getRegForInlineAsmConstraint(const TargetRegisterInfo *TRI,
Constraint[3] == '(' &&
(Constraint[4] >= '0' && Constraint[4] <= '7') &&
Constraint[5] == ')' &&
- Constraint[6] == '}') {
-
- Res.first = X86::FP0+Constraint[4]-'0';
- Res.second = &X86::RFP80RegClass;
- return Res;
- }
+ Constraint[6] == '}')
+ return std::make_pair(X86::FP0 + Constraint[4] - '0',
+ &X86::RFP80RegClass);
// GCC allows "st(0)" to be called just plain "st".
- if (StringRef("{st}").equals_lower(Constraint)) {
- Res.first = X86::FP0;
- Res.second = &X86::RFP80RegClass;
- return Res;
- }
+ if (StringRef("{st}").equals_lower(Constraint))
+ return std::make_pair(X86::FP0, &X86::RFP80RegClass);
// flags -> EFLAGS
- if (StringRef("{flags}").equals_lower(Constraint)) {
- Res.first = X86::EFLAGS;
- Res.second = &X86::CCRRegClass;
- return Res;
- }
+ if (StringRef("{flags}").equals_lower(Constraint))
+ return std::make_pair(X86::EFLAGS, &X86::CCRRegClass);
// 'A' means [ER]AX + [ER]DX.
if (Constraint == "A") {
- if (Subtarget.is64Bit()) {
- Res.first = X86::RAX;
- Res.second = &X86::GR64_ADRegClass;
- } else {
- assert((Subtarget.is32Bit() || Subtarget.is16Bit()) &&
- "Expecting 64, 32 or 16 bit subtarget");
- Res.first = X86::EAX;
- Res.second = &X86::GR32_ADRegClass;
- }
- return Res;
+ if (Subtarget.is64Bit())
+ return std::make_pair(X86::RAX, &X86::GR64_ADRegClass);
+ assert((Subtarget.is32Bit() || Subtarget.is16Bit()) &&
+ "Expecting 64, 32 or 16 bit subtarget");
+ return std::make_pair(X86::EAX, &X86::GR32_ADRegClass);
}
return Res;
}
@@ -41198,18 +41184,14 @@ X86TargetLowering::getRegForInlineAsmConstraint(const TargetRegisterInfo *TRI,
(isFRClass(*Res.second) || isGRClass(*Res.second)) &&
TRI->getEncodingValue(Res.first) >= 8) {
// Register requires REX prefix, but we're in 32-bit mode.
- Res.first = 0;
- Res.second = nullptr;
- return Res;
+ return std::make_pair(0, nullptr);
}
// Make sure it isn't a register that requires AVX512.
if (!Subtarget.hasAVX512() && isFRClass(*Res.second) &&
TRI->getEncodingValue(Res.first) & 0x10) {
// Register requires EVEX prefix.
- Res.first = 0;
- Res.second = nullptr;
- return Res;
+ return std::make_pair(0, nullptr);
}
// Otherwise, check to see if this is a register class of the wrong value
OpenPOWER on IntegriCloud