summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
1836bbe)
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253276
91177308-0d34-0410-b5e6-
96231b3b80d8
[(set F64:$res, fpimm:$imm)],
"f64.const\t$res, $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">;
def JUMP_TABLE : I<(outs I32:$dst), (ins tjumptable_op:$addr),
[(set I32:$dst, (WebAssemblywrapper tjumptable:$addr))],
"jump_table\t$dst, $addr">;
; CHECK-NOT: llvm.metadata
@llvm.used = appending global [1 x i32*] [i32* @g], section "llvm.metadata"
; 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:
; CHECK: .type g,@object
; CHECK: .align 2{{$}}
; CHECK-NEXT: g: