mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-26 09:18:56 +00:00
Add a target lowering hook to control whether it's worthwhile to compress fp constant.
For x86, if sse2 is available, it's not a good idea since cvtss2sd is slower than a movsd load and it prevents load folding. On x87, it's important to shrink fp constant since fldt is very expensive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47931 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -504,7 +504,8 @@ static SDOperand ExpandConstantFP(ConstantFPSDNode *CFP, bool UseCP,
|
||||
if (CFP->isValueValidForType(SVT, CFP->getValueAPF()) &&
|
||||
// Only do this if the target has a native EXTLOAD instruction from
|
||||
// smaller type.
|
||||
TLI.isLoadXLegal(ISD::EXTLOAD, SVT)) {
|
||||
TLI.isLoadXLegal(ISD::EXTLOAD, SVT) &&
|
||||
TLI.ShouldShrinkFPConstant(VT)) {
|
||||
const Type *SType = MVT::getTypeForValueType(SVT);
|
||||
LLVMC = cast<ConstantFP>(ConstantExpr::getFPTrunc(LLVMC, SType));
|
||||
VT = SVT;
|
||||
|
Reference in New Issue
Block a user