[Lanai] Fix MC CodeGen layering, NFC
See issue #64166 for more information about the layering issue.
This commit is contained in:
parent
cda23c0732
commit
9f72e3f70f
@ -14,7 +14,6 @@
|
||||
#define LLVM_LIB_TARGET_LANAI_LANAIALUCODE_H
|
||||
|
||||
#include "llvm/ADT/StringSwitch.h"
|
||||
#include "llvm/CodeGen/ISDOpcodes.h"
|
||||
#include "llvm/Support/ErrorHandling.h"
|
||||
|
||||
namespace llvm {
|
||||
@ -114,33 +113,6 @@ inline static AluCode stringToLanaiAluCode(StringRef S) {
|
||||
.Case("sha", SRA)
|
||||
.Default(UNKNOWN);
|
||||
}
|
||||
|
||||
inline static AluCode isdToLanaiAluCode(ISD::NodeType Node_type) {
|
||||
switch (Node_type) {
|
||||
case ISD::ADD:
|
||||
return AluCode::ADD;
|
||||
case ISD::ADDE:
|
||||
return AluCode::ADDC;
|
||||
case ISD::SUB:
|
||||
return AluCode::SUB;
|
||||
case ISD::SUBE:
|
||||
return AluCode::SUBB;
|
||||
case ISD::AND:
|
||||
return AluCode::AND;
|
||||
case ISD::OR:
|
||||
return AluCode::OR;
|
||||
case ISD::XOR:
|
||||
return AluCode::XOR;
|
||||
case ISD::SHL:
|
||||
return AluCode::SHL;
|
||||
case ISD::SRL:
|
||||
return AluCode::SRL;
|
||||
case ISD::SRA:
|
||||
return AluCode::SRA;
|
||||
default:
|
||||
return AluCode::UNKNOWN;
|
||||
}
|
||||
}
|
||||
} // namespace LPAC
|
||||
} // namespace llvm
|
||||
|
||||
|
||||
@ -212,6 +212,37 @@ bool LanaiDAGToDAGISel::selectAddrSpls(SDValue Addr, SDValue &Base,
|
||||
return selectAddrRiSpls(Addr, Base, Offset, AluOp, /*RiMode=*/false);
|
||||
}
|
||||
|
||||
namespace llvm {
|
||||
namespace LPAC {
|
||||
static AluCode isdToLanaiAluCode(ISD::NodeType Node_type) {
|
||||
switch (Node_type) {
|
||||
case ISD::ADD:
|
||||
return AluCode::ADD;
|
||||
case ISD::ADDE:
|
||||
return AluCode::ADDC;
|
||||
case ISD::SUB:
|
||||
return AluCode::SUB;
|
||||
case ISD::SUBE:
|
||||
return AluCode::SUBB;
|
||||
case ISD::AND:
|
||||
return AluCode::AND;
|
||||
case ISD::OR:
|
||||
return AluCode::OR;
|
||||
case ISD::XOR:
|
||||
return AluCode::XOR;
|
||||
case ISD::SHL:
|
||||
return AluCode::SHL;
|
||||
case ISD::SRL:
|
||||
return AluCode::SRL;
|
||||
case ISD::SRA:
|
||||
return AluCode::SRA;
|
||||
default:
|
||||
return AluCode::UNKNOWN;
|
||||
}
|
||||
}
|
||||
} // namespace LPAC
|
||||
} // namespace llvm
|
||||
|
||||
bool LanaiDAGToDAGISel::selectAddrRr(SDValue Addr, SDValue &R1, SDValue &R2,
|
||||
SDValue &AluOp) {
|
||||
// if Address is FI, get the TargetFrameIndex.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user