We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hello,
We believe the following generated stackmap for the attached case is wrong. This only happens on arm64. x64 is correct.
Please refer to https://llvm.org/docs/StackMaps.html#stackmap-format.
uint8 : Register | Direct | Indirect | Constant | ConstantIndex uint8 : Reserved (expected to be 0) uint16 : Location Size uint16 : Dwarf RegNum uint16 : Reserved (expected to be 0) int32 : Offset or SmallConstant
[bad]
Ltmp9-_next_criticals967_code7BCE .byte 3 # Indirect .byte 0 .short 8 .short 19 # RegNum (wrong) .short 0 .long 56 # Offset (wrong)
[good]
Ltmp9-_next_criticals967_code7BCE .byte 3 # Indirect .byte 0 .short 8 .short 29 # RegNum (correct) .short 0 .long -56 # Offset (correct)
r29 should the frame register on arm64. And the offset should be negative.
r29
llc --version LLVM (http://llvm.org/): LLVM version 17.0.2 Optimized build. Default target: arm64-apple-darwin23.6.0 Host CPU: apple-m1
Thanks, Ling
The text was updated successfully, but these errors were encountered:
case.txt bad.txt good.txt
Sorry, something went wrong.
One related question:
uint64 : Function Address uint64 : Stack Size (or UINT64_MAX if not statically known) uint64 : Record Count
.quad _next_criticals967_code7BCE .quad -1 # Stack Size .quad 33
I wonder why in this case on both arm64 and x64 I got -1 for the stack size? Even though I have many statepoints and a few more alloca instructions.
No branches or pull requests
Hello,
We believe the following generated stackmap for the attached case is wrong. This only happens on arm64. x64 is correct.
Please refer to https://llvm.org/docs/StackMaps.html#stackmap-format.
[bad]
[good]
r29
should the frame register on arm64. And the offset should be negative.Thanks,
Ling
The text was updated successfully, but these errors were encountered: