forked from OSchip/llvm-project
Remove shift amount flavor. It isn't actually complete enough to
be useful, and it's currently unused. (Some issues: it isn't actually rich enough to capture the semantics on many architectures, and semantics can vary depending on the type being shifted.) llvm-svn: 76633
This commit is contained in:
parent
08e41d65a2
commit
da9eda8ef6
|
@ -87,12 +87,6 @@ public:
|
|||
Custom // Use the LowerOperation hook to implement custom lowering.
|
||||
};
|
||||
|
||||
enum OutOfRangeShiftAmount {
|
||||
Undefined, // Oversized shift amounts are undefined (default).
|
||||
Mask, // Shift amounts are auto masked (anded) to value size.
|
||||
Extend // Oversized shift pulls in zeros or sign bits.
|
||||
};
|
||||
|
||||
enum BooleanContent { // How the target represents true/false values.
|
||||
UndefinedBooleanContent, // Only bit 0 counts, the rest can hold garbage.
|
||||
ZeroOrOneBooleanContent, // All bits zero except for bit 0.
|
||||
|
@ -114,7 +108,6 @@ public:
|
|||
bool isLittleEndian() const { return IsLittleEndian; }
|
||||
MVT getPointerTy() const { return PointerTy; }
|
||||
MVT getShiftAmountTy() const { return ShiftAmountTy; }
|
||||
OutOfRangeShiftAmount getShiftAmountFlavor() const {return ShiftAmtHandling; }
|
||||
|
||||
/// usesGlobalOffsetTable - Return true if this target uses a GOT for PIC
|
||||
/// codegen.
|
||||
|
@ -878,12 +871,6 @@ protected:
|
|||
SchedPreferenceInfo = Pref;
|
||||
}
|
||||
|
||||
/// setShiftAmountFlavor - Describe how the target handles out of range shift
|
||||
/// amounts.
|
||||
void setShiftAmountFlavor(OutOfRangeShiftAmount OORSA) {
|
||||
ShiftAmtHandling = OORSA;
|
||||
}
|
||||
|
||||
/// setUseUnderscoreSetJmp - Indicate whether this target prefers to
|
||||
/// use _setjmp to implement llvm.setjmp or the non _ version.
|
||||
/// Defaults to false.
|
||||
|
@ -1525,8 +1512,6 @@ private:
|
|||
/// PointerTy is.
|
||||
MVT ShiftAmountTy;
|
||||
|
||||
OutOfRangeShiftAmount ShiftAmtHandling;
|
||||
|
||||
/// BooleanContents - Information about the contents of the high-bits in
|
||||
/// boolean values held in a type wider than i1. See getBooleanContents.
|
||||
BooleanContent BooleanContents;
|
||||
|
|
|
@ -492,7 +492,6 @@ TargetLowering::TargetLowering(TargetMachine &tm)
|
|||
IsLittleEndian = TD->isLittleEndian();
|
||||
UsesGlobalOffsetTable = false;
|
||||
ShiftAmountTy = PointerTy = getValueType(TD->getIntPtrType());
|
||||
ShiftAmtHandling = Undefined;
|
||||
memset(RegClassForVT, 0,MVT::LAST_VALUETYPE*sizeof(TargetRegisterClass*));
|
||||
memset(TargetDAGCombineArray, 0, array_lengthof(TargetDAGCombineArray));
|
||||
maxStoresPerMemset = maxStoresPerMemcpy = maxStoresPerMemmove = 8;
|
||||
|
|
|
@ -130,7 +130,6 @@ PIC16TargetLowering::PIC16TargetLowering(PIC16TargetMachine &TM)
|
|||
addRegisterClass(MVT::i8, PIC16::GPRRegisterClass);
|
||||
|
||||
setShiftAmountType(MVT::i8);
|
||||
setShiftAmountFlavor(Extend);
|
||||
|
||||
// SRA library call names
|
||||
setPIC16LibcallName(PIC16ISD::SRA_I8, getIntrinsicName(PIC16ISD::SRA_I8));
|
||||
|
|
|
@ -66,7 +66,6 @@ X86TargetLowering::X86TargetLowering(X86TargetMachine &TM)
|
|||
setShiftAmountType(MVT::i8);
|
||||
setBooleanContents(ZeroOrOneBooleanContent);
|
||||
setSchedulingPreference(SchedulingForRegPressure);
|
||||
setShiftAmountFlavor(Mask); // shl X, 32 == shl X, 0
|
||||
setStackPointerRegisterToSaveRestore(X86StackPtr);
|
||||
|
||||
if (Subtarget->isTargetDarwin()) {
|
||||
|
|
|
@ -68,8 +68,6 @@ XCoreTargetLowering::XCoreTargetLowering(XCoreTargetMachine &XTM)
|
|||
setIntDivIsCheap(false);
|
||||
|
||||
setShiftAmountType(MVT::i32);
|
||||
// shl X, 32 == 0
|
||||
setShiftAmountFlavor(Extend);
|
||||
setStackPointerRegisterToSaveRestore(XCore::SP);
|
||||
|
||||
setSchedulingPreference(SchedulingForRegPressure);
|
||||
|
|
Loading…
Reference in New Issue