aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@chromium.org>2013-05-30 08:39:33 -0700
committerDerek Schuff <dschuff@chromium.org>2013-05-30 08:39:33 -0700
commit5f406495406e92cddd44d3f9aa477e72dca5f37e (patch)
tree76b16deaa71bfc1d40d93ba69c1ad35032b953c2 /test/Transforms
parentc837ccdb820fca24003741c3125da2b885b1c876 (diff)
Add switch support to integer promotion pass
Odd-sized switch statements can appear in the sandboxed translator build. R=mseaborn@chromium.org BUG= https://code.google.com/p/nativeclient/issues/detail?id=3360 Review URL: https://codereview.chromium.org/15894006
Diffstat (limited to 'test/Transforms')
-rw-r--r--test/Transforms/NaCl/promote-integers.ll21
1 files changed, 20 insertions, 1 deletions
diff --git a/test/Transforms/NaCl/promote-integers.ll b/test/Transforms/NaCl/promote-integers.ll
index 19d5321c47..7fca6e1078 100644
--- a/test/Transforms/NaCl/promote-integers.ll
+++ b/test/Transforms/NaCl/promote-integers.ll
@@ -352,4 +352,23 @@ define void @undefoperand(i32 %a) {
%a40 = zext i32 %a to i40
%au = and i40 %a40, undef
ret void
-} \ No newline at end of file
+}
+
+; CHECK: @switch
+; CHECK-NEXT: %a24 = zext i16 %a to i32
+; CHECK-NEXT: switch i32 %a24, label %end [
+; CHECK-NEXT: i32 0, label %if1
+; CHECK-NEXT: i32 1, label %if2
+define void @switch(i16 %a) {
+ %a24 = zext i16 %a to i24
+ switch i24 %a24, label %end [
+ i24 0, label %if1
+ i24 1, label %if2
+ ]
+if1:
+ ret void
+if2:
+ ret void
+end:
+ ret void
+}