llvm.org GIT mirror llvm / 8df3595
Remove the last traces of X86CompilationCallback as it is completely unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251035 91177308-0d34-0410-b5e6-96231b3b80d8 Eric Christopher 5 years ago
2 changed file(s) with 0 addition(s) and 78 deletion(s). Raw diff Collapse all Expand all
3535 X86WinEHState.cpp
3636 )
3737
38 if( CMAKE_CL_64 )
39 enable_language(ASM_MASM)
40 ADD_CUSTOM_COMMAND(
41 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj
42 MAIN_DEPENDENCY X86CompilationCallback_Win64.asm
43 COMMAND ${CMAKE_ASM_MASM_COMPILER} /nologo /Fo ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj /c ${CMAKE_CURRENT_SOURCE_DIR}/X86CompilationCallback_Win64.asm
44 )
45 set(sources ${sources} ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj)
46 endif()
47
4838 add_llvm_target(X86CodeGen ${sources})
4939
5040 add_subdirectory(AsmParser)
+0
-68
lib/Target/X86/X86CompilationCallback_Win64.asm less more
None ;;===-- X86CompilationCallback_Win64.asm - Implement Win64 JIT callback ---===
1 ;;
2 ;; The LLVM Compiler Infrastructure
3 ;;
4 ;; This file is distributed under the University of Illinois Open Source
5 ;; License. See LICENSE.TXT for details.
6 ;;
7 ;;===----------------------------------------------------------------------===
8 ;;
9 ;; This file implements the JIT interfaces for the X86 target.
10 ;;
11 ;;===----------------------------------------------------------------------===
12
13 extrn LLVMX86CompilationCallback2: PROC
14
15 .code
16 X86CompilationCallback proc
17 push rbp
18
19 ; Save RSP.
20 mov rbp, rsp
21
22 ; Save all int arg registers
23 ; WARNING: We cannot use register spill area - we're generating stubs by hands!
24 push rcx
25 push rdx
26 push r8
27 push r9
28
29 ; Align stack on 16-byte boundary.
30 and rsp, -16
31
32 ; Save all XMM arg registers. Also allocate reg spill area.
33 sub rsp, 96
34 movaps [rsp +32], xmm0
35 movaps [rsp+16+32], xmm1
36 movaps [rsp+32+32], xmm2
37 movaps [rsp+48+32], xmm3
38
39 ; JIT callee
40
41 ; Pass prev frame and return address.
42 mov rcx, rbp
43 mov rdx, qword ptr [rbp+8]
44 call LLVMX86CompilationCallback2
45
46 ; Restore all XMM arg registers.
47 movaps xmm3, [rsp+48+32]
48 movaps xmm2, [rsp+32+32]
49 movaps xmm1, [rsp+16+32]
50 movaps xmm0, [rsp +32]
51
52 ; Restore RSP.
53 mov rsp, rbp
54
55 ; Restore all int arg registers
56 sub rsp, 32
57 pop r9
58 pop r8
59 pop rdx
60 pop rcx
61
62 ; Restore RBP.
63 pop rbp
64 ret
65 X86CompilationCallback endp
66
67 End