summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/WebAssembly/phi.ll
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2015-11-18 16:12:01 +0000
committerDan Gohman <dan433584@gmail.com>2015-11-18 16:12:01 +0000
commit4ba4816b9701aecbc757f7d806895e114908f309 (patch)
tree004f2a73e6ec83b57785b4ae0e671b8a59c20e89 /llvm/test/CodeGen/WebAssembly/phi.ll
parent272d3f17fcaa1018ddc15eb5781ae6064c760e95 (diff)
downloadbcm5719-llvm-4ba4816b9701aecbc757f7d806895e114908f309.tar.gz
bcm5719-llvm-4ba4816b9701aecbc757f7d806895e114908f309.zip
[WebAssembly] Enable register coloring and register stackifying.
This also takes the push/pop syntax another step forward, introducing stack slot numbers to make it easier to see how expressions are connected. For example, the value pushed in $push7 is popped in $pop7. And, this begins an experiment with making get_local and set_local implicit when an operation directly uses or defines a register. This greatly reduces clutter. If this experiment succeeds, it may make sense to do this for const instructions as well. And, this introduces more special code for ARGUMENTS; hopefully this code will soon be obviated by proper support for live-in virtual registers. llvm-svn: 253465
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/phi.ll')
-rw-r--r--llvm/test/CodeGen/WebAssembly/phi.ll11
1 files changed, 5 insertions, 6 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/phi.ll b/llvm/test/CodeGen/WebAssembly/phi.ll
index 25fbdca5e5b..8db0958c30f 100644
--- a/llvm/test/CodeGen/WebAssembly/phi.ll
+++ b/llvm/test/CodeGen/WebAssembly/phi.ll
@@ -8,9 +8,8 @@ target triple = "wasm32-unknown-unknown"
; Basic phi triangle.
; CHECK-LABEL: test0:
-; CHECK: div_s $push, (get_local 0), (get_local 3){{$}}
-; CHECK: set_local 0, $pop
-; CHECK: return (get_local 0)
+; CHECK: div_s $[[NUM0:[0-9]+]], $0, $pop[[NUM1:[0-9]+]]{{$}}
+; CHECK: return $[[NUM0]]{{$}}
define i32 @test0(i32 %p) {
entry:
%t = icmp slt i32 %p, 0
@@ -27,9 +26,9 @@ done:
; CHECK-LABEL: test1:
; CHECK: BB1_1:
-; CHECK: set_local [[REG0:.*]], (get_local [[REG1:.*]])
-; CHECK: set_local [[REG1]], (get_local [[REG2:.*]])
-; CHECK: set_local [[REG2]], (get_local [[REG0]])
+; CHECK: set_local $[[NUM0:[0-9]+]], $[[NUM1:[0-9]+]]{{$}}
+; CHECK: set_local $[[NUM1]], $[[NUM2:[0-9]+]]{{$}}
+; CHECK: set_local $[[NUM2]], $[[NUM0]]{{$}}
define i32 @test1(i32 %n) {
entry:
br label %loop
OpenPOWER on IntegriCloud