Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Target/RISCV/RISCVISelLowering.h
Show First 20 Lines • Show All 481 Lines • ▼ Show 20 Lines | EmitInstrWithCustomInserter(MachineInstr &MI, | ||||
MachineBasicBlock *BB) const override; | MachineBasicBlock *BB) const override; | ||||
void AdjustInstrPostInstrSelection(MachineInstr &MI, | void AdjustInstrPostInstrSelection(MachineInstr &MI, | ||||
SDNode *Node) const override; | SDNode *Node) const override; | ||||
EVT getSetCCResultType(const DataLayout &DL, LLVMContext &Context, | EVT getSetCCResultType(const DataLayout &DL, LLVMContext &Context, | ||||
EVT VT) const override; | EVT VT) const override; | ||||
bool shouldFormOverflowOp(unsigned Opcode, EVT VT, | |||||
bool MathUsed) const override { | |||||
if (VT == MVT::i8 || VT == MVT::i16) | |||||
craig.topper: What if we did
```
if (VT == MVT::i8 || VT == MVT::i16)
return false;
return TargetLowering… | |||||
return false; | |||||
return TargetLowering::shouldFormOverflowOp(Opcode, VT, MathUsed); | |||||
} | |||||
bool convertSetCCLogicToBitwiseLogic(EVT VT) const override { | bool convertSetCCLogicToBitwiseLogic(EVT VT) const override { | ||||
return VT.isScalarInteger(); | return VT.isScalarInteger(); | ||||
} | } | ||||
bool convertSelectOfConstantsToMath(EVT VT) const override { return true; } | bool convertSelectOfConstantsToMath(EVT VT) const override { return true; } | ||||
bool preferZeroCompareBranch() const override { return true; } | bool preferZeroCompareBranch() const override { return true; } | ||||
bool shouldInsertFencesForAtomic(const Instruction *I) const override { | bool shouldInsertFencesForAtomic(const Instruction *I) const override { | ||||
▲ Show 20 Lines • Show All 330 Lines • Show Last 20 Lines |
What if we did
That would match how you've described this patch.