[PATCH] Split the calling convention and statepoint flags operand to STATEPOINT into two separate operands.
Pat Gavlin
pagavlin at microsoft.com
Tue May 12 07:59:27 PDT 2015
I did, yes.Nearly all of the code that would be sensitive to operand indices is in StackMap.{c,h}, and it is very good about using accessors and/or symbolic offsets.
================
Comment at: include/llvm/CodeGen/StackMaps.h:100
@@ -98,1 +99,3 @@
+ enum {
+ CCOffset = 1,
----------------
reames wrote:
> Why two enums? I suspect there's a semantic difference, possibly a name or comment is appropriate?
There is a semantic difference:
- {NCallArgsPos, CallTargetPos} are absolute offsets from the start of the argument list
- {CCOfset, FlagsOffset, NumVMSArgsOffset} are relative offsets from the start of the meta-args
I'll add a comment to that effect.
================
Comment at: test/CodeGen/X86/statepoint-allocas.ll:75
@@ -74,2 +74,3 @@
; CHECK: .short 0
-; CHECK: .short 3
+; CHECK: .short 4
+; SmallConstant (0)
----------------
reames wrote:
> With this change, you're changing the public format. Thus, we need to update: http://llvm.org/docs/Statepoints.html#stack-map-format
>
> Having said that, it looks like the documentation never included the flags at all. Oops. Can you add entries for both calling convention and flags?
Will do.
http://reviews.llvm.org/D9623
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list