summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>2015-10-07 18:14:24 +0000
committerVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>2015-10-07 18:14:24 +0000
commitdaad571ba479008236227d0635e0400d3b62b1fa (patch)
tree23735b30b52eef5eb0347cb0fd84d292bf5ed179
parent7c6ac2b8f9bb63dbbc0c6a54e771e6c9444e13ac (diff)
downloadbcm5719-llvm-daad571ba479008236227d0635e0400d3b62b1fa.tar.gz
bcm5719-llvm-daad571ba479008236227d0635e0400d3b62b1fa.zip
[mips][FastISel] Simple refactoring of MipsFastISel::emitLogicalOP(). NFC.
llvm-svn: 249580
-rw-r--r--llvm/lib/Target/Mips/MipsFastISel.cpp30
1 files changed, 17 insertions, 13 deletions
diff --git a/llvm/lib/Target/Mips/MipsFastISel.cpp b/llvm/lib/Target/Mips/MipsFastISel.cpp
index 7fdfeefb31f..da7b1735985 100644
--- a/llvm/lib/Target/Mips/MipsFastISel.cpp
+++ b/llvm/lib/Target/Mips/MipsFastISel.cpp
@@ -236,32 +236,36 @@ unsigned MipsFastISel::emitLogicalOp(unsigned ISDOpc, MVT RetVT,
std::swap(LHS, RHS);
unsigned Opc;
- if (ISDOpc == ISD::AND) {
- Opc = Mips::AND;
- } else if (ISDOpc == ISD::OR) {
- Opc = Mips::OR;
- } else if (ISDOpc == ISD::XOR) {
- Opc = Mips::XOR;
- } else
+ switch (ISDOpc) {
+ case ISD::AND:
+ Opc = Mips::AND;
+ break;
+ case ISD::OR:
+ Opc = Mips::OR;
+ break;
+ case ISD::XOR:
+ Opc = Mips::XOR;
+ break;
+ default:
llvm_unreachable("unexpected opcode");
+ }
unsigned LHSReg = getRegForValue(LHS);
- unsigned ResultReg = createResultReg(&Mips::GPR32RegClass);
- if (!ResultReg)
- return 0;
-
- unsigned RHSReg;
if (!LHSReg)
return 0;
+ unsigned RHSReg;
if (const auto *C = dyn_cast<ConstantInt>(RHS))
RHSReg = materializeInt(C, MVT::i32);
else
RHSReg = getRegForValue(RHS);
-
if (!RHSReg)
return 0;
+ unsigned ResultReg = createResultReg(&Mips::GPR32RegClass);
+ if (!ResultReg)
+ return 0;
+
emitInst(Opc, ResultReg).addReg(LHSReg).addReg(RHSReg);
return ResultReg;
}
OpenPOWER on IntegriCloud