Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions llvm/test/tools/llvm-ml/architecture.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s --implicit-check-not=error:
; RUN: llvm-ml -m64 -filetype=s %s /Fo - | FileCheck %s --implicit-check-not=error:

.code

xor rax, rax
; CHECK: xor rax, rax

end
10 changes: 10 additions & 0 deletions llvm/test/tools/llvm-ml/architecture_errors.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
; RUN: not llvm-ml -filetype=s %s /Fo - 2>&1 | FileCheck %s
; RUN: not llvm-ml -m32 -filetype=s %s /Fo - 2>&1 | FileCheck %s
; RUN: not llvm-ml64 -m32 -filetype=s %s /Fo - 2>&1 | FileCheck %s

.code

; CHECK: :[[# @LINE + 1]]:5: error: register %rax is only available in 64-bit mode
xor rax, rax

end
2 changes: 1 addition & 1 deletion llvm/test/tools/llvm-ml/dot_operator.asm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
; RUN: llvm-ml -m64 -filetype=s %s /Fo - | FileCheck %s
; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s

.data

Expand Down
4 changes: 2 additions & 2 deletions llvm/test/tools/llvm-ml/extern.asm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
; RUN: llvm-ml -m32 -filetype=s %s /Fo - | FileCheck %s --check-prefixes=CHECK,CHECK-32
; RUN: llvm-ml -m64 -filetype=s %s /Fo - | FileCheck %s --check-prefixes=CHECK,CHECK-64
; RUN: llvm-ml -filetype=s %s /Fo - | FileCheck %s --check-prefixes=CHECK,CHECK-32
; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s --check-prefixes=CHECK,CHECK-64

extern foo : dword, bar : word, baz : proc
; CHECK: .extern foo
Expand Down
8 changes: 4 additions & 4 deletions llvm/test/tools/llvm-ml/feat00.asm
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
; RUN: llvm-ml -m32 %s /Fo - | llvm-readobj --syms - | FileCheck %s --check-prefix=CHECK-OBJ --check-prefix=CHECK-OBJ-NOSAFESEH
; RUN: llvm-ml -m64 %s /Fo - | llvm-readobj --syms - | FileCheck %s --check-prefix=CHECK-OBJ --check-prefix=CHECK-OBJ-NOSAFESEH
; RUN: llvm-ml %s /Fo - | llvm-readobj --syms - | FileCheck %s --check-prefix=CHECK-OBJ --check-prefix=CHECK-OBJ-NOSAFESEH
; RUN: llvm-ml64 %s /Fo - | llvm-readobj --syms - | FileCheck %s --check-prefix=CHECK-OBJ --check-prefix=CHECK-OBJ-NOSAFESEH

; RUN: llvm-ml -m32 -safeseh %s /Fo - | llvm-readobj --syms - | FileCheck %s --check-prefix=CHECK-OBJ --check-prefix=CHECK-OBJ-SAFESEH
; RUN: llvm-ml -m64 -safeseh %s /Fo %t.obj 2>&1 | FileCheck %s --check-prefix=CHECK-SAFESEH64
; RUN: llvm-ml -safeseh %s /Fo - | llvm-readobj --syms - | FileCheck %s --check-prefix=CHECK-OBJ --check-prefix=CHECK-OBJ-SAFESEH
; RUN: llvm-ml64 -safeseh %s /Fo %t.obj 2>&1 | FileCheck %s --check-prefix=CHECK-SAFESEH64
; RUN: llvm-readobj --syms %t.obj | FileCheck %s --check-prefix=CHECK-OBJ --check-prefix=CHECK-OBJ-NOSAFESEH

; CHECK-SAFESEH64: warning: /safeseh applies only to 32-bit X86 platforms; ignoring.
Expand Down
6 changes: 3 additions & 3 deletions llvm/test/tools/llvm-ml/feat00_override.asm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
; RUN: llvm-ml -m32 %s /Fo - | llvm-readobj --syms - | FileCheck %s
; RUN: llvm-ml -m64 %s /Fo - | llvm-readobj --syms - | FileCheck %s
; RUN: llvm-ml -m32 -safeseh %s /Fo - | llvm-readobj --syms - | FileCheck %s
; RUN: llvm-ml %s /Fo - | llvm-readobj --syms - | FileCheck %s
; RUN: llvm-ml64 %s /Fo - | llvm-readobj --syms - | FileCheck %s
; RUN: llvm-ml -safeseh %s /Fo - | llvm-readobj --syms - | FileCheck %s

.code

Expand Down
4 changes: 2 additions & 2 deletions llvm/test/tools/llvm-ml/indirect_branch.asm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
; RUN: llvm-ml -m64 -filetype=s %s /Fo - | FileCheck %s --check-prefixes=CHECK-64,CHECK
; RUN: llvm-ml -m32 -filetype=s %s /Fo - | FileCheck %s --check-prefixes=CHECK-32,CHECK
; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s --check-prefixes=CHECK-64,CHECK
; RUN: llvm-ml -filetype=s %s /Fo - | FileCheck %s --check-prefixes=CHECK-32,CHECK

ifdef rax
extern fn_ref_extern : qword
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/tools/llvm-ml/macro.asm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
; RUN: llvm-ml -m64 -filetype=s %s /Fo - | FileCheck %s
; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s

.data

Expand Down
2 changes: 1 addition & 1 deletion llvm/test/tools/llvm-ml/ml32-context.asm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
; RUN: llvm-ml -m32 -filetype=s %s /Fo - | FileCheck %s
; RUN: llvm-ml -filetype=s %s /Fo - | FileCheck %s

.386p
.model flat
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/tools/llvm-ml/nested_proc.asm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
; RUN: llvm-ml -m32 -filetype=s %s /Fo - | FileCheck %s
; RUN: llvm-ml -m64 -filetype=s %s /Fo - | FileCheck %s
; RUN: llvm-ml -filetype=s %s /Fo - | FileCheck %s
; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s

.code

Expand Down
4 changes: 2 additions & 2 deletions llvm/test/tools/llvm-ml/proc.asm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
; RUN: llvm-ml -m32 -filetype=s %s /Fo - | FileCheck %s
; RUN: llvm-ml -m64 -filetype=s %s /Fo - | FileCheck %s
; RUN: llvm-ml -filetype=s %s /Fo - | FileCheck %s
; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s

.code

Expand Down
2 changes: 1 addition & 1 deletion llvm/test/tools/llvm-ml/proc_frame.asm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
; RUN: llvm-ml -m64 -filetype=s %s /Fo - | FileCheck %s
; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s

.code

Expand Down
2 changes: 1 addition & 1 deletion llvm/test/tools/llvm-ml/repeat_directives.asm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
; RUN: llvm-ml -m64 -filetype=s %s /Fo - | FileCheck %s
; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s

.data

Expand Down
4 changes: 2 additions & 2 deletions llvm/test/tools/llvm-ml/rip_relative_addressing.asm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
; RUN: llvm-ml -m32 -filetype=s %s /Fo - | FileCheck %s --check-prefixes=CHECK,CHECK-32
; RUN: llvm-ml -m64 -filetype=s %s /Fo - | FileCheck %s --check-prefixes=CHECK,CHECK-64
; RUN: llvm-ml -filetype=s %s /Fo - | FileCheck %s --check-prefixes=CHECK,CHECK-32
; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s --check-prefixes=CHECK,CHECK-64

.data
foo DWORD 28
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/tools/llvm-ml/strings_errors.asm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
; RUN: not llvm-ml -m64 -filetype=s %s /Fo /dev/null 2>&1 | FileCheck %s --implicit-check-not=error:
; RUN: not llvm-ml64 -filetype=s %s /Fo /dev/null 2>&1 | FileCheck %s --implicit-check-not=error:

.code

Expand Down
2 changes: 1 addition & 1 deletion llvm/test/tools/llvm-ml/struct.asm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
; RUN: llvm-ml -m64 -filetype=s %s /Fo - | FileCheck %s
; RUN: llvm-ml64 -filetype=s %s /Fo - | FileCheck %s

.data
BAZ STRUCT
Expand Down
3 changes: 3 additions & 0 deletions llvm/tools/llvm-ml/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ add_llvm_tool(llvm-ml
MLTableGen
GENERATE_DRIVER
)

llvm_add_tool_symlink(LLD llvm-ml64 llvm-ml ALWAYS_GENERATE)
llvm_install_symlink(LLD llvm-ml64 llvm-ml ALWAYS_GENERATE)
8 changes: 8 additions & 0 deletions utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -5116,6 +5116,14 @@ llvm_driver_cc_binary(
deps = [":llvm-ml-lib"],
)

genrule(
name = "gen_llvm-ml64",
srcs = [":llvm-ml"],
outs = ["llvm-ml64"],
cmd = "ln -sf $$(basename $<) $@",
output_to_bindir = 1,
)

cc_binary(
name = "llvm-modextract",
srcs = glob([
Expand Down
Loading