[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Evan Cheng
evan.cheng at apple.com
Fri Jan 5 15:33:59 PST 2007
Changes in directory llvm/lib/CodeGen/SelectionDAG:
LegalizeDAG.cpp updated: 1.453 -> 1.454
---
Log message:
Expand fcopysign to the bitwise sequence if select is marked as expensive.
---
Diffs of the changes: (+6 -4)
LegalizeDAG.cpp | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.453 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.454
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.453 Fri Jan 5 15:31:51 2007
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Fri Jan 5 17:33:44 2007
@@ -2354,11 +2354,13 @@
break;
case TargetLowering::Legal: break;
case TargetLowering::Expand: {
- // If this target supports fabs/fneg natively, do this efficiently.
- if (TLI.getOperationAction(ISD::FABS, Tmp1.getValueType()) ==
- TargetLowering::Legal &&
+ // If this target supports fabs/fneg natively and select is cheap,
+ // do this efficiently.
+ if (!TLI.isSelectExpensive() &&
+ TLI.getOperationAction(ISD::FABS, Tmp1.getValueType()) ==
+ TargetLowering::Legal &&
TLI.getOperationAction(ISD::FNEG, Tmp1.getValueType()) ==
- TargetLowering::Legal) {
+ TargetLowering::Legal) {
// Get the sign bit of the RHS.
MVT::ValueType IVT =
Tmp2.getValueType() == MVT::f32 ? MVT::i32 : MVT::i64;
More information about the llvm-commits
mailing list