mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
[WebAssembly] Fix printing of global operands
This was regressed in r252656 which wasn't quite NFC. Instead of using a custom instruction as before, use a pattern to select CONST_I32 for the global addrs. Differential Revision: http://reviews.llvm.org/D14587 llvm-svn: 253276
This commit is contained in:
parent
577e9b1072
commit
a4a11379be
@ -106,10 +106,10 @@ def CONST_F64 : I<(outs F64:$res), (ins f64imm:$imm),
|
||||
[(set F64:$res, fpimm:$imm)],
|
||||
"f64.const\t$res, $imm">;
|
||||
|
||||
// Special types of immediates. FIXME: Hard-coded as 32-bit for now.
|
||||
def GLOBAL : I<(outs I32:$dst), (ins global:$addr),
|
||||
[(set I32:$dst, (WebAssemblywrapper tglobaladdr:$addr))],
|
||||
"global\t$dst, $addr">;
|
||||
|
||||
def : Pat<(i32 (WebAssemblywrapper tglobaladdr :$dst)),
|
||||
(CONST_I32 tglobaladdr :$dst)>;
|
||||
|
||||
def JUMP_TABLE : I<(outs I32:$dst), (ins tjumptable_op:$addr),
|
||||
[(set I32:$dst, (WebAssemblywrapper tjumptable:$addr))],
|
||||
"jump_table\t$dst, $addr">;
|
||||
|
@ -9,6 +9,13 @@ target triple = "wasm32-unknown-unknown"
|
||||
; CHECK-NOT: llvm.metadata
|
||||
@llvm.used = appending global [1 x i32*] [i32* @g], section "llvm.metadata"
|
||||
|
||||
; CHECK: foo:
|
||||
; CHECK: i32.const $push, answer
|
||||
define i32 @foo() {
|
||||
%a = load i32, i32* @answer
|
||||
ret i32 %a
|
||||
}
|
||||
|
||||
; CHECK: .type g,@object
|
||||
; CHECK: .align 2{{$}}
|
||||
; CHECK-NEXT: g:
|
||||
|
Loading…
Reference in New Issue
Block a user