[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Chris Lattner
lattner at cs.uiuc.edu
Mon Jan 30 21:05:04 PST 2006
Changes in directory llvm/lib/CodeGen/SelectionDAG:
LegalizeDAG.cpp updated: 1.297 -> 1.298
---
Log message:
Only insert an AND when converting from BR_COND to BRCC if needed.
---
Diffs of the changes: (+3 -1)
LegalizeDAG.cpp | 4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)
Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.297 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.298
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.297 Mon Jan 30 16:43:50 2006
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Mon Jan 30 23:04:52 2006
@@ -703,7 +703,9 @@
} else {
// Make sure the condition is either zero or one. It may have been
// promoted from something else.
- Tmp2 = DAG.getZeroExtendInReg(Tmp2, MVT::i1);
+ unsigned NumBits = MVT::getSizeInBits(Tmp2.getValueType());
+ if (!TLI.MaskedValueIsZero(Tmp2, (~0ULL >> (64-NumBits))^1))
+ Tmp2 = DAG.getZeroExtendInReg(Tmp2, MVT::i1);
Result = DAG.getNode(ISD::BR_CC, MVT::Other, Tmp1,
DAG.getCondCode(ISD::SETNE), Tmp2,
More information about the llvm-commits
mailing list