[llvm-commits] [llvm] r121728 - in /llvm/trunk: lib/Transforms/Utils/SimplifyCFG.cpp test/Transforms/SimplifyCFG/switch_create.ll
Chris Lattner
sabre at nondot.org
Mon Dec 13 15:02:20 PST 2010
Author: lattner
Date: Mon Dec 13 17:02:19 2010
New Revision: 121728
URL: http://llvm.org/viewvc/llvm-project?rev=121728&view=rev
Log:
temporarily disable part of my previous patch, which causes an iterator invalidation issue, causing a crash on some versions of perlbmk.
Modified:
llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp
llvm/trunk/test/Transforms/SimplifyCFG/switch_create.ll
Modified: llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp?rev=121728&r1=121727&r2=121728&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp Mon Dec 13 17:02:19 2010
@@ -1515,7 +1515,7 @@
AddPredecessorToBlock(FalseDest, PredBlock, BB);
PBI->setSuccessor(1, FalseDest);
}
- return SimplifyCFG(PBI->getParent()) | true;
+ return SimplifyCFG(BB) | true;
}
return false;
}
Modified: llvm/trunk/test/Transforms/SimplifyCFG/switch_create.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SimplifyCFG/switch_create.ll?rev=121728&r1=121727&r2=121728&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SimplifyCFG/switch_create.ll (original)
+++ llvm/trunk/test/Transforms/SimplifyCFG/switch_create.ll Mon Dec 13 17:02:19 2010
@@ -253,21 +253,21 @@
ret i32 %conv46
; CHECK: @test9
-; CHECK: %cmp = icmp ult i8 %c, 33
-; CHECK: br i1 %cmp, label %lor.end, label %switch.early.test
+; HECK: %cmp = icmp ult i8 %c, 33
+; HECK: br i1 %cmp, label %lor.end, label %switch.early.test
-; CHECK: switch.early.test:
-; CHECK: switch i8 %c, label %lor.rhs [
-; CHECK: i8 46, label %lor.end
-; CHECK: i8 44, label %lor.end
-; CHECK: i8 58, label %lor.end
-; CHECK: i8 59, label %lor.end
-; CHECK: i8 60, label %lor.end
-; CHECK: i8 62, label %lor.end
-; CHECK: i8 34, label %lor.end
-; CHECK: i8 92, label %lor.end
-; CHECK: i8 39, label %lor.end
-; CHECK: ]
+; HECK: switch.early.test:
+; HECK: switch i8 %c, label %lor.rhs [
+; HECK: i8 46, label %lor.end
+; HECK: i8 44, label %lor.end
+; HECK: i8 58, label %lor.end
+; HECK: i8 59, label %lor.end
+; HECK: i8 60, label %lor.end
+; HECK: i8 62, label %lor.end
+; HECK: i8 34, label %lor.end
+; HECK: i8 92, label %lor.end
+; HECK: i8 39, label %lor.end
+; HECK: ]
}
define i32 @test10(i32 %mode, i1 %Cond) {
@@ -331,3 +331,24 @@
; CHECK: i32 4, label %return
; CHECK: ]
}
+
+define void @test12() nounwind {
+entry:
+ br label %bb49.us.us
+
+bb49.us.us:
+ %A = icmp eq i32 undef, undef
+ br i1 %A, label %bb55.us.us, label %malformed
+
+bb48.us.us:
+ %B = icmp ugt i32 undef, undef
+ br i1 %B, label %bb55.us.us, label %bb49.us.us
+
+bb55.us.us:
+ br label %bb48.us.us
+
+malformed:
+ ret void
+; CHECK: @test12
+
+}
\ No newline at end of file
More information about the llvm-commits
mailing list