projects
/
oota-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
112dedc
)
don't fold fp_round(fp_extend(load)) -> fp_round(extload)
author
Chris Lattner
<sabre@nondot.org>
Sat, 29 Dec 2007 06:55:23 +0000
(06:55 +0000)
committer
Chris Lattner
<sabre@nondot.org>
Sat, 29 Dec 2007 06:55:23 +0000
(06:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45400
91177308
-0d34-0410-b5e6-
96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
patch
|
blob
|
history
diff --git
a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 242fffd180284b8978a5ae1fa477ace21b6e3ca8..0ee45575633197937e2f047bd60773d99795b294 100644
(file)
--- a/
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@
-3672,6
+3672,10
@@
SDOperand DAGCombiner::visitFP_EXTEND(SDNode *N) {
ConstantFPSDNode *N0CFP = dyn_cast<ConstantFPSDNode>(N0);
MVT::ValueType VT = N->getValueType(0);
+ // If this is fp_round(fpextend), don't fold it, allow ourselves to be folded.
+ if (N->hasOneUse() && (*N->use_begin())->getOpcode() == ISD::FP_ROUND)
+ return SDOperand();
+
// fold (fp_extend c1fp) -> c1fp
if (N0CFP && VT != MVT::ppcf128)
return DAG.getNode(ISD::FP_EXTEND, VT, N0);