mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-15 07:34:33 +00:00
Change TargetLowering::getLoadExtAction to take an MVT, instead of EVT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169840 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
968947766b
commit
ffa03b7981
@ -442,17 +442,17 @@ public:
|
||||
/// either it is legal, needs to be promoted to a larger size, needs to be
|
||||
/// expanded to some other code sequence, or the target has a custom expander
|
||||
/// for it.
|
||||
LegalizeAction getLoadExtAction(unsigned ExtType, EVT VT) const {
|
||||
assert(ExtType < ISD::LAST_LOADEXT_TYPE &&
|
||||
VT.getSimpleVT() < MVT::LAST_VALUETYPE &&
|
||||
LegalizeAction getLoadExtAction(unsigned ExtType, MVT VT) const {
|
||||
assert(ExtType < ISD::LAST_LOADEXT_TYPE && VT < MVT::LAST_VALUETYPE &&
|
||||
"Table isn't big enough!");
|
||||
return (LegalizeAction)LoadExtActions[VT.getSimpleVT().SimpleTy][ExtType];
|
||||
return (LegalizeAction)LoadExtActions[VT.SimpleTy][ExtType];
|
||||
}
|
||||
|
||||
/// isLoadExtLegal - Return true if the specified load with extension is legal
|
||||
/// on this target.
|
||||
bool isLoadExtLegal(unsigned ExtType, EVT VT) const {
|
||||
return VT.isSimple() && getLoadExtAction(ExtType, VT) == Legal;
|
||||
return VT.isSimple() &&
|
||||
getLoadExtAction(ExtType, VT.getSimpleVT()) == Legal;
|
||||
}
|
||||
|
||||
/// getTruncStoreAction - Return how this store with truncation should be
|
||||
|
@ -1037,7 +1037,7 @@ void SelectionDAGLegalize::LegalizeLoadOps(SDNode *Node) {
|
||||
Chain = Ch;
|
||||
} else {
|
||||
bool isCustom = false;
|
||||
switch (TLI.getLoadExtAction(ExtType, SrcVT)) {
|
||||
switch (TLI.getLoadExtAction(ExtType, SrcVT.getSimpleVT())) {
|
||||
default: llvm_unreachable("This action is not supported yet!");
|
||||
case TargetLowering::Custom:
|
||||
isCustom = true;
|
||||
|
@ -1093,7 +1093,7 @@ bool CodeGenPrepare::MoveExtToFormExtLoad(Instruction *I) {
|
||||
assert(isa<SExtInst>(I) && "Unexpected ext type!");
|
||||
LType = ISD::SEXTLOAD;
|
||||
}
|
||||
if (TLI && !TLI->isLoadExtLegal(LType, TLI->getValueType(LI->getType())))
|
||||
if (TLI && !TLI->isLoadExtLegal(LType, TLI->getSimpleValueType(LI->getType())))
|
||||
return false;
|
||||
|
||||
// Move the extend into the same block as the load, so that SelectionDAG
|
||||
|
Loading…
x
Reference in New Issue
Block a user