Commit baf8124
authored
Always add the frame-pointer=all attribute (JuliaLang#57209)
At some point LLVM on MacOS started doing frame pointer optimization by
default. We should ask for a frame pointer on every function, on all
platforms.
Prior to this change, on `1.11.3+0.aarch64.apple.darwin14`:
```
julia> @code_native ((x,y) -> Core.Intrinsics.add_float(x,y))(1.0,2.0)
.section __TEXT,__text,regular,pure_instructions
.build_version macos, 15, 0
.globl "_julia_#1_678" ; -- Begin function julia_#1_678
.p2align 2
"_julia_#1_678": ; @"julia_#1_678"
; Function Signature: var"JuliaLang#1"(Float64, Float64)
; ┌ @ REPL[1]:1 within `JuliaLang#1`
; %bb.0: ; %top
; │ @ REPL[1] within `JuliaLang#1`
;DEBUG_VALUE: JuliaLang#1:x <- $d0
;DEBUG_VALUE: JuliaLang#1:x <- $d0
;DEBUG_VALUE: JuliaLang#1:y <- $d1
;DEBUG_VALUE: JuliaLang#1:y <- $d1
; │ @ REPL[1]:1 within `JuliaLang#1`
fadd d0, d0, d1
ret
; └
; -- End function
.section __DATA,__const
.p2align 3, 0x0 ; @"+Core.Float64#680"
"l_+Core.Float64#680":
.quad "l_+Core.Float64#680.jit"
.set "l_+Core.Float64#680.jit", 5490712608
.subsections_via_symbols
```
Prior to this change, on `1.11.3+0.aarch64.linux.gnu`:
```
julia> @code_native ((x,y) -> Core.Intrinsics.add_float(x,y))(1.0,2.0)
.text
.file "JuliaLang#1"
.globl "julia_#1_656" // -- Begin function julia_#1_656
.p2align 2
.type "julia_#1_656",@function
"julia_#1_656": // @"julia_#1_656"
; Function Signature: var"JuliaLang#1"(Float64, Float64)
; ┌ @ REPL[1]:1 within `JuliaLang#1`
// %bb.0: // %top
; │ @ REPL[1] within `JuliaLang#1`
//DEBUG_VALUE: JuliaLang#1:x <- $d0
//DEBUG_VALUE: JuliaLang#1:x <- $d0
//DEBUG_VALUE: JuliaLang#1:y <- $d1
//DEBUG_VALUE: JuliaLang#1:y <- $d1
stp x29, x30, [sp, #-16]! // 16-byte Folded Spill
mov x29, sp
; │ @ REPL[1]:1 within `JuliaLang#1`
fadd d0, d0, d1
ldp x29, x30, [sp], JuliaLang#16 // 16-byte Folded Reload
ret
.Lfunc_end0:
.size "julia_#1_656", .Lfunc_end0-"julia_#1_656"
; └
// -- End function
.type ".L+Core.Float64#658",@object // @"+Core.Float64#658"
.section .rodata,"a",@progbits
.p2align 3, 0x0
".L+Core.Float64#658":
.xword ".L+Core.Float64#658.jit"
.size ".L+Core.Float64#658", 8
.set ".L+Core.Float64#658.jit", 278205186835760
.size ".L+Core.Float64#658.jit", 8
.section ".note.GNU-stack","",@progbits
```1 parent 72f8a10 commit baf8124
1 file changed
+1
-16
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | 86 | | |
101 | 87 | | |
102 | 88 | | |
| |||
2970 | 2956 | | |
2971 | 2957 | | |
2972 | 2958 | | |
2973 | | - | |
2974 | | - | |
| 2959 | + | |
2975 | 2960 | | |
2976 | 2961 | | |
2977 | 2962 | | |
| |||
0 commit comments