mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-12 01:25:49 +00:00
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
This commit is contained in:
@@ -389,8 +389,8 @@ class SelectionDAGLowering {
|
|||||||
struct CaseCmp {
|
struct CaseCmp {
|
||||||
bool operator () (const Case& C1, const Case& C2) {
|
bool operator () (const Case& C1, const Case& C2) {
|
||||||
assert(isa<ConstantInt>(C1.first) && isa<ConstantInt>(C2.first));
|
assert(isa<ConstantInt>(C1.first) && isa<ConstantInt>(C2.first));
|
||||||
return cast<const ConstantInt>(C1.first)->getSExtValue() <
|
return cast<const ConstantInt>(C1.first)->getZExtValue() <
|
||||||
cast<const ConstantInt>(C2.first)->getSExtValue();
|
cast<const ConstantInt>(C2.first)->getZExtValue();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user