From: Chris Lattner Date: Tue, 13 Feb 2007 01:05:56 +0000 (+0000) Subject: Fix switch lowering to order cases in zext order, which is how we emit the X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=818d42f1e81db75300223fedb75227c17ec0ef83;p=oota-llvm.git Fix switch lowering to order cases in zext order, which is how we emit the comparisons. This fixes an infinite loop on CodeGen/Generic/switch-lower.ll and PR1197 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34216 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 16d25ee2259..0dd762e58d2 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -389,8 +389,8 @@ class SelectionDAGLowering { struct CaseCmp { bool operator () (const Case& C1, const Case& C2) { assert(isa(C1.first) && isa(C2.first)); - return cast(C1.first)->getSExtValue() < - cast(C2.first)->getSExtValue(); + return cast(C1.first)->getZExtValue() < + cast(C2.first)->getZExtValue(); } };