SelectionDAG switch lowering: use 'unsigned' to count destination popularity
authorHans Wennborg <hans@hanshq.net>
Tue, 16 Dec 2014 23:41:59 +0000 (23:41 +0000)
committerHans Wennborg <hans@hanshq.net>
Tue, 16 Dec 2014 23:41:59 +0000 (23:41 +0000)
SwitchInst::getNumCases() returns unsinged, so using uint64_t to count cases
seems unnecessary.

Also fix a missing CHECK in the test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224393 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
test/CodeGen/X86/switch-jump-table.ll

index 3c0229f2bf3677014389d9369da29de35b28d980..81b824f305e2c4b60df130106ee108c961923f68 100644 (file)
@@ -2712,8 +2712,8 @@ void SelectionDAGBuilder::visitSwitch(const SwitchInst &SI) {
       !Cases.empty()) {
     // Replace an unreachable default destination with the most popular case
     // destination.
       !Cases.empty()) {
     // Replace an unreachable default destination with the most popular case
     // destination.
-    DenseMap<const BasicBlock *, uint64_t> Popularity;
-    uint64_t MaxPop = 0;
+    DenseMap<const BasicBlock *, unsigned> Popularity;
+    unsigned MaxPop = 0;
     const BasicBlock *MaxBB = nullptr;
     for (auto I : SI.cases()) {
       const BasicBlock *BB = I.getCaseSuccessor();
     const BasicBlock *MaxBB = nullptr;
     for (auto I : SI.cases()) {
       const BasicBlock *BB = I.getCaseSuccessor();
index d1bd4bccbe047407bc02f06b87077a9a8b07dd36..a84fb4aafd17849aa5dc0c31df1cd75dbb70d97d 100644 (file)
@@ -6,7 +6,7 @@
 define void @sum2(i32 %x, i32* %to) {
 ; CHECK-LABEL: sum2:
 ; CHECK: movl 4(%esp), [[REG:%e[a-z]{2}]]
 define void @sum2(i32 %x, i32* %to) {
 ; CHECK-LABEL: sum2:
 ; CHECK: movl 4(%esp), [[REG:%e[a-z]{2}]]
-; cmpl $3, [[REG]]
+; CHECK: cmpl $3, [[REG]]
 ; CHECK: jbe .LBB0_1
 ; CHECK: movl $4
 ; CHECK: retl
 ; CHECK: jbe .LBB0_1
 ; CHECK: movl $4
 ; CHECK: retl