mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
Do away with addLegalFPImmediate. Add a target hook isFPImmLegal which returns true if the fp immediate can be natively codegened by target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85281 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -325,12 +325,11 @@ public:
|
||||
/// scalarizing vs using the wider vector type.
|
||||
virtual EVT getWidenVectorType(EVT VT) const;
|
||||
|
||||
typedef std::vector<APFloat>::const_iterator legal_fpimm_iterator;
|
||||
legal_fpimm_iterator legal_fpimm_begin() const {
|
||||
return LegalFPImmediates.begin();
|
||||
}
|
||||
legal_fpimm_iterator legal_fpimm_end() const {
|
||||
return LegalFPImmediates.end();
|
||||
/// isFPImmLegal - Returns true if the target can instruction select the
|
||||
/// specified FP immediate natively. If false, the legalizer will materialize
|
||||
/// the FP immediate as a load from a constant pool.
|
||||
virtual bool isFPImmLegal(const APFloat &Imm) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
/// isShuffleMaskLegal - Targets can use this to indicate that they only
|
||||
@@ -1051,12 +1050,6 @@ protected:
|
||||
PromoteToType[std::make_pair(Opc, OrigVT.SimpleTy)] = DestVT.SimpleTy;
|
||||
}
|
||||
|
||||
/// addLegalFPImmediate - Indicate that this target can instruction select
|
||||
/// the specified FP immediate natively.
|
||||
void addLegalFPImmediate(const APFloat& Imm) {
|
||||
LegalFPImmediates.push_back(Imm);
|
||||
}
|
||||
|
||||
/// setTargetDAGCombine - Targets should invoke this method for each target
|
||||
/// independent node that they want to provide a custom DAG combiner for by
|
||||
/// implementing the PerformDAGCombine virtual method.
|
||||
@@ -1696,8 +1689,6 @@ private:
|
||||
|
||||
ValueTypeActionImpl ValueTypeActions;
|
||||
|
||||
std::vector<APFloat> LegalFPImmediates;
|
||||
|
||||
std::vector<std::pair<EVT, TargetRegisterClass*> > AvailableRegClasses;
|
||||
|
||||
/// TargetDAGCombineArray - Targets can specify ISD nodes that they would
|
||||
|
Reference in New Issue
Block a user