- Remove isSetCCExpensive() etc. These are no longer used.

- Add isSelectExpensive() etc. It's used to tell codegen that select is expensive for a given target, avoid using it if possible. Currently it's only
used to expand FCOPYSIGN.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32939 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng 2007-01-05 23:31:08 +00:00
parent cde53d3c1e
commit 257464a072

View File

@ -89,9 +89,9 @@ public:
/// codegen.
bool usesGlobalOffsetTable() const { return UsesGlobalOffsetTable; }
/// isSetCCExpensive - Return true if the setcc operation is expensive for
/// isSelectExpensive - Return true if the select operation is expensive for
/// this target.
bool isSetCCExpensive() const { return SetCCIsExpensive; }
bool isSelectExpensive() const { return SelectIsExpensive; }
/// isIntDivCheap() - Return true if integer divide is usually cheaper than
/// a sequence of several shifts, adds, and multiplies for this target.
@ -608,10 +608,9 @@ protected:
StackPointerRegisterToSaveRestore = R;
}
/// setSetCCIxExpensive - This is a short term hack for targets that codegen
/// setcc as a conditional branch. This encourages the code generator to fold
/// setcc operations into other operations if possible.
void setSetCCIsExpensive() { SetCCIsExpensive = true; }
/// SelectIsExpensive - Tells the code generator not to expand operations
/// into sequences that use the select operations if possible.
void setSelectIsExpensive() { SelectIsExpensive = true; }
/// setIntDivIsCheap - Tells the code generator that integer divide is
/// expensive, and if possible, should be replaced by an alternate sequence
@ -890,10 +889,9 @@ private:
OutOfRangeShiftAmount ShiftAmtHandling;
/// SetCCIsExpensive - This is a short term hack for targets that codegen
/// setcc as a conditional branch. This encourages the code generator to fold
/// setcc operations into other operations if possible.
bool SetCCIsExpensive;
/// SelectIsExpensive - Tells the code generator not to expand operations
/// into sequences that use the select operations if possible.
bool SelectIsExpensive;
/// IntDivIsCheap - Tells the code generator not to expand integer divides by
/// constants into a sequence of muls, adds, and shifts. This is a hack until